Class CanonicalSequence

  • All Implemented Interfaces:
    java.lang.Comparable, Sequence, Attributable

    public class CanonicalSequence
    extends java.lang.Object
    implements Sequence
    A default implementation of the Sequence interface that converts sequence characters to States such that calling getString() will always return uppercase residues with nucleotide U residues converted to T
    Version:
    $Id: BasicSequence.java 641 2007-02-16 11:56:21Z rambaut $
    Author:
    Andrew Rambaut, Alexei Drummond
    • Constructor Detail

      • CanonicalSequence

        public CanonicalSequence​(SequenceType sequenceType,
                                 Taxon taxon,
                                 java.lang.CharSequence sequenceString)
        Creates a sequence with a name corresponding to the taxon name. Use CharSequence so both a String and a StringBuilder are fine
        Parameters:
        taxon -
        sequenceString -
      • CanonicalSequence

        public CanonicalSequence​(SequenceType sequenceType,
                                 Taxon taxon,
                                 State[] states)
        Creates a sequence with a name corresponding to the taxon name
        Parameters:
        taxon -
        sequenceType -
        states -
    • Method Detail

      • getString

        public java.lang.String getString()
        Specified by:
        getString in interface Sequence
        Returns:
        a string representing the sequence of symbols.
      • getCleanString

        public java.lang.String getCleanString()
      • getStates

        public State[] getStates()
        Specified by:
        getStates in interface Sequence
        Returns:
        an array of state objects.
      • getStateIndices

        public byte[] getStateIndices()
        Specified by:
        getStateIndices in interface Sequence
        Returns:
        an array of state indices.
      • getState

        public State getState​(int site)
        Specified by:
        getState in interface Sequence
        Returns:
        the state at site.
      • getLength

        public int getLength()
        Returns the length of the sequence
        Specified by:
        getLength in interface Sequence
        Returns:
        the length
      • getTaxon

        public Taxon getTaxon()
        Specified by:
        getTaxon in interface Sequence
        Returns:
        that taxon that this sequence represents (primarily used to match sequences with tree nodes)
      • compareTo

        public int compareTo​(java.lang.Object o)
        Sequences are compared by their taxa
        Specified by:
        compareTo in interface java.lang.Comparable
        Parameters:
        o - another sequence
        Returns:
        an integer
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 java.lang.Object value)
        Description copied from interface: Attributable
        Sets an named attribute for this object.
        Specified by:
        setAttribute in interface Attributable
        Parameters:
        name - the name of the attribute.
        value - the new value of the attribute.
      • getAttribute

        public java.lang.Object getAttribute​(java.lang.String name)
        Specified by:
        getAttribute in interface Attributable
        Parameters:
        name - the name of the attribute of interest, or null if the attribute doesn't exist.
        Returns:
        an object representing the named attributed for this object.
      • removeAttribute

        public void removeAttribute​(java.lang.String name)
        Specified by:
        removeAttribute in interface Attributable
        Parameters:
        name - name of attribute to remove
      • getAttributeNames

        public java.util.Set<java.lang.String> getAttributeNames()
        Specified by:
        getAttributeNames in interface Attributable
        Returns:
        an array of the attributeNames that this object has.
      • getAttributeMap

        public java.util.Map<java.lang.String,​java.lang.Object> getAttributeMap()
        Description copied from interface: Attributable
        Gets the entire attribute map.
        Specified by:
        getAttributeMap in interface Attributable
        Returns:
        an unmodifiable map