## org.biojava.bio.symbol
Class SimpleAlignment

    java.lang.Object
      org.biojava.utils.AbstractChangeable
          org.biojava.bio.symbol.AbstractSymbolList
              org.biojava.bio.symbol.SimpleAlignment

All Implemented Interfaces:
  Serializable, Alignment, SymbolList, Changeable

    public class SimpleAlignment

extends AbstractSymbolList
implements Alignment, Serializable

A simple implementation of an Alignment.

This is a simple-stupid implementation that is made from a set of same-lengthed SymbolList objects each with an associated label. It does not handle differently lengthed sequences and doesn't contain any gap-editing concepts.

Author:
  Matthew Pocock, Greg Cox, Nimesh Singh
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class org.biojava.bio.symbol.AbstractSymbolList
`AbstractSymbolList.EditScreener, AbstractSymbolList.EditTranslater`

Nested classes/interfaces inherited from interface org.biojava.bio.symbol.Alignment
`Alignment.SymbolListIterator`

Field Summary

Fields inherited from interface org.biojava.bio.symbol.Alignment
`CONTENT`

Fields inherited from interface org.biojava.bio.symbol.SymbolList
`EDIT, EMPTY_LIST`

Constructor Summary
`SimpleAlignment(Map labelToResList)` Generate an alignment from a list of SymbolLists.

Method Summary
`protected void` `finalize()`
`Alphabet` `getAlphabet()` The alphabet that this SymbolList is over.
`List` `getLabels()` The list of SymbolLists in the alignment.
`int` `length()` The number of symbols in this SymbolList.
`Alignment` `subAlignment(Set labels, Location loc)` Make a view onto this alignment.
`Symbol` `symbolAt(int index)` Return the symbol at index, counting from 1.
`Symbol` `symbolAt(Object label, int column)` Retrieve a symbol by label and column.
`SymbolList` `symbolListForLabel(Object label)` Retrieve a single row of the alignment by label.
`Iterator` `symbolListIterator()` Creates an Iterator over the SymbolLists in the alignment.

Methods inherited from class org.biojava.bio.symbol.AbstractSymbolList
`edit, equals, hashCode, iterator, seqString, subList, subStr, toList, toString`

Methods inherited from class org.biojava.utils.AbstractChangeable
`addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener`

Methods inherited from class java.lang.Object
`clone, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.biojava.bio.symbol.SymbolList
`edit, iterator, seqString, subList, subStr, toList`

Methods inherited from interface org.biojava.utils.Changeable
`addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener`

Constructor Detail

### SimpleAlignment

    public SimpleAlignment(Map labelToResList)
                    throws IllegalArgumentException

  Generate an alignment from a list of SymbolLists.

  The SymbolLists must all be of the same length.

  Parameters:
    `labelToResList` - the label-to-symbol list mapping
  Throws:
    `IllegalArgumentException` - if the SymbolLists are not the same length

Method Detail

### finalize

    protected void finalize()
                     throws Throwable

  Overrides:
    `finalize` in class `Object`
  Throws:
    `Throwable`

### length

    public int length()

  Description copied from interface: `SymbolList`
  The number of symbols in this SymbolList.

  Specified by:
    `length` in interface `SymbolList`
  Returns:
    the length

### getAlphabet

    public Alphabet getAlphabet()

  Description copied from interface: `SymbolList`
  The alphabet that this SymbolList is over.

  Every symbol within this SymbolList is a member of this alphabet. `alphabet.contains(symbol) == true` for each symbol that is within this sequence.

  Specified by:
    `getAlphabet` in interface `SymbolList`
  Returns:
    the alphabet

### symbolAt

    public Symbol symbolAt(int index)

  Description copied from interface: `SymbolList`
  Return the symbol at index, counting from 1.

  Specified by:
    `symbolAt` in interface `SymbolList`
  Parameters:
    `index` - the offset into this SymbolList
  Returns:
    the Symbol at that index

### getLabels

    public List getLabels()

  Description copied from interface: `Alignment`

  The list of SymbolLists in the alignment.

  The index in the list is the same as the index in the alignment. Each SymbolList object will only be in the alignment once. However, a single underlying SymbolList may have more than one view within an alignment, each represented by a different GappedSymbolList.

  Specified by:
    `getLabels` in interface `Alignment`
  Returns:
    the List of all SymbolLists in the alignment

### symbolAt

    public Symbol symbolAt(Object label,
                           int column)

  Description copied from interface: `Alignment`
  Retrieve a symbol by label and column.

  Specified by:
    `symbolAt` in interface `Alignment`
  Parameters:
    `label` - the SymbolList to retrieve from
    `column` - the index of the column to retrieve
  Returns:
    the symbol in the symbol list associated with the label at the given column

### subAlignment

    public Alignment subAlignment(Set labels,
                                  Location loc)
                           throws NoSuchElementException

  Description copied from interface: `Alignment`

  Make a view onto this alignment.

  If labels is null, then each label will be kept. Otherwise, only those in labels will be kept. If loc is null, then the entire length of the alignment will be kept. If loc is not null, then only the columns within the location will be kept.

  Specified by:
    `subAlignment` in interface `Alignment`
  Parameters:
    `labels` - the Set of sequences to include by label
    `loc` - the Location to include
  Returns:
    a sub Alignment
  Throws:
    `NoSuchElementException` - if labels contains any item that is not a label

### symbolListForLabel

    public SymbolList symbolListForLabel(Object label)
                                  throws NoSuchElementException

  Description copied from interface: `Alignment`
  Retrieve a single row of the alignment by label.

  Specified by:
    `symbolListForLabel` in interface `Alignment`
  Parameters:
    `label` - the object from which to retrieve the symbol list
  Returns:
    a SymbolList that contains each token in a row of the alignment
  Throws:
    `NoSuchElementException` - if there is no row for 'label'

### symbolListIterator

    public Iterator symbolListIterator()

  Description copied from interface: `Alignment`
  Creates an Iterator over the SymbolLists in the alignment. This should be similar to iterating over the labels and then fetching each SymbolList, but the order is not guaranteed to be the same.

  Specified by:
    `symbolListIterator` in interface `Alignment`
  Returns:
    an Iterator