Package jebl.evolution.sequences

# Class CanonicalSequence

java.lang.Object
jebl.evolution.sequences.CanonicalSequence

All Implemented Interfaces:
  `Comparable`, `Sequence`, `Attributable`

public class CanonicalSequence extends 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

## Nested Class Summary

## Nested classes/interfaces inherited from interface jebl.util.Attributable

`Attributable.Utils`

## Constructor Summary

Constructors
Constructor
Description
`CanonicalSequence(SequenceType sequenceType, Taxon taxon, CharSequence sequenceString)`
Creates a sequence with a name corresponding to the taxon name.
`CanonicalSequence(SequenceType sequenceType, Taxon taxon, State[] states)`
Creates a sequence with a name corresponding to the taxon name

## Method Summary

Modifier and Type
Method
Description
`int`
`compareTo(Object o)`
Sequences are compared by their taxa
`Object`
`getAttribute(String name)`
`Map<String,Object>`
`getAttributeMap()`
Gets the entire attribute map.
`Set<String>`
`getAttributeNames()`
`String`
`getCleanString()`
`int`
`getLength()`
Returns the length of the sequence
`SequenceType`
`getSequenceType()`
`State`
`getState(int site)`
`byte[]`
`getStateIndices()`
`State[]`
`getStates()`
`String`
`getString()`
`Taxon`
`getTaxon()`
`void`
`removeAttribute(String name)`
`void`
`setAttribute(String name, Object value)`
Sets an named attribute for this object.
`String`
`toString()`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### CanonicalSequence

public CanonicalSequence(SequenceType sequenceType, Taxon taxon, 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:
  `sequenceType` -
  `taxon` -
  `states` -

## Method Details

### getSequenceType

public SequenceType getSequenceType()

Specified by:
  `getSequenceType` in interface `Sequence`
Returns:
  the type of symbols that this sequence is made up of.

### getString

public String getString()

Specified by:
  `getString` in interface `Sequence`
Returns:
  a string representing the sequence of symbols.

### getCleanString

public 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(Object o)
Sequences are compared by their taxa

Specified by:
  `compareTo` in interface `Comparable`
Parameters:
  `o` - another sequence
Returns:
  an integer

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### setAttribute

public void setAttribute(String name, 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 Object getAttribute(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(String name)

Specified by:
  `removeAttribute` in interface `Attributable`
Parameters:
  `name` - name of attribute to remove

### getAttributeNames

public Set<String> getAttributeNames()

Specified by:
  `getAttributeNames` in interface `Attributable`
Returns:
  an array of the attributeNames that this object has.

### getAttributeMap

public Map<String,Object> getAttributeMap()
Description copied from interface: `Attributable`
Gets the entire attribute map.

Specified by:
  `getAttributeMap` in interface `Attributable`
Returns:
  an unmodifiable map