JAL-3070 JAL-3066 AlignmentI.findOrAddAnnotation(AlignmentAnnotation ala) - calls...
[jalview.git] / src / jalview / datamodel / AlignmentI.java
index 93a2456..cea1c5b 100755 (executable)
@@ -518,8 +518,6 @@ public interface AlignmentI extends AnnotatedCollectionI
    *          - null or specific sequence reference
    * @param groupRef
    *          - null or specific group reference
-   * @param method
-   *          - CalcId for the annotation (must match)
    * 
    * @return existing annotation matching the given attributes
    */
@@ -527,6 +525,17 @@ public interface AlignmentI extends AnnotatedCollectionI
           boolean autoCalc, SequenceI seqRef, SequenceGroup groupRef);
 
   /**
+   * like findOrCreateAnnotation - looks for an existing alignment annotation
+   * row with matching name, calcId, sequenceRef, groupRef and autoCalculated
+   * flag and updates it from the annotation. If none is found the annotation is
+   * added directly.
+   * 
+   * @param ala
+   * @return ala or the annotation row that was updated.
+   */
+  AlignmentAnnotation updateFromOrCopyAnnotation(AlignmentAnnotation ala);
+
+  /**
    * move the given group up or down in the alignment by the given number of
    * rows. Implementor assumes given group is already present on alignment - no
    * recalculations are triggered.
@@ -604,6 +613,16 @@ public interface AlignmentI extends AnnotatedCollectionI
   public boolean setHiddenColumns(HiddenColumns cols);
 
   /**
+   * Insert a sequence at a position in an alignment
+   * 
+   * @param i
+   *          The index of the position.
+   * @param snew
+   *          The new sequence.
+   */
+  void insertSequenceAt(int i, SequenceI snew);
+
+  /**
    * Set the first sequence as representative and hide its insertions. Typically
    * used when loading JPred files.
    */
@@ -623,5 +642,4 @@ public interface AlignmentI extends AnnotatedCollectionI
    */
   public HiddenColumns propagateInsertions(SequenceI profileseq,
           AlignmentView input);
-
 }