*/
package jalview.datamodel;
+import jalview.datamodel.Sequence.DBModList;
import jalview.datamodel.features.SequenceFeaturesI;
import jalview.util.MapList;
+import jalview.ws.params.InvalidArgumentException;
import java.util.BitSet;
import java.util.Iterator;
public HiddenMarkovModel getHMM();
public void setHMM(HiddenMarkovModel hmm);
-
/**
* Get the display name
*/
public int getLength();
/**
+ * Replace the sequence with the given characters
+ *
+ * @param sequence
+ * new sequence characters
+ */
+ public void setSequence(char[] sequence);
+
+ /**
* Replace the sequence with the given string
*
* @param sequence
* get a range on the sequence as a string
*
* @param start
- * position relative to start of sequence including gaps (from 0)
+ * (inclusive) position relative to start of sequence including gaps
+ * (from 0)
* @param end
- * position relative to start of sequence including gaps (from 0)
+ * (exclusive) position relative to start of sequence including gaps
+ * (from 0)
*
* @return String containing all gap and symbols in specified range
*/
public int findPosition(int i);
/**
- * Returns the from-to sequence positions (start..) for the given column
- * positions (1..), or null if no residues are included in the range
+ * Returns the sequence positions for first and last residues lying within the
+ * given column positions [fromColum,toColumn] (where columns are numbered
+ * from 1), or null if no residues are included in the range
*
* @param fromColum
+ * - first column base 1. (0 and negative positions are rounded up)
* @param toColumn
- * @return
+ * - last column, base 1
+ * @return null if fromColum>toColumn
*/
- public Range findPositions(int fromColum, int toColumn);
+ public ContiguousI findPositions(int fromColum, int toColumn);
/**
* Returns an int array where indices correspond to each residue in the
/**
* set the array of Database references for the sequence.
*
+ * BH 2019.02.04 changes param to DBModlist
+ *
* @param dbs
* @deprecated - use is discouraged since side-effects may occur if DBRefEntry
* set are not normalised.
+ * @throws InvalidArgumentException if the is not one created by Sequence itself
*/
@Deprecated
- public void setDBRefs(DBRefEntry[] dbs);
+ public void setDBRefs(DBModList<DBRefEntry> dbs);
- public DBRefEntry[] getDBRefs();
+ public DBModList<DBRefEntry> getDBRefs();
/**
* add the given entry to the list of DBRefs for this sequence, or replace a
public SequenceI getDatasetSequence();
/**
+ * Returns the top grandparent in the dataset sequences hierarchy
+ * or null if there is no dataset associated with this sequence.
+ */
+ public default SequenceI getRootDatasetSequence()
+ {
+ if (getDatasetSequence() == null)
+ {
+ return null;
+ }
+ var sequence = getDatasetSequence();
+ while (sequence.getDatasetSequence() != null)
+ {
+ sequence = sequence.getDatasetSequence();
+ }
+ return sequence;
+ }
+
+ /**
* Returns a new array containing this sequence's annotations, or null.
*/
public AlignmentAnnotation[] getAnnotation();
String label);
/**
+ * Returns a (possibly empty) list of any annotations that match on given
+ * calcId (source), label (type) and description (observation instance).
+ * Null values do not match.
+ *
+ * @param calcId
+ * @param label
+ * @param description
+ */
+ public List<AlignmentAnnotation> getAlignmentAnnotations(String calcId,
+ String label, String description);
+ /**
* 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. It will also make a duplicate
* list
*/
public List<DBRefEntry> getPrimaryDBRefs();
-
- boolean isHMMConsensusSequence();
-
- void setIsHMMConsensusSequence(boolean isHMMConsensusSequence);
-
/**
* Answers true if the sequence has annotation for Hidden Markov Model
* information content, else false
* @param c1
* @param c2
*/
- int replace(char c1, char c2);
+ public int replace(char c1, char c2);
/**
* Answers the GeneLociI, or null if not known
* @return first residue not contained in regions
*/
public int firstResidueOutsideIterator(Iterator<int[]> it);
+
+
+ /**
+ * Answers true if this sequence has an associated Hidden Markov Model
+ *
+ * @return
+ */
+ boolean hasHMMProfile();
}
+