X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FJalview2XML.java;h=7d6d519dca2cbbd6c0514e417851997092e9e9b0;hb=dd74fc4938723fe5ec48d4e5fdcfbe58ac42a48d;hp=5b0ec154cb6f524f5e338545c953f23a83bb8a8a;hpb=2d7deb9d3e1ddc98abae846c8ffbc62606b023be;p=jalview.git diff --git a/src/jalview/gui/Jalview2XML.java b/src/jalview/gui/Jalview2XML.java index 5b0ec15..7d6d519 100755 --- a/src/jalview/gui/Jalview2XML.java +++ b/src/jalview/gui/Jalview2XML.java @@ -21,8 +21,6 @@ package jalview.gui; import jalview.schemes.*; -import jalview.gui.*; - import java.io.*; import java.net.*; @@ -58,6 +56,8 @@ public class Jalview2XML */ Hashtable viewportsAdded; + Hashtable annotationIds = new Hashtable(); + String uniqueSetSuffix = ""; @@ -142,7 +142,7 @@ public class Jalview2XML } // USE THIS METHOD TO SAVE A SINGLE ALIGNMENT WINDOW - public void SaveAlignment(AlignFrame af, String jarFile, + public boolean SaveAlignment(AlignFrame af, String jarFile, String fileName) { try @@ -163,10 +163,12 @@ public class Jalview2XML out.close(); jout.close(); + return true; } catch (Exception ex) { ex.printStackTrace(); + return false; } } @@ -215,9 +217,11 @@ public class Jalview2XML //SAVE SEQUENCES int id = 0; + jalview.datamodel.SequenceI jds; for (int i = 0; i < jal.getHeight(); i++) { - id = jal.getSequenceAt(i).hashCode(); + jds = jal.getSequenceAt(i); + id = jds.hashCode(); if(seqRefIds.get(id+"")!=null) { @@ -227,14 +231,14 @@ public class Jalview2XML { vamsasSeq = new Sequence(); vamsasSeq.setId(id + ""); - vamsasSeq.setName(jal.getSequenceAt(i).getName()); - vamsasSeq.setSequence(jal.getSequenceAt(i).getSequence()); - vamsasSeq.setDescription(jal.getSequenceAt(i).getDescription()); + vamsasSeq.setName(jds.getName()); + vamsasSeq.setSequence(jds.getSequenceAsString()); + vamsasSeq.setDescription(jds.getDescription()); - if (jal.getSequenceAt(i).getDatasetSequence().getDBRef() != null) + if (jds.getDatasetSequence().getDBRef() != null) { jalview.datamodel.DBRefEntry[] dbrefs = - jal.getSequenceAt(i).getDatasetSequence().getDBRef(); + jds.getDatasetSequence().getDBRef(); for (int d = 0; d < dbrefs.length; d++) { @@ -251,36 +255,39 @@ public class Jalview2XML } jseq = new JSeq(); - jseq.setStart(jal.getSequenceAt(i).getStart()); - jseq.setEnd(jal.getSequenceAt(i).getEnd()); - jseq.setColour(jal.getSequenceAt(i).getColor().getRGB()); + jseq.setStart(jds.getStart()); + jseq.setEnd(jds.getEnd()); + jseq.setColour( av.getSequenceColour(jds).getRGB()); jseq.setId(id); if (av.hasHiddenRows) { - jseq.setHidden(av.alignment.getHiddenSequences().isHidden( - jal.getSequenceAt(i))); + jseq.setHidden(av.alignment.getHiddenSequences().isHidden(jds)); - if(jal.getSequenceAt(i).getHiddenSequences()!=null) + if(av.hiddenRepSequences!=null + && av.hiddenRepSequences.containsKey(jal.getSequenceAt(i))) { - jalview.datamodel.SequenceI [] reps = - jal.getSequenceAt(i).getHiddenSequences().getSequencesInOrder(jal); + jalview.datamodel.SequenceI[] reps = + ( (jalview.datamodel.SequenceGroup) + av.hiddenRepSequences.get( + jal.getSequenceAt(i))).getSequencesInOrder(jal); for(int h=0; h