public class SuffixTree extends Object implements Serializable
A suffix tree is an efficient method for encoding the frequencies
of motifs in a sequence. They are sometimes used to quickly screen
for similar sequences. For instance, all motifs of length up to
2 in the sequence AAGT
could be encoded as:
root(4) | A(2)--------G(1)-----T(1) | | A(1)--G(1) T(1)
A possible method of comparing SuffixTrees is provided as a kernel
function as org.biojava.stats.svm.tools.SuffixTreeKernel
.
Modifier and Type | Class and Description |
---|---|
static class |
SuffixTree.SuffixNode
A node in the suffix tree.
|
Constructor and Description |
---|
SuffixTree(FiniteAlphabet alphabet)
Construct a new SuffixTree to contain motifs over the
specified alphabet.
|
Modifier and Type | Method and Description |
---|---|
void |
addSymbols(SymbolList sList,
int window)
Add a count for all motifs with length of up to
window
to this tree. |
int |
frequency(int length)
Return the number of motifs of a given length encoded
in this SuffixTree.
|
FiniteAlphabet |
getAlphabet()
Return the Alphabet containing all Symbols which might be found in
this SuffixTree.
|
SuffixTree.SuffixNode |
getChild(SuffixTree.SuffixNode node,
int i)
Get the n'th child of a node.
|
SuffixTree.SuffixNode |
getChild(SuffixTree.SuffixNode node,
Symbol s)
Get a child of a SuffixTree.SuffixNode, constructing a new
one if need be.
|
SuffixTree.SuffixNode |
getRoot()
Return the node object which is the root of this suffix tree.
|
protected void |
incCounts(int i,
int c) |
int |
maxLength()
Return the length of the longest motif represented in this
SuffixTree
|
public SuffixTree(FiniteAlphabet alphabet)
alphabet
- The alphabet of this SuffixTree (must be
finite).public FiniteAlphabet getAlphabet()
public SuffixTree.SuffixNode getRoot()
public SuffixTree.SuffixNode getChild(SuffixTree.SuffixNode node, Symbol s) throws IllegalSymbolException
IllegalSymbolException
public SuffixTree.SuffixNode getChild(SuffixTree.SuffixNode node, int i)
public void addSymbols(SymbolList sList, int window) throws IllegalSymbolException
window
to this tree.sList
- a SymbolList whose motifs should be added to the
tree.window
- The maximum motif length to count.IllegalSymbolException
protected void incCounts(int i, int c)
public int maxLength()
public int frequency(int length)
Copyright © 2014 BioJava. All rights reserved.