stores reference to dataset sequence if present
[jalview.git] / src / jalview / analysis / SeqsetUtils.java
index bd0f45c..06a8192 100755 (executable)
@@ -49,10 +49,10 @@ public class SeqsetUtils
     sqinfo.put("Name", seq.getName());\r
     sqinfo.put("Start", new Integer(seq.getStart()));\r
     sqinfo.put("End", new Integer(seq.getEnd()));\r
-    sqinfo.put("SeqFeatures", seq.getSequenceFeatures());\r
+    sqinfo.put("SeqFeatures", (seq.getSequenceFeatures() !=null) ? seq.getSequenceFeatures() : new Vector());\r
     sqinfo.put("PdbId",\r
                (seq.getPDBId() != null) ? seq.getPDBId() : new String(""));\r
-\r
+    sqinfo.put("datasetSequence", (seq.getDatasetSequence() !=null) ? seq.getDatasetSequence() : new Sequence("THISISAPLACEHOLDER",""));\r
     return sqinfo;\r
   }\r
 \r
@@ -72,7 +72,7 @@ public class SeqsetUtils
     java.util.Vector sfeatures = (java.util.Vector) sqinfo.get(\r
         "SeqFeatures");\r
     String pdbid = (String) sqinfo.get("PdbId");\r
-\r
+    Sequence seqds = (Sequence) sqinfo.get("datasetSequence");\r
     if (oldname == null)\r
     {\r
       namePresent = false;\r
@@ -93,10 +93,13 @@ public class SeqsetUtils
       sq.setEnd(end.intValue());\r
     }\r
 \r
-    if (sfeatures != null)\r
+    if ((sfeatures != null) && (sfeatures.size()>0))\r
     {\r
       sq.setSequenceFeatures(sfeatures);\r
     }\r
+    if ((seqds!=null) && !(seqds.getName().equals("THISISAPLACEHOLDER") && seqds.getLength()==0)) {\r
+      sq.setDatasetSequence(seqds);\r
+    }\r
 \r
     return namePresent;\r
   }\r