org.biojava.bio.alignment
Class AbstractULAlignment

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojava.bio.symbol.AbstractSymbolList
          extended by 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)