If seq has a dataset, dont clear it
authoramwaterhouse <Andrew Waterhouse>
Tue, 25 Jul 2006 09:33:56 +0000 (09:33 +0000)
committeramwaterhouse <Andrew Waterhouse>
Tue, 25 Jul 2006 09:33:56 +0000 (09:33 +0000)
src/jalview/datamodel/Alignment.java

index 76d9f72..90d6740 100755 (executable)
@@ -108,13 +108,23 @@ public class Alignment implements AlignmentI
     {\r
       if(dataset!=null)\r
       {\r
-        Sequence ds = new Sequence(snew.getName(),\r
-                                   AlignSeq.extractGaps("-. ", snew.getSequence()),\r
-                                   snew.getStart(),\r
-                                   snew.getEnd());\r
-\r
-        snew.setDatasetSequence(ds);\r
-        getDataset().addSequence(ds);\r
+        if(snew.getDatasetSequence()!=null)\r
+        {\r
+          System.out.println(snew.getName());\r
+          getDataset().addSequence(snew.getDatasetSequence());\r
+        }\r
+        else\r
+        {\r
+          System.out.println("CLEARED HERE");\r
+          Sequence ds = new Sequence(snew.getName(),\r
+                                     AlignSeq.extractGaps("-. ",\r
+              snew.getSequence()),\r
+                                     snew.getStart(),\r
+                                     snew.getEnd());\r
+\r
+          snew.setDatasetSequence(ds);\r
+          getDataset().addSequence(ds);\r
+        }\r
       }\r
 \r
       sequences.addElement(snew);\r
@@ -657,16 +667,22 @@ public class Alignment implements AlignmentI
         Sequence[] seqs = new Sequence[getHeight()];\r
         for (int i = 0; i < getHeight(); i++)\r
         {\r
-\r
-          seqs[i] = new Sequence(getSequenceAt(i).getName(),\r
-                                 AlignSeq.extractGaps(\r
-                                     jalview.util.Comparison.GapChars,\r
-                                     getSequenceAt(i).getSequence()\r
-                                 ),\r
-                                 getSequenceAt(i).getStart(),\r
-                                 getSequenceAt(i).getEnd());\r
-\r
-          getSequenceAt(i).setDatasetSequence(seqs[i]);\r
+          if(getSequenceAt(i).getDatasetSequence()!=null)\r
+          {\r
+            seqs[i] = (Sequence)getSequenceAt(i).getDatasetSequence();\r
+          }\r
+          else\r
+          {\r
+            seqs[i] = new Sequence(getSequenceAt(i).getName(),\r
+                                   AlignSeq.extractGaps(\r
+                                       jalview.util.Comparison.GapChars,\r
+                                       getSequenceAt(i).getSequence()\r
+                                   ),\r
+                                   getSequenceAt(i).getStart(),\r
+                                   getSequenceAt(i).getEnd());\r
+\r
+            getSequenceAt(i).setDatasetSequence(seqs[i]);\r
+          }\r
         }\r
 \r
         dataset = new Alignment(seqs);\r