Class SymbolListViews
- java.lang.Object
-
- org.biojava.bio.symbol.SymbolListViews
-
public final class SymbolListViews extends Object
Tools class for constructing views ofSymbolListobjects.- Since:
- 1.2
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Alignmentalignment(List labels, SymbolList symList)View a SymbolList over a cross-product Alphabet as an Alignment.static Alignmentalignment(Map labelToSymList)Construct an alignment of the SymbolLists contained in the values collection oflabelToSymList.static SymbolListemptyList(Alphabet alpha)Get a new immutable, empty symbol list with the given alphabet.static SymbolListorderNSymbolList(SymbolList source, int order)An n-th order view of another SymbolList.static SymbolListreverse(SymbolList symbols)A reversed view onto a SymbolList.static SymbolListsubList(SymbolList parent, int start, int end)View a portion of a SymbolList.static SymbolListtranslate(SymbolList symbols, TranslationTable table)Provides a 'translated' view of an underlying SymbolList.static SymbolListwindowedSymbolList(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
-
-