Class SymbolListViews
- java.lang.Object
-
- org.biojava.bio.symbol.SymbolListViews
-
public final class SymbolListViews extends Object
Tools class for constructing views ofSymbolList
objects.- Since:
- 1.2
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Alignment
alignment(List labels, SymbolList symList)
View a SymbolList over a cross-product Alphabet as an Alignment.static Alignment
alignment(Map labelToSymList)
Construct an alignment of the SymbolLists contained in the values collection oflabelToSymList
.static SymbolList
emptyList(Alphabet alpha)
Get a new immutable, empty symbol list with the given alphabet.static SymbolList
orderNSymbolList(SymbolList source, int order)
An n-th order view of another SymbolList.static SymbolList
reverse(SymbolList symbols)
A reversed view onto a SymbolList.static SymbolList
subList(SymbolList parent, int start, int end)
View a portion of a SymbolList.static SymbolList
translate(SymbolList symbols, TranslationTable table)
Provides a 'translated' view of an underlying SymbolList.static SymbolList
windowedSymbolList(SymbolList source, int wsize)
A view of windows onto another SymbolList.
-
-
-
Method Detail
-
orderNSymbolList
public static SymbolList orderNSymbolList(SymbolList source, int order) throws IllegalAlphabetException
An n-th order view of another SymbolList.In practice, what this means is that you can view a DNA sequence into an overlapping dinucleotide sequence without having to do any work yourself.
- Parameters:
source
- The underlying SymbolList to vieworder
- The window size- Throws:
IllegalAlphabetException
-
windowedSymbolList
public static SymbolList windowedSymbolList(SymbolList source, int wsize) throws IllegalArgumentException
A view of windows onto another SymbolList.In practice, what this means is that you can view a DNA sequence as codons which do not overlap.
- Parameters:
source
- The underlying SymbolList to viewwsize
- The window size.- Throws:
IllegalArgumentException
- if the symbollist length isn't an integer multiple of wsize.
-
reverse
public static SymbolList reverse(SymbolList symbols)
A reversed view onto a SymbolList.- Parameters:
symbols
- the SymbolList to reverse.
-
translate
public static SymbolList translate(SymbolList symbols, TranslationTable table) throws IllegalAlphabetException
Provides a 'translated' view of an underlying SymbolList.This method allows you to translate from one alphabet into another, so for example, you could translate from DNA-triplets into amino-acids. You could also translate from DNA-dinucleotide into the 'twist' structural metric, or any other translation that takes your fancy.
The actual mapping from source to view Symbol is encapsulated in a TranslationTable object.
The translated SymbolList will be the same length as the source, and each Symbol in the view will correspond to a single Symbol in the source.
- Parameters:
symbols
- a SymbolList to translate.table
- a translation table for mapping symbols.- Throws:
IllegalAlphabetException
-
alignment
public static Alignment alignment(Map labelToSymList) throws IllegalArgumentException
Construct an alignment of the SymbolLists contained in the values collection oflabelToSymList
.- Parameters:
labelToSymList
- A Map containing label -> SymbolList mappings- Throws:
IllegalArgumentException
-
alignment
public static Alignment alignment(List labels, SymbolList symList) throws IllegalArgumentException
View a SymbolList over a cross-product Alphabet as an Alignment.- Parameters:
labels
- a List of labels, which should be the same length as the ordersymList
's Alphabet.symList
- a SymbolList over a cross-product alphabet.- Throws:
IllegalArgumentException
-
subList
public static SymbolList subList(SymbolList parent, int start, int end) throws IllegalArgumentException
View a portion of a SymbolList. Unlike SymbolList.subList, this method is guarenteed to return a view, which will change when the underlying SymbolList is modified.- Parameters:
parent
- the SymbolList to viewstart
- the first index to include in the viewend
- the last index to include in the view- Throws:
IllegalArgumentException
- if the start or end points fall outside the parent SymbolList.- Since:
- 1.4
-
emptyList
public static SymbolList emptyList(Alphabet alpha)
Get a new immutable, empty symbol list with the given alphabet.- Parameters:
alpha
- the Alphabet this symbol list is over- Returns:
- a new empty SymbolList
- Since:
- 1.4
-
-