X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fdatamodel%2FSequenceI.java;h=e81553b9e18c7ccce8a63ffed813249dd79dac8e;hb=39d49ec61c046327da8a35a5fddfd1ade1ff6d7a;hp=3808966b72d05f1eb830641f3a34eefbfea786fb;hpb=ad15cff29620f960119f80176f1fd443da9f6763;p=jalview.git diff --git a/src/jalview/datamodel/SequenceI.java b/src/jalview/datamodel/SequenceI.java index 3808966..e81553b 100755 --- a/src/jalview/datamodel/SequenceI.java +++ b/src/jalview/datamodel/SequenceI.java @@ -26,12 +26,13 @@ import java.util.Vector; import fr.orsay.lri.varna.models.rna.RNA; /** - * DOCUMENT ME! + * Methods for manipulating a sequence, its metadata and related annotation in + * an alignment or dataset. * * @author $author$ * @version $Revision$ */ -public interface SequenceI +public interface SequenceI extends ASequenceI { /** * Set the display name for the sequence @@ -134,12 +135,13 @@ public interface SequenceI public char[] getSequence(int start, int end); /** - * create a new sequence object from start to end of this sequence + * create a new sequence object with a subsequence of this one but sharing the + * same dataset sequence * * @param start - * int index for start position + * int index for start position (base 0, inclusive) * @param end - * int index for end position + * int index for end position (base 0, exclusive) * * @return SequenceI * @note implementations may use getSequence to get the sequence data @@ -172,8 +174,7 @@ public interface SequenceI public String getDescription(); /** - * Return the alignment column for a sequence position * Return the alignment - * position for a sequence position + * Return the alignment column for a sequence position * * @param pos * lying from start to end @@ -188,12 +189,13 @@ public interface SequenceI public int findIndex(int pos); /** - * Returns the sequence position for an alignment position + * Returns the sequence position for an alignment position. * * @param i * column index in alignment (from 0.. ids); /** - * DOCUMENT ME! + * Returns a list * * @return DOCUMENT ME! */ - public Vector getPDBId(); + public Vector getAllPDBEntries(); /** - * add entry to the vector of PDBIds, if it isn't in the list already + * Adds the entry to the *normalised* list of PDBIds. + * + * If a PDBEntry is passed with the same entry.getID() string as one already + * in the list, or one is added that appears to be the same but has a chain ID + * appended, then the existing PDBEntry will be updated with the new + * attributes instead, unless the entries have distinct chain codes or + * associated structure files. * * @param entry + * @return true if the entry was added, false if updated */ - public void addPDBId(PDBEntry entry); + public boolean addPDBId(PDBEntry entry); /** * update the list of PDBEntrys to include any DBRefEntrys citing structural @@ -295,9 +318,17 @@ public interface SequenceI public void setVamsasId(String id); - public void setDBRef(DBRefEntry[] dbs); + /** + * set the array of Database references for the sequence. + * + * @param dbs + * @deprecated - use is discouraged since side-effects may occur if DBRefEntry + * set are not normalised. + */ + @Deprecated + public void setDBRefs(DBRefEntry[] dbs); - public DBRefEntry[] getDBRef(); + public DBRefEntry[] getDBRefs(); /** * add the given entry to the list of DBRefs for this sequence, or replace a @@ -307,7 +338,14 @@ public interface SequenceI */ public void addDBRef(DBRefEntry entry); - public void addSequenceFeature(SequenceFeature sf); + /** + * Adds the given sequence feature and returns true, or returns false if it is + * already present on the sequence + * + * @param sf + * @return + */ + public boolean addSequenceFeature(SequenceFeature sf); public void deleteFeature(SequenceFeature sf); @@ -382,8 +420,8 @@ public interface SequenceI /** * Transfer any database references or annotation from entry under a sequence * mapping.
- * Note: DOES NOT transfer sequence associated alignment - * annotation
+ * Note: DOES NOT transfer sequence associated alignment annotation + *
* * @param entry * @param mp @@ -420,4 +458,22 @@ public interface SequenceI */ public List getInsertions(); + /** + * Given a pdbId String, return the equivalent PDBEntry if available in the + * given sequence + * + * @param pdbId + * @return + */ + public PDBEntry getPDBEntry(String pdbId); + + /** + * Get all primary database/accessions for this sequence's data. These + * DBRefEntry are expected to resolve to a valid record in the associated + * external database, either directly or via a provided 1:1 Mapping. + * + * @return just the primary references (if any) for this sequence, or an empty + * list + */ + public List getPrimaryDBRefs(); }