|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A feature within a sequence, or nested within another feature.
// loop over all features in a sequence for(Iterator fi = mySeq.features(); fi.hasNext(); ) { Feature f = (Feature) fi.next(); System.out.println(f.getType() + "\t" + f.getLocation()); } // loop over all features that are children of this one, such as exons in a // gene for(Iterator cfi = feature.features(); cfi.hasNext(); ) { ... // extract all stranded features that are directly on a sequence FeatureHolder strandedFeatures = mySeq.filter( new FeatureFilter.ByClass(StrandedFeature.class), false ); for(fi = strandedFeatures.features(); ... // find all features with the type property set to "EXON" no matter how // far down the feature hierachy they are FeatureHolder repeats = mySeq.filter( new FeatureFilter.ByType("EXON"), true; );
Features contain annotation and a location. The type of the feature is something like 'Repeat' or 'BetaStrand'. Where the feature has been read from an EMBL or Genbank source the type will be the same as the feature key in the feature table e.g. 'gene', 'CDS', 'repeat_unit', 'misc_feature'. The source of the feature is something like 'genscan', 'repeatmasker' or 'made-up'.
Features are always contained by a parent FeatureHolder
,
which may either be a Sequence
or another Feature
.
Feature instances should never be constructed directly by client
code, and the BioJava core does not contain any publicly accessible
implementations of the Feature
interface. Instead, you
should create a suitable Feature.Template
, then pass this
to the createFeature
method of a Sequence
or Feature
.
We may need some standardisation for what the fields mean. In particular, we should be compliant where sensible with GFF.
Nested Class Summary | |
static class |
Feature.ByLocationComparator
ByLocationComparator compares
Feature s by the minimum base position of their
Location . |
static class |
Feature.Template
Template class for a plain feature. |
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 | |
static Feature.ByLocationComparator |
byLocationOrder
byLocationOrder contains a Feature
comparator which compares by the minimum base position of their
Location . |
static ChangeType |
LOCATION
The location of this feature is being altered. |
static java.lang.String |
PROPERTY_DATA_KEY
This is used as a key in the Annotation where it
identifies internal data. |
static ChangeType |
SOURCE
The source of this feature has altered |
static ChangeType |
TYPE
The type of this feature has altered. |
Fields inherited from interface org.biojava.bio.seq.FeatureHolder |
EMPTY_FEATURE_HOLDER, FEATURES, SCHEMA |
Fields inherited from interface org.biojava.bio.Annotatable |
ANNOTATION |
Method Summary | |
java.util.Iterator |
features()
Iterate over any child features which are held by this feature. |
Location |
getLocation()
The location of this feature. |
FeatureHolder |
getParent()
Return the FeatureHolder to which this feature has been
attached. |
Sequence |
getSequence()
Return the Sequence object to which this feature
is (ultimately) attached. |
java.lang.String |
getSource()
The source of the feature. |
SymbolList |
getSymbols()
Return a list of symbols that are contained in this feature. |
java.lang.String |
getType()
The type of the feature. |
Feature.Template |
makeTemplate()
Create a new Template that could be used to generate a feature identical to this one. |
void |
setLocation(Location loc)
The new location for this feature. |
void |
setSource(java.lang.String source)
Change the source of the Feature. |
void |
setType(java.lang.String type)
Change the type of this feature. |
Methods inherited from interface org.biojava.bio.seq.FeatureHolder |
containsFeature, countFeatures, createFeature, filter, filter, getSchema, removeFeature |
Methods inherited from interface org.biojava.utils.Changeable |
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener |
Methods inherited from interface org.biojava.bio.Annotatable |
getAnnotation |
Field Detail |
public static final java.lang.String PROPERTY_DATA_KEY
Annotation
where it
identifies internal data. This is not printed when the
Feature
is written to a flatfile. E.g. the
original feature's EMBL location string (if it has one) is
stored here.
public static final ChangeType LOCATION
public static final ChangeType TYPE
public static final ChangeType SOURCE
public static final Feature.ByLocationComparator byLocationOrder
byLocationOrder
contains a Feature
comparator which compares by the minimum base position of their
Location
.
Method Detail |
public Location getLocation()
The location may be complicated, or simply a range. The annotation is assumed to apply to all the region contained within the location.
public void setLocation(Location loc) throws ChangeVetoException
The location may be complicated or simply a range. The annotation is assumed to apply to the entire region contained within the location. Any values returned from methods that rely on the old location must not be affected.
loc
- the new Location for this feature
ChangeVetoException
- if the location can't be alteredpublic java.lang.String getType()
public void setType(java.lang.String type) throws ChangeVetoException
ChangeVetoException
- if the type can't be alteredpublic java.lang.String getSource()
public void setSource(java.lang.String source) throws ChangeVetoException
source
- the new source String
ChangeVetoException
- if the source can't be alteredpublic SymbolList getSymbols()
The symbols may not be contiguous in the original sequence, but they will be concatenated together in the resulting SymbolList.
The order of the Symbols within the resulting symbol list will be according to the concept of ordering within the location object.
If the feature location is modified then this does not modify any SymbolList produced by earlier invocations of this method.
public FeatureHolder getParent()
FeatureHolder
to which this feature has been
attached. This will be a Sequence
object for top level
features, and a Feature
object for features further
down the tree.
public Sequence getSequence()
Sequence
object to which this feature
is (ultimately) attached. For top level features, this will be
equal to the FeatureHolder
returned by
getParent
.
public java.util.Iterator features()
features
in interface FeatureHolder
public Feature.Template makeTemplate()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |