added shiftList to record changes in alignment column positions.
[jalview.git] / src / jalview / datamodel / Alignment.java
index d67592a..c839271 100755 (executable)
@@ -70,7 +70,7 @@ public class Alignment implements AlignmentI
      * @param seqs SeqCigar[]
      */
     public Alignment(SeqCigar[] alseqs) {
-      SequenceI[] seqs = SeqCigar.createAlignmentSequences(alseqs, gapCharacter, new ColumnSelection());
+      SequenceI[] seqs = SeqCigar.createAlignmentSequences(alseqs, gapCharacter, new ColumnSelection(), null);
       initAlignment(seqs);
     }
     /**
@@ -427,6 +427,28 @@ public class Alignment implements AlignmentI
         return null;
     }
 
+    public SequenceI [] findSequenceMatch(String name)
+    {
+      Vector matches = new Vector();
+      int i = 0;
+
+      while (i < sequences.size())
+      {
+          if (getSequenceAt(i).getName().equals(name))
+          {
+              matches.addElement(getSequenceAt(i));
+          }
+          i++;
+      }
+
+      SequenceI [] result = new SequenceI[matches.size()];
+      for(i=0; i<result.length; i++)
+        result[i] = (SequenceI)matches.elementAt(i);
+
+      return result;
+
+    }
+
 
     /**    */
     public int findIndex(SequenceI s)
@@ -711,7 +733,8 @@ public class Alignment implements AlignmentI
                                    ),
                                    getSequenceAt(i).getStart(),
                                    getSequenceAt(i).getEnd());
-
+            seqs[i].sequenceFeatures = getSequenceAt(i).getSequenceFeatures();
+            getSequenceAt(i).setSequenceFeatures(null);
             getSequenceAt(i).setDatasetSequence(seqs[i]);
           }
         }