org.biojava.bio.seq.impl
Class SubSequence.SubProjectedFeatureContext

java.lang.Object
  extended by org.biojava.bio.seq.projection.ReparentContext
      extended by org.biojava.bio.seq.impl.SubSequence.SubProjectedFeatureContext
All Implemented Interfaces:
Serializable, ProjectionContext
Enclosing class:
SubSequence

public static class SubSequence.SubProjectedFeatureContext
extends ReparentContext

TargetContext that implements the mapping between the parent sequence and this sub-sequence.

This context is public because all contexts must be public, and not because it is usefull to you or part of the API. Don't use it directly.

The context extends TranslateFlipContext so that it can translate all features within the parent location to being from index 1 in the projection. It also transforms and reverts locations so that locations falling outside the parent location are trunchated and replaced by fuzzy locations. Lastly, features with fuzzy locations are replaced by RemoteFeature instances.

Since:
1.4
Author:
Matthew Pocock, Thomas Down
See Also:
Serialized Form

Method Summary
protected  FilterUtils.FilterTransformer getReverter()
           
protected  FilterUtils.FilterTransformer getTransformer()
           
 FeatureHolder projectChildFeatures(Feature f, FeatureHolder parent)
          Project all features that are children of feature so that they become children of parent.
 Feature projectFeature(Feature origFeat)
          Create a single projected feature using the rules of this ProjectedFeatureHolder.
 Location projectLocation(Location toTransform)
           
 Feature revertFeature(Feature projFeat)
          Unproject a feature.
 
Methods inherited from class org.biojava.bio.seq.projection.ReparentContext
addChangeListener, createFeature, createFeature, getParent, getParent, getSchema, getSequence, getUnprojectedFeatures, projectFeatures, projectFilter, removeChangeListener, removeFeature, removeFeature, revertFilter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

projectLocation

public Location projectLocation(Location toTransform)

projectFeature

public Feature projectFeature(Feature origFeat)
Description copied from class: ReparentContext
Create a single projected feature using the rules of this ProjectedFeatureHolder.

Specified by:
projectFeature in interface ProjectionContext
Overrides:
projectFeature in class ReparentContext
Parameters:
origFeat - the Feature to project
Returns:
a Feature representing feat after being transformed by this context

revertFeature

public Feature revertFeature(Feature projFeat)
Description copied from interface: ProjectionContext
Unproject a feature.

This is the inverse opperation to @link projectFeature().

Note: The result of calling this method for a feature that is not projected through this context is not specified by this API, but it is reasonable to assume that bad things will happen.

Specified by:
revertFeature in interface ProjectionContext
Overrides:
revertFeature in class ReparentContext
Parameters:
projFeat - the Feature to un-project
Returns:
the unprojected feature

projectChildFeatures

public FeatureHolder projectChildFeatures(Feature f,
                                          FeatureHolder parent)
Description copied from interface: ProjectionContext
Project all features that are children of feature so that they become children of parent.

Specified by:
projectChildFeatures in interface ProjectionContext
Overrides:
projectChildFeatures in class ReparentContext
Parameters:
f - the Feature to project all children of
parent - the new parent feature holder
Returns:
a FeatureHolder containing projections of all children of feature so that f.getParent() is equal to parent

getReverter

protected FilterUtils.FilterTransformer getReverter()
Overrides:
getReverter in class ReparentContext

getTransformer

protected FilterUtils.FilterTransformer getTransformer()
Overrides:
getTransformer in class ReparentContext