## 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