org.biojava.bio.seq
Interface ComponentFeature

All Superinterfaces:
Annotatable, Changeable, Feature, FeatureHolder, StrandedFeature

public interface ComponentFeature
extends StrandedFeature

Feature which represents a component in an assembly (contig). This implies that a portion (possibly all) of the associated componentSequence is included in this feature's parent sequence.

There are important invariants which apply to all ComponentFeatures. The Location returned by getLocation() must contain the same number of unique point locations as that returned by getComponentLocation().

In BioJava 1.2, two extra properties were added to ComponentFeature to support the use of these features in environments were it it necessary to represent an assembly built from sequences which are not currently available. Widespread use of such sequences is not encouraged, but it is recognized that they are useful as intermediate objects for data integration applications.

Since:
1.1
Author:
Thomas Down

Nested Class Summary
static class ComponentFeature.Template
          Template for constructing a new ComponentFeature.
 
Nested classes/interfaces inherited from interface org.biojava.bio.seq.StrandedFeature
StrandedFeature.Strand
 
Nested classes/interfaces inherited from interface org.biojava.bio.seq.Feature
Feature.ByLocationComparator
 
Nested classes/interfaces inherited from interface org.biojava.bio.seq.FeatureHolder
FeatureHolder.EmptyFeatureHolder
 
Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
Annotatable.AnnotationForwarder
 
Field Summary
 
Fields inherited from interface org.biojava.bio.seq.StrandedFeature
NEGATIVE, POSITIVE, STRAND, UNKNOWN
 
Fields inherited from interface org.biojava.bio.seq.Feature
byLocationOrder, LOCATION, PROPERTY_DATA_KEY, SOURCE, SOURCETERM, TYPE, TYPETERM
 
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
 Location getComponentLocation()
          Return a location which identifies a portion of the component sequence which is to be included in the assembly.
 Sequence getComponentSequence()
          Get the sequence object which provides a component of this feature's parent sequence.
 String getComponentSequenceName()
          Get the name of the component sequence.
 boolean isComponentResolvable()
          Determine if the sequence references by this ComponentFeature is available in this context.
 
Methods inherited from interface org.biojava.bio.seq.StrandedFeature
getStrand, getSymbols, setStrand
 
Methods inherited from interface org.biojava.bio.seq.Feature
features, getLocation, getParent, getSequence, getSource, getSourceTerm, getType, getTypeTerm, makeTemplate, setLocation, setSource, setSourceTerm, setType, setTypeTerm
 
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
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Method Detail

getComponentSequence

Sequence getComponentSequence()
Get the sequence object which provides a component of this feature's parent sequence.

Returns:
A sequence.

getComponentLocation

Location getComponentLocation()
Return a location which identifies a portion of the component sequence which is to be included in the assembly.

Returns:
A location within the component sequence.

getComponentSequenceName

String getComponentSequenceName()
Get the name of the component sequence. In general, this should be equivalent to getComponentSequence().getName(). However, it may still be defined for un-resolveable components.

Since:
1.2

isComponentResolvable

boolean isComponentResolvable()
Determine if the sequence references by this ComponentFeature is available in this context. If not, calls to getComponentSequence will fail, and getSymbols will return a non-informative SymbolList (in a DNA context, a list of Ns).

Since:
1.2