X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequenceI.java;h=d9ffc81d8912c36ea81a33a5bee8fd4cf017a079;hb=30bc1314d4206cafea412dcd9decdea7e318481f;hp=5c15108524ec5110913f0d67c9ee0a5aca4d58a2;hpb=202c28a9c7cdcb1ffe878627bf8d2d3f98fafbb6;p=jalview.git diff --git a/src/jalview/datamodel/SequenceI.java b/src/jalview/datamodel/SequenceI.java index 5c15108..d9ffc81 100755 --- a/src/jalview/datamodel/SequenceI.java +++ b/src/jalview/datamodel/SequenceI.java @@ -29,78 +29,70 @@ import java.util.*; public interface SequenceI { /** - * DOCUMENT ME! + * Set the display name for the sequence * - * @param name DOCUMENT ME! + * @param name */ public void setName(String name); /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! + * Get the display name */ public String getName(); /** - * DOCUMENT ME! + * Set start position of first non-gapped symbol in sequence * - * @param start DOCUMENT ME! + * @param start new start position */ public void setStart(int start); /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! + * get start position of first non-gapped residue in sequence + * @return */ public int getStart(); /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! + * get the displayed id of the sequence + * @return true means the id will be returned in the form DisplayName/Start-End */ public String getDisplayId(boolean jvsuffix); /** - * DOCUMENT ME! - * - * @param end DOCUMENT ME! + * set end position for last residue in sequence + * @param end */ public void setEnd(int end); /** - * DOCUMENT ME! + * get end position for last residue in sequence + * getEnd()>getStart() unless sequence only consists of gap characters * - * @return DOCUMENT ME! + * @return */ public int getEnd(); /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! + * @return length of sequence including gaps + */ public int getLength(); /** - * DOCUMENT ME! + * Replace the sequence with the given string * - * @param sequence DOCUMENT ME! + * @param sequence new sequence string */ public void setSequence(String sequence); /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! + * @return sequence as string */ public String getSequenceAsString(); /** - * DOCUMENT ME! - * + * get a range on the seuqence as a string * @param start DOCUMENT ME! * @param end DOCUMENT ME! * @@ -116,12 +108,12 @@ public interface SequenceI public char[] getSequence(); /** - * DOCUMENT ME! + * get stretch of sequence characters in an array * - * @param start DOCUMENT ME! - * @param end DOCUMENT ME! + * @param start absolute index into getSequence() + * @param end exclusive index of last position in segment to be returned. * - * @return DOCUMENT ME! + * @return char[max(0,end-start)]; */ public char[] getSequence(int start, int end); @@ -182,6 +174,14 @@ public interface SequenceI public int[] gapMap(); /** + * Returns an int array where indices correspond to each position in + * sequence char array and the element value gives the result of findPosition + * for that index in the sequence. + * + * @return int[SequenceI.getLength()] + */ + public int[] findPositionMap(); + /** * Delete a range of aligned sequence columns, creating a new dataset sequence if necessary * and adjusting start and end positions accordingly. * @@ -234,7 +234,16 @@ public interface SequenceI */ public Vector getPDBId(); + /** + * add entry to the vector of PDBIds, if it isn't in the list already + * @param entry + */ public void addPDBId(PDBEntry entry); + /** + * update the list of PDBEntrys to include any DBRefEntrys citing structural databases + * @return true if PDBEntry list was modified + */ + public boolean updatePDBIds(); public String getVamsasId(); @@ -282,5 +291,20 @@ public interface SequenceI * @return null or array of annotations. */ public AlignmentAnnotation[] getAnnotation(String label); + /** + * create a new dataset sequence (if necessary) + * for this sequence and sets this sequence to refer to it. + * This call will move any features or references on the sequence onto the dataset. + * @return dataset sequence for this sequence + */ + public SequenceI createDatasetSequence(); + + /** + * Transfer any database references or annotation from entry + * under a sequence mapping. + * @param entry + * @param mp null or mapping from entry's numbering to local start/end + */ + public void transferAnnotation(SequenceI entry, Mapping mp); }