org.biojava.bio.seq.impl
Class SimpleGappedSequence
java.lang.Object
org.biojava.utils.AbstractChangeable
org.biojava.bio.symbol.AbstractSymbolList
org.biojava.bio.symbol.SimpleGappedSymbolList
org.biojava.bio.seq.impl.SimpleGappedSequence
- All Implemented Interfaces:
- Serializable, Annotatable, FeatureHolder, GappedSequence, Sequence, GappedSymbolList, SymbolList, Changeable
public class SimpleGappedSequence
- extends SimpleGappedSymbolList
- implements GappedSequence
Simple implementation of GappedSequence. Please note that this is a view onto
another Sequence. Gaps created and removed are only in the view not the underlying original. This
means that any gaps present in the original cannot be manipulated in this
view. To manipulate the original you would need to use Edit objects.
- Since:
- 1.3
- Author:
- Thomas Down, Matthew Pocock
- See Also:
- Serialized Form
Methods inherited from class org.biojava.bio.symbol.SimpleGappedSymbolList |
addGapInSource, addGapInView, addGapsInSource, addGapsInView, BlockIterator, dumpBlocks, findSourceBlock, findSourceGap, findViewBlock, findViewGap, firstNonGap, gappedToLocation, getAlphabet, getSourceSymbolList, getUngappedLocation, isSane, lastNonGap, length, locationToGapped, removeGap, removeGaps, renumber, sourceToView, sourceToView, symbolAt, viewToSource, viewToSource |
Methods inherited from interface org.biojava.bio.symbol.GappedSymbolList |
addGapInSource, addGapInView, addGapsInSource, addGapsInView, firstNonGap, getSourceSymbolList, getUngappedLocation, lastNonGap, removeGap, removeGaps, sourceToView, viewToSource |
SimpleGappedSequence
public SimpleGappedSequence(Sequence seq)
SimpleGappedSequence
public SimpleGappedSequence(GappedSequence seq)
getCreateOnUnderlyingSequence
public boolean getCreateOnUnderlyingSequence()
setCreateOnUnderlyingSequence
public void setCreateOnUnderlyingSequence(boolean underlying)
getAnnotation
public Annotation getAnnotation()
- Description copied from interface:
Annotatable
- Should return the associated annotation object.
- Specified by:
getAnnotation
in interface Annotatable
- Returns:
- an Annotation object, never null
getName
public String getName()
- Description copied from interface:
Sequence
- The name of this sequence.
The name may contain spaces or odd characters.
- Specified by:
getName
in interface Sequence
- Returns:
- the name as a String
getURN
public String getURN()
- Description copied from interface:
Sequence
- A Uniform
Resource Identifier (URI) which identifies the sequence
represented by this object. For sequences in well-known
database, this may be a URN, e.g.
urn:sequence/embl:AL121903
It 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
- Specified by:
getURN
in interface Sequence
- Returns:
- the URI as a String
features
public Iterator features()
- Description copied from interface:
FeatureHolder
- Iterate over the features in no well defined order.
- Specified by:
features
in interface FeatureHolder
- Returns:
- an Iterator
filter
public FeatureHolder filter(FeatureFilter ff)
- Description copied from interface:
FeatureHolder
- Query this set of features using a supplied
FeatureFilter
.
- Specified by:
filter
in interface FeatureHolder
- Parameters:
ff
- the FeatureFilter
to apply.
- Returns:
- all features in this container which match
filter
.
filter
public FeatureHolder filter(FeatureFilter ff,
boolean recurse)
- Description copied from interface:
FeatureHolder
- Return a new FeatureHolder that contains all of the children of this one
that passed the filter fc.
This method is scheduled for deprecation. Use the 1-arg filter
instead.
- Specified by:
filter
in interface FeatureHolder
- Parameters:
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.
countFeatures
public int countFeatures()
- Description copied from interface:
FeatureHolder
- Count how many features are contained.
- Specified by:
countFeatures
in interface FeatureHolder
- Returns:
- a positive integer or zero, equal to the number of features
contained
containsFeature
public boolean containsFeature(Feature f)
- Description copied from interface:
FeatureHolder
- Check if the feature is present in this holder.
- Specified by:
containsFeature
in interface FeatureHolder
- Parameters:
f
- the Feature to check
- Returns:
- true if f is in this set
getSchema
public FeatureFilter getSchema()
- Description copied from interface:
FeatureHolder
- Return a schema-filter for this
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))
.
- Specified by:
getSchema
in interface FeatureHolder
- Returns:
- the schema filter
removeFeature
public void removeFeature(Feature f)
throws ChangeVetoException,
BioException
- Description copied from interface:
FeatureHolder
- Remove a feature from this FeatureHolder.
- Specified by:
removeFeature
in interface FeatureHolder
- Throws:
ChangeVetoException
- if this FeatureHolder does not support
feature removal or if the change was vetoed
BioException
- if there was an error removing the feature
createFeature
public Feature createFeature(Feature.Template templ)
throws ChangeVetoException,
BioException
- Description copied from interface:
FeatureHolder
- Create a new Feature, and add it to this FeatureHolder. This
method will generally only work on Sequences, and on some
Features which have been attached to Sequences.
- Specified by:
createFeature
in interface FeatureHolder
- Throws:
ChangeVetoException
- if this FeatureHolder does not support
creation of new features, or if the change was vetoed
BioException
- if something went wrong during creating the feature