Merge branch 'develop' into developtomchmmer
[jalview.git] / src / jalview / datamodel / Alignment.java
index 3b0ca46..70a3cc2 100755 (executable)
@@ -291,6 +291,32 @@ public class Alignment implements AlignmentI, AutoCloseable
   }
 
   /**
+   * Inserts a sequence at a point in the alignment.
+   * 
+   * @param i
+   *          the index of the position the sequence is to be inserted in.
+   */
+  @Override
+  public void insertSequenceAt(int i, SequenceI snew)
+  {
+    synchronized (sequences)
+    {
+      if (sequences.size() > i)
+      {
+        sequences.add(i, snew);
+        return;
+
+      }
+      else
+      {
+        sequences.add(snew);
+        hiddenSequences.adjustHeightSequenceAdded();
+      }
+      return;
+    }
+  }
+
+  /**
    * DOCUMENT ME!
    * 
    * @return DOCUMENT ME!
@@ -1620,7 +1646,7 @@ public class Alignment implements AlignmentI, AutoCloseable
     annot.hasText = false;
     if (calcId != null)
     {
-      annot.setCalcId(new String(calcId));
+      annot.setCalcId(calcId);
     }
     annot.autoCalculated = autoCalc;
     if (seqRef != null)
@@ -2029,4 +2055,18 @@ public class Alignment implements AlignmentI, AutoCloseable
     }
   }
 
+  @Override
+  public List<SequenceI> getHmmSequences()
+  {
+    List<SequenceI> result = new ArrayList<>();
+    for (int i = 0; i < sequences.size(); i++)
+    {
+      SequenceI seq = sequences.get(i);
+      if (seq.hasHMMProfile())
+      {
+        result.add(seq);
+      }
+    }
+    return result;
+  }
 }