Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.9, 2.10.0
-
Fix Version/s: 2.11.0
-
Component/s: None
-
Labels:None
Description
Triggered by [~gmungoc]'s comment: https://issues.jalview.org/browse/JAL-2541?focusedCommentId=19700&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-19700
Import a sequence and execute the following groovy script via the groovy console:
print System.identityHashCode((java.lang.Object)jalview.bin.Jalview.currentAlignFrame.getViewport().getAlignment().getDataset())
Create a new view and execute the script again on that view - the AlignmentI.getDataset() method has returned a different object.
This can lead to problems as the dataset for each view can go out of sync (e.g. after a CDS retrieval in one view, and then a CDS-retrieval in the other, there are now two distinct CDS sequences associated with the same protein product.. one added to each dataset). It also explains the 'Duplicate entry" error when writing projects involving several views:
Writing jar entry uniref50.fa.xml
Writing jar entry uniref50.fa_1.xml
Writing jar entry uniref50.fa_2.xml
Writing jar entry uniref50.fa_3.xml
Writing jar entry 0uniref50.fa_4.xml
Writing jar entry 1uniref50.fa_4.xml
Writing jar entry 967442952 Dataset for /Users/jprocter/git/jalview/examples/uniref50.fa.xml
Writing jar entry 967442952 Dataset for /Users/jprocter/git/jalview/examples/uniref50.fa.xml
java.util.zip.ZipException: duplicate entry: 967442952 Dataset for /Users/jprocter/git/jalview/examples/uniref50.fa.xml
at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:232)
at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109)
at jalview.gui.Jalview2XML.saveState(Jalview2XML.java:1433)
at jalview.gui.Jalview2XML.writeDatasetFor(Jalview2XML.java:679)
at jalview.gui.Jalview2XML.saveAllFrames(Jalview2XML.java:566)
at jalview.gui.Jalview2XML.saveState(Jalview2XML.java:499)
at jalview.gui.Jalview2XML.saveState(Jalview2XML.java:454)
at jalview.gui.Desktop$14.run(Desktop.java:1600)
at java.lang.Thread.run(Thread.java:745)
Import a sequence and execute the following groovy script via the groovy console:
print System.identityHashCode((java.lang.Object)jalview.bin.Jalview.currentAlignFrame.getViewport().getAlignment().getDataset())
Create a new view and execute the script again on that view - the AlignmentI.getDataset() method has returned a different object.
This can lead to problems as the dataset for each view can go out of sync (e.g. after a CDS retrieval in one view, and then a CDS-retrieval in the other, there are now two distinct CDS sequences associated with the same protein product.. one added to each dataset). It also explains the 'Duplicate entry" error when writing projects involving several views:
Writing jar entry uniref50.fa.xml
Writing jar entry uniref50.fa_1.xml
Writing jar entry uniref50.fa_2.xml
Writing jar entry uniref50.fa_3.xml
Writing jar entry 0uniref50.fa_4.xml
Writing jar entry 1uniref50.fa_4.xml
Writing jar entry 967442952 Dataset for /Users/jprocter/git/jalview/examples/uniref50.fa.xml
Writing jar entry 967442952 Dataset for /Users/jprocter/git/jalview/examples/uniref50.fa.xml
java.util.zip.ZipException: duplicate entry: 967442952 Dataset for /Users/jprocter/git/jalview/examples/uniref50.fa.xml
at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:232)
at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109)
at jalview.gui.Jalview2XML.saveState(Jalview2XML.java:1433)
at jalview.gui.Jalview2XML.writeDatasetFor(Jalview2XML.java:679)
at jalview.gui.Jalview2XML.saveAllFrames(Jalview2XML.java:566)
at jalview.gui.Jalview2XML.saveState(Jalview2XML.java:499)
at jalview.gui.Jalview2XML.saveState(Jalview2XML.java:454)
at jalview.gui.Desktop$14.run(Desktop.java:1600)
at java.lang.Thread.run(Thread.java:745)