|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.biojava.bio.seq.ragbag.RagbagAbstractSequence
org.biojava.bio.seq.ragbag.RagbagAssembly
object that instantiates a sequence when given a Ragbag directory.
Nested Class Summary |
Nested classes inherited from class org.biojava.bio.symbol.SymbolList |
SymbolList.EmptySymbolList |
Nested classes inherited from class org.biojava.bio.seq.FeatureHolder |
FeatureHolder.EmptyFeatureHolder |
Nested classes inherited from class org.biojava.bio.Annotatable |
Annotatable.AnnotationForwarder |
Field Summary | |
protected Sequence |
sequence
|
Fields inherited from interface org.biojava.bio.symbol.SymbolList |
EDIT, EMPTY_LIST |
Fields inherited from interface org.biojava.bio.seq.FeatureHolder |
EMPTY_FEATURE_HOLDER, FEATURES, SCHEMA |
Fields inherited from interface org.biojava.bio.Annotatable |
ANNOTATION |
Constructor Summary | |
RagbagAssembly(java.lang.String name,
java.lang.String urn,
java.io.File thisDir,
RagbagSequenceFactory seqFactory,
RagbagComponentDirectory compDir)
|
Method Summary | |
void |
addChangeListener(ChangeListener cl)
Add a listener that will be informed of all changes. |
void |
addChangeListener(ChangeListener cl,
ChangeType ct)
Add a listener that will be informed of changes of a given type. |
boolean |
containsFeature(Feature f)
Check if the feature is present in this holder. |
int |
countFeatures()
Count how many features are contained. |
Feature |
createFeature(Feature.Template ft)
Create a new Feature, and add it to this FeatureHolder. |
void |
edit(Edit edit)
Apply an edit to the SymbolList as specified by the edit object. |
java.util.Iterator |
features()
Iterate over the features in no well defined order. |
FeatureHolder |
filter(FeatureFilter ff)
Query this set of features using a supplied FeatureFilter . |
FeatureHolder |
filter(FeatureFilter ff,
boolean recurse)
Return a new FeatureHolder that contains all of the children of this one that passed the filter fc. |
Alphabet |
getAlphabet()
The alphabet that this SymbolList is over. |
Annotation |
getAnnotation()
Should return the associated annotation object. |
java.lang.String |
getName()
The name of this sequence. |
FeatureFilter |
getSchema()
Return a schema-filter for this FeatureHolder . |
java.lang.String |
getURN()
A Uniform Resource Identifier (URI) which identifies the sequence represented by this object. |
boolean |
isUnchanging(ChangeType ct)
A particular ChangeType can never be raised by this Changeable. |
java.util.Iterator |
iterator()
An Iterator over all Symbols in this SymbolList. |
int |
length()
The number of symbols in this SymbolList. |
void |
removeChangeListener(ChangeListener cl)
Remove a listener that was interested in all types of changes. |
void |
removeChangeListener(ChangeListener cl,
ChangeType ct)
Remove a listener that was interested in a specific types of changes. |
void |
removeFeature(Feature f)
Remove a feature from this FeatureHolder. |
java.lang.String |
seqString()
Stringify this symbol list. |
SymbolList |
subList(int start,
int end)
Return a new SymbolList for the symbols start to end inclusive. |
java.lang.String |
subStr(int start,
int end)
Return a region of this symbol list as a String. |
Symbol |
symbolAt(int index)
Return the symbol at index, counting from 1. |
java.util.List |
toList()
Returns a List of symbols. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected Sequence sequence
Constructor Detail |
public RagbagAssembly(java.lang.String name, java.lang.String urn, java.io.File thisDir, RagbagSequenceFactory seqFactory, RagbagComponentDirectory compDir) throws BioException, java.io.FileNotFoundException, ChangeVetoException, java.io.IOException, org.xml.sax.SAXException
thisDir
- directory containing Ragbag structure.seqFactory
- used to create sequence objects by this class.compDir
- directory used to log ComponentFeatures. Set to RagbagComponentDirectory.UNLOGGED if logging not desired.Method Detail |
public java.lang.String getName()
Sequence
The name may contain spaces or odd characters.
public java.lang.String getURN()
Sequence
urn:sequence/embl:AL121903It may also be a URL identifying a specific resource, either locally or over the network
file:///home/thomas/myseq.fa|seq22 http://www.mysequences.net/chr22.seq
public void edit(Edit edit) throws IllegalAlphabetException, ChangeVetoException
SymbolList
All edits can be broken down into a series of operations that change contiguous blocks of the sequence. This represent a one of those operations.
When applied, this Edit will replace 'length' number of symbols starting a position 'pos' by the SymbolList 'replacement'. This allow to do insertions (length=0), deletions (replacement=SymbolList.EMPTY_LIST) and replacements (length>=1 and replacement.length()>=1).
The pos and pos+length should always be valid positions on the SymbolList to:
SymbolList seq = DNATools.createDNA("atcaaaaacgctagc");
System.out.println(seq.seqString());
// delete 5 bases from position 4
Edit ed = new Edit(4, 5, SymbolList.EMPTY_LIST);
seq.edit(ed);
System.out.println(seq.seqString());
// delete one base from the start
ed = new Edit(1, 1, SymbolList.EMPTY_LIST);
seq.edit(ed);
// delete one base from the end
ed = new Edit(seq.length(), 1, SymbolList.EMPTY_LIST);
seq.edit(ed);
System.out.println(seq.seqString());
// overwrite 2 bases from position 3 with "tt"
ed = new Edit(3, 2, DNATools.createDNA("tt"));
seq.edit(ed);
System.out.println(seq.seqString());
// add 6 bases to the start
ed = new Edit(1, 0, DNATools.createDNA("aattgg");
seq.edit(ed);
System.out.println(seq.seqString());
// add 4 bases to the end
ed = new Edit(seq.length() + 1, 0, DNATools.createDNA("tttt"));
seq.edit(ed);
System.out.println(seq.seqString());
// full edit
ed = new Edit(3, 2, DNATools.createDNA("aatagaa");
seq.edit(ed);
System.out.println(seq.seqString());
edit
in interface SymbolList
edit
- the Edit to perform
IllegalAlphabetException
- if the SymbolList to insert has an
incompatible alphabet
ChangeVetoException
- if either the SymboList does not support the
edit, or if the change was vetoedpublic Alphabet getAlphabet()
SymbolList
Every symbol within this SymbolList is a member of this alphabet.
alphabet.contains(symbol) == true
for each symbol that is within this sequence.
getAlphabet
in interface SymbolList
public java.util.Iterator iterator()
SymbolList
This is an ordered iterator over the Symbols. It cannot be used to edit the underlying symbols.
iterator
in interface SymbolList
public int length()
SymbolList
length
in interface SymbolList
public java.lang.String seqString()
SymbolList
It is expected that this will use the symbol's token to render each symbol. It should be parsable back into a SymbolList using the default token parser for this alphabet.
seqString
in interface SymbolList
public SymbolList subList(int start, int end)
SymbolList
The resulting SymbolList will count from 1 to (end-start + 1) inclusive, and refer to the symbols start to end of the original sequence.
subList
in interface SymbolList
start
- the first symbol of the new SymbolListend
- the last symbol (inclusive) of the new SymbolListpublic java.lang.String subStr(int start, int end)
SymbolList
This should use the same rules as seqString.
subStr
in interface SymbolList
start
- the first symbol to includeend
- the last symbol to include
public Symbol symbolAt(int index)
SymbolList
symbolAt
in interface SymbolList
index
- the offset into this SymbolList
public java.util.List toList()
SymbolList
This is an immutable list of symbols. Do not edit it.
toList
in interface SymbolList
public void addChangeListener(ChangeListener cl)
Changeable
addChangeListener
in interface Changeable
cl
- the ChangeListener to addpublic void addChangeListener(ChangeListener cl, ChangeType ct)
Changeable
addChangeListener
in interface Changeable
cl
- the ChangeListenerct
- the ChangeType it is to be informed ofpublic void removeChangeListener(ChangeListener cl)
Changeable
removeChangeListener
in interface Changeable
cl
- a ChangeListener to removepublic void removeChangeListener(ChangeListener cl, ChangeType ct)
Changeable
removeChangeListener
in interface Changeable
cl
- a ChangeListener to removect
- the ChangeType that it was interested inpublic boolean isUnchanging(ChangeType ct)
Changeable
A particular ChangeType can never be raised by this Changeable.
If this returns true, then it is guaranteed that change events of this type (and all child types) can never under any circumstances be fired by this Changeable instance. If it returns false, that does not mean that this type of event will or even can be raised, but that it is worth registering listeners incase.
isUnchanging
in interface Changeable
ct
- the ChangeType to check
public boolean containsFeature(Feature f)
FeatureHolder
containsFeature
in interface FeatureHolder
f
- the Feature to check
public int countFeatures()
FeatureHolder
countFeatures
in interface FeatureHolder
public Feature createFeature(Feature.Template ft) throws BioException, ChangeVetoException
FeatureHolder
createFeature
in interface FeatureHolder
BioException
- if something went wrong during creating the feature
ChangeVetoException
- if this FeatureHolder does not support
creation of new features, or if the change was vetoedpublic java.util.Iterator features()
FeatureHolder
features
in interface FeatureHolder
public FeatureHolder filter(FeatureFilter ff)
FeatureHolder
FeatureFilter
.
filter
in interface FeatureHolder
ff
- the FeatureFilter
to apply.
filter
.public FeatureHolder filter(FeatureFilter ff, boolean recurse)
FeatureHolder
filter
in interface FeatureHolder
ff
- the FeatureFilter to applyrecurse
- true if all features-of-features should be scanned, and a
single flat collection of features returned, or false if
just immediate children should be filtered.public void removeFeature(Feature f) throws ChangeVetoException
FeatureHolder
removeFeature
in interface FeatureHolder
ChangeVetoException
- if this FeatureHolder does not support
feature removal or if the change was vetoedpublic FeatureFilter getSchema()
FeatureHolder
FeatureHolder
. This is a filter
which all Feature
s immediately contained by this FeatureHolder
will match. It need not directly match their child features, but it can (and should!) provide
information about them using FeatureFilter.OnlyChildren
filters. In cases where there
is no feature hierarchy, this can be indicated by including FeatureFilter.leaf
in
the schema filter.
For the truly non-informative case, it is possible to return FeatureFilter.all
. However,
it is almost always possible to provide slightly more information that this. For example, Sequence
objects should, at a minimum, return FeatureFilter.top_level
. Feature
objects
should, as a minimum, return FeatureFilter.ByParent(new FeatureFilter.ByFeature(this))
.
getSchema
in interface FeatureHolder
public Annotation getAnnotation()
Annotatable
getAnnotation
in interface Annotatable
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |