org.biojava.bio.seq
Interface RemoteFeature

All Superinterfaces:
Annotatable, Changeable, Feature, FeatureHolder, StrandedFeature
All Known Implementing Classes:
SimpleRemoteFeature

public interface RemoteFeature
extends StrandedFeature

A feature that indicates that there is some remote feature that can't be represented entirely on a single Sequence.

These are the sort of features that represent things like the horible Embl remote feature spans (such as AL24199:100..200). The method getRemoteFeature should return a Feature on another Sequence that properly represents the Location. This Seqeunce will often be an Assembly of the parent Sequence to this Feature, and the Sequence associated with the remote Location sequence ID. Thse Features are also applicable to the case when a portion of a Sequence is projected but some Feature overlaps the boundary of the projected portion.

Since:
1.2
Author:
Matthew Pocock, Greg Cox
See Also:
RichFeature

Nested Class Summary
static class RemoteFeature.Region
          A tuple of Location and sequence ID.
static interface RemoteFeature.Resolver
          The interface for objects that actually can take a RemoteFeature and return a Sequence object with the feature resolved into a real feature.
static class RemoteFeature.Template
           
 
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
 List getRegions()
          Retrieve the list of Regions that locate this feature both localy and remotely.
 Feature getRemoteFeature()
          Retrieve the Feature on some assembly Sequence that can represent this RemoteFeature properly.
 RemoteFeature.Resolver getResolver()
           
 
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.bio.Annotatable
getAnnotation
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Method Detail

getRegions

List getRegions()
Retrieve the list of Regions that locate this feature both localy and remotely. Local Regions have a null sequence ID.

Returns:
an immutable List of Regions

getRemoteFeature

Feature getRemoteFeature()
                         throws BioException
Retrieve the Feature on some assembly Sequence that can represent this RemoteFeature properly.

This method should be equivalent to calling getResolver().resolve(this).

Returns:
the Feature on another Sequence that this is projected onto
Throws:
BioException - if for any reason the remote Feature could not be constructed

getResolver

RemoteFeature.Resolver getResolver()