## org.biojava.bio.alignment
Class AbstractULAlignment

    java.lang.Object
      org.biojava.utils.AbstractChangeable
          org.biojava.bio.symbol.AbstractSymbolList
              org.biojava.bio.alignment.AbstractULAlignment

All Implemented Interfaces:
  UnequalLengthAlignment, Alignment, SymbolList, Changeable

Direct Known Subclasses:
  FlexibleAlignment

    public abstract class AbstractULAlignment

extends AbstractSymbolList
implements UnequalLengthAlignment

Nested Class Summary
`class` `AbstractULAlignment.LeftRightLocationComparator` Orders by location left to right.
`class` `AbstractULAlignment.SubULAlignment`

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
`protected Alphabet` `alphabet`

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

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

Constructor Summary
`AbstractULAlignment()`

Method Summary
`protected void` `debug(String s)`
`List` `labelsAt(int column)` Returns a list labels, of all seqs that cover that column
`List` `labelsInRange(Location loc)` Returns list of all the labels that intersect that range
`Object` `leftMost()` leftMost and rightMost return labels.
`SortedSet` `orderedLables(Comparator comp)`
`Object` `rightMost()`
`Alignment` `subAlignment(Set labels, int min, int max)` Retreives a subAlignment
`Alignment` `subAlignment(Set labels, Location loc)` Retrieves a subalignment specified by the location.
`Symbol` `symbolAt(int index)` this will return the ambiguity symbol associated with all symbols in that column
`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, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.biojava.bio.alignment.UnequalLengthAlignment
`locInAlignment`

Methods inherited from interface org.biojava.bio.symbol.Alignment
`getLabels, symbolAt, symbolListForLabel`

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

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

Field Detail

### alphabet

    protected Alphabet alphabet

Constructor Detail

### AbstractULAlignment

    public AbstractULAlignment()

Method Detail

### symbolAt

    public Symbol symbolAt(int index)

  this will return the ambiguity symbol associated with all symbols in that column

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

### labelsAt

    public List labelsAt(int column)

  Description copied from interface: `UnequalLengthAlignment`
  Returns a list labels, of all seqs that cover that column

  Specified by:
    `labelsAt` in interface `UnequalLengthAlignment`

### labelsInRange

    public List labelsInRange(Location loc)

  Description copied from interface: `UnequalLengthAlignment`
  Returns list of all the labels that intersect that range

  Specified by:
    `labelsInRange` in interface `UnequalLengthAlignment`

### 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

### debug

    protected void debug(String s)

### leftMost

    public Object leftMost()

  leftMost and rightMost return labels. If there are more than one that start at the same location it returns the longest, if they are the same length it returns the first one it found;

### rightMost

    public Object rightMost()

### subAlignment

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

  Retrieves a subalignment specified by the location.

  WARNING: It is assumed that the location is contiguous. If the location is non-contiguous it may be preferable to use a block iterator to retrieve each sub location independently.

  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:
    `IndexOutOfBoundsException`
  See Also:
    `subAlignment(Set labels, int min, int max)`

### subAlignment

    public Alignment subAlignment(Set labels,
                                  int min,
                                  int max)
                           throws NoSuchElementException

  Retreives a subAlignment

  Parameters:
    `labels` - the labels of the `SymbolLists` to be in the Alignment
    `min` - the left most coordinate
    `max` - the right most coordinate
  Returns:
    an Alignment
  Throws:
    `NoSuchElementException` - if one of the values in `labels` is not in the parent alignment

### orderedLables

    public SortedSet orderedLables(Comparator comp)