case invariant matching of seqeunce feature to sequence id string
[jalview.git] / src / jalview / datamodel / AlignmentI.java
index 9141a51..558b38d 100755 (executable)
@@ -178,11 +178,15 @@ public interface AlignmentI
   public void setAnnotationIndex(AlignmentAnnotation aa, int index);
 
   /**
-   * Deletes a specific AlignmentAnnotation from the alignment.
-   *
+   * Deletes a specific AlignmentAnnotation from the alignment,
+   * and removes its reference from any SequenceI object's annotation
+   * if and only if aa is contained within the alignment's annotation
+   * vector. Otherwise, it will do nothing.
+   * 
    * @param aa the annotation to delete
+   * @return true if annotation was deleted from this alignment.
    */
-  public void deleteAnnotation(AlignmentAnnotation aa);
+  public boolean deleteAnnotation(AlignmentAnnotation aa);
 
   /**
    * Get the annotation associated with this alignment
@@ -263,4 +267,39 @@ public interface AlignmentI
    * @return hashtable of alignment properties (or null if none are defined)
    */
   public Hashtable getProperties();
+
+  /**
+   * add a reference to a frame of aligned codons for this alignment
+   * @param codons
+   */
+  public void addCodonFrame(AlignedCodonFrame codons);
+  /**
+   * remove a particular codon frame reference from this alignment
+   * @param codons
+   * @return true if codon frame was removed.
+   */
+  public boolean removeCodonFrame(AlignedCodonFrame codons);
+  /**
+   * get all codon frames associated with this alignment
+   * @return
+   */
+  public AlignedCodonFrame[] getCodonFrames();
+  /**
+   * get a particular codon frame
+   * @param index
+   * @return
+   */
+  public AlignedCodonFrame getCodonFrame(int index);
+  /**
+   * get codon frames involving sequenceI
+   */
+  public AlignedCodonFrame[] getCodonFrame(SequenceI seq);
+  /**
+   * find sequence with given name in alignment
+   * @param token name to find
+   * @param b true implies that case insensitive matching will <em>also</em> be tried 
+   * @return matched sequence or null
+   */
+  public SequenceI findName(String token, boolean b);
+  
 }