apollo.datamodel
Class StrandedFeatureSet

java.lang.Object
  extended by apollo.datamodel.Range
      extended by apollo.datamodel.SeqFeature
          extended by apollo.datamodel.FeatureSet
              extended by apollo.datamodel.StrandedFeatureSet
All Implemented Interfaces:
Comparable, FeatureSetI, RangeI, SeqFeatureI, StrandedFeatureSetI, TranslationI, java.io.Serializable, java.lang.Cloneable

public class StrandedFeatureSet
extends FeatureSet
implements StrandedFeatureSetI

It may well be that any FeatureSet for which the strand is not explicitly set to either 1 or -1 (in other words the strand is 0) should be treated as a mixed set of features that may be on either strand

See Also:
Serialized Form

Field Summary
protected  FeatureSetI forward
           
protected static org.apache.log4j.Logger logger
           
protected  FeatureSetI reverse
           
 
Fields inherited from class apollo.datamodel.FeatureSet
features, flags, genericReadThroughStopResidue, hitSequence, minus1_frameshift, missing_3prime, missing_5prime, plus1_frameshift, POLYA_REMOVED, readthrough_stop, standard_start_codon, start_codon, trans_spliced
 
Fields inherited from class apollo.datamodel.SeqFeature
biotype, edit_offset_adjust, id, phase, properties, ref_features, refFeature, refId, score, scores
 
Fields inherited from class apollo.datamodel.Range
high, low, name, refSeq, strand, type
 
Fields inherited from interface apollo.datamodel.RangeI
NO_NAME, NO_TYPE
 
Constructor Summary
StrandedFeatureSet()
           
StrandedFeatureSet(FeatureSetI forward_set, FeatureSetI reverse_set)
           
 
Method Summary
 void accept(Visitor visitor)
          General implementation of Visitor pattern.
 void addFeature(SeqFeatureI feature)
          Features must be added in sort order, if this turns out to be too slow, then we will need to figure out another way to keep them all sorted (5prime to 3prime that is)
 void addFeature(SeqFeatureI feature, boolean sortFlag)
          no-op - overridden by FeatureSet
 void deleteFeature(SeqFeatureI feature)
          The number of directly containd features.
 SeqFeatureI deleteFeatureAt(int i)
           
 int getEnd()
           
 FeatureSetI getFeatSetForStrand(int strand)
           
 SeqFeatureI getFeatureAt(int i)
          This actually returns not forward feature set and reverse feature set, but the children of forward and reverse.
 java.util.Vector getFeatures()
          This actually returns not forward feature set and reverse feature set, but the children of forward and reverse.
 FeatureSetI getForwardSet()
           
 FeatureList getLeafFeatsOver(int pos)
          This is used in the base editor to find the sub features that overlap a base with a sequence edit on it
 FeatureSetI getReverseSet()
           
 SeqFeatureI getSeqFeat(int strand, java.lang.String type)
          Returns seq feat grandchildren (tier level) of type & strand.
 int getStart()
           
 StrandedFeatureSetI getStrandedFeatSetAncestor()
           
 void setRefSequence(SequenceI seq)
          This is presently used to locate features that have a drawable.
 int size()
          FeatureSet overrides - merge with getNumberOfChildren
 
Methods inherited from class apollo.datamodel.FeatureSet
adjustEdges, adjustEdges, beforeFivePrimeEnd, buildEditList, buildORFEditList, calcTranslationStartForLongestPeptide, canHaveChildren, clearKids, clone, findFeaturesByAllNames, findFeaturesByAllNames, findFeaturesByAllNames, findFeaturesByHitName, findFeaturesByName, findFeaturesByName, flipFlop, get_cDNA, get_ORF, get_ORF, getFeatureContaining, getFeatureIndex, getFeaturePosition, getGenomicPosForPeptidePos, getGenomicPosition, getHitSequence, getIndexContaining, getLastBaseOfStopCodon, getName, getNumberOfDescendents, getPeptidePosForGenomicPos, getPositionFrom, getScore, getSequencingErrorAtPosition, getSplicedLength, getSplicedLength, getSplicedTranscript, getStartAA, getStartCodon, getTranslation, getTranslationEnd, getTranslationRange, getTranslationStart, hasDescendents, hasNameBeenSet, hasReadThroughStop, hasTranslation, hasTranslationEnd, hasTranslationStart, insertFeatureAt, isFlagSet, isMissing3prime, isMissing5prime, isProteinCodingGene, isSequencingErrorPosition, isTransSpliced, minus1FrameShiftPosition, pastThreePrimeEnd, plus1FrameShiftPosition, rangeIsUnassigned, readThroughStopPosition, readThroughStopResidue, setFlag, setHitSequence, setMinus1FrameShiftPosition, setMissing3prime, setMissing5prime, setPeptideValidity, setPhases, setPlus1FrameShiftPosition, setProteinCodingGene, setReadThroughStop, setReadThroughStop, setTranslationEnd, setTranslationEndFromStart, setTranslationEndNoPhase, setTranslationStart, setTranslationStart, sort, sort, toString, translate, unConventionalStart, withinCDS
 
Methods inherited from class apollo.datamodel.SeqFeature
addDbXref, addProperty, addRefFeature, addScore, addScore, addScore, addScore, alignmentIsPeptide, amend_RNA, buildmRNAEditList, clearProperties, cloneFeature, compareTo, descendsFrom, getAlignment, getAnalogousOppositeStrandFeature, getAnnotatedFeature, getCigar, getCloneSource, getCodingDNA, getCodingProperties, getDatabase, getDbXref, getDbXrefs, getEndPhase, getExplicitAlignment, getFeatureSequence, getFrame, getGenomicErrors, getHend, getHhigh, getHitFeature, getHlow, getHname, getHstart, getHstrand, getId, getIdentifier, getNumberOfChildren, getParent, getPeptideSequence, getPhase, getPrimaryDbXref, getProgramName, getProperties, getPropertiesMulti, getProperty, getPropertyMulti, getProteinFeat, getRefFeature, getRefFeature, getRefId, getScore, getScores, getSubSequence, getSyntenyLinkInfo, getTopLevelType, getUnpaddedAlignment, getUserObject, hasAlignable, hasAnalogousOppositeStrandFeature, hasAnnotatedFeature, hasCigar, hasHitFeature, hasId, hasKids, hasPeptideSequence, hasSyntenyLinkInfo, haveExplicitAlignment, haveRealAlignment, initWithSeqFeat, isAncestorOf, isAnnot, isAnnotTop, isClone, isCodon, isExon, isProtein, isSameFeat, isSequencingError, isTranscript, main, merge, na2aa, numberOfGenerations, parseCigar, removeProperty, replaceProperty, setAlignment, setAnalogousOppositeStrandFeature, setCigar, setDatabase, setExplicitAlignment, setId, setIdentifier, setPhase, setProgramName, setQueryFeature, setRefFeature, setScore, setSyntenyLinkInfo, setTopLevelType, setUserObject
 
Methods inherited from class apollo.datamodel.Range
contains, contains, convertFromBaseOrientedToInterbase, convertFromInterbaseToBaseOriented, getEndAsString, getFeatureType, getHigh, getLeftOverlap, getLow, getRangeClone, getRefSequence, getResidues, getRightOverlap, getStartAsString, getStrand, hasFeatureType, hasName, hasRefSequence, isContainedByRefSeq, isExactOverlap, isForwardStrand, isIdentical, isSequenceAvailable, length, overlaps, sameRange, setEnd, setFeatureType, setHigh, setLow, setName, setStart, setStrand
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface apollo.datamodel.FeatureSetI
adjustEdges, adjustEdges, buildEditList, findFeaturesByAllNames, findFeaturesByAllNames, findFeaturesByAllNames, findFeaturesByHitName, findFeaturesByName, findFeaturesByName, getHitSequence, getIndexContaining, getPositionFrom, getSequencingErrorAtPosition, getSplicedLength, getStartAA, getStartCodon, hasDescendents, hasNameBeenSet, hasReadThroughStop, isFlagSet, isProteinCodingGene, isSequencingErrorPosition, minus1FrameShiftPosition, plus1FrameShiftPosition, readThroughStopPosition, readThroughStopResidue, setFlag, setHitSequence, setMinus1FrameShiftPosition, setPlus1FrameShiftPosition, setProteinCodingGene, setReadThroughStop, setReadThroughStop, sort, sort, unConventionalStart, withinCDS
 
Methods inherited from interface apollo.datamodel.SeqFeatureI
addDbXref, addProperty, addScore, addScore, addScore, addScore, alignmentIsPeptide, clearKids, clearProperties, clone, cloneFeature, compareTo, descendsFrom, flipFlop, get_cDNA, getAlignment, getAnalogousOppositeStrandFeature, getAnnotatedFeature, getCigar, getCloneSource, getCodingDNA, getCodingProperties, getDatabase, getDbXref, getDbXrefs, getEndPhase, getExplicitAlignment, getFeatureContaining, getFeatureIndex, getFeaturePosition, getFeatureSequence, getFrame, getGenomicErrors, getGenomicPosForPeptidePos, getGenomicPosition, getHend, getHhigh, getHitFeature, getHlow, getHname, getHstart, getHstrand, getId, getNumberOfChildren, getNumberOfDescendents, getParent, getPeptideSequence, getPhase, getProgramName, getProperties, getPropertiesMulti, getProperty, getPropertyMulti, getProteinFeat, getRefFeature, getRefId, getScore, getScore, getScores, getSyntenyLinkInfo, getTopLevelType, getTranslation, getUnpaddedAlignment, getUserObject, hasAlignable, hasAnalogousOppositeStrandFeature, hasAnnotatedFeature, hasHitFeature, hasId, hasKids, hasPeptideSequence, hasSyntenyLinkInfo, hasTranslation, haveExplicitAlignment, haveRealAlignment, isAncestorOf, isAnnot, isAnnotTop, isClone, isCodon, isExon, isProtein, isSameFeat, isSequencingError, isTranscript, merge, numberOfGenerations, parseCigar, removeProperty, replaceProperty, setAlignment, setAnalogousOppositeStrandFeature, setCigar, setDatabase, setExplicitAlignment, setId, setPhase, setProgramName, setQueryFeature, setRefFeature, setScore, setSyntenyLinkInfo, setTopLevelType, setUserObject, translate
 
Methods inherited from interface apollo.datamodel.RangeI
canHaveChildren, contains, contains, convertFromBaseOrientedToInterbase, convertFromInterbaseToBaseOriented, getFeatureType, getHigh, getLeftOverlap, getLow, getName, getRangeClone, getRefSequence, getResidues, getRightOverlap, getStrand, hasFeatureType, hasName, hasRefSequence, isContainedByRefSeq, isExactOverlap, isForwardStrand, isIdentical, isSequenceAvailable, length, overlaps, rangeIsUnassigned, sameRange, setEnd, setFeatureType, setHigh, setLow, setName, setStart, setStrand
 
Methods inherited from interface apollo.datamodel.TranslationI
calcTranslationStartForLongestPeptide, getLastBaseOfStopCodon, getTranslationEnd, getTranslationRange, getTranslationStart, hasTranslationEnd, hasTranslationStart, isMissing3prime, isMissing5prime, setMissing3prime, setMissing5prime, setPeptideValidity, setTranslationEnd, setTranslationEndFromStart, setTranslationStart, setTranslationStart
 

Field Detail

forward

protected FeatureSetI forward

reverse

protected FeatureSetI reverse

logger

protected static final org.apache.log4j.Logger logger
Constructor Detail

StrandedFeatureSet

public StrandedFeatureSet(FeatureSetI forward_set,
                          FeatureSetI reverse_set)

StrandedFeatureSet

public StrandedFeatureSet()
Method Detail

getForwardSet

public FeatureSetI getForwardSet()
Specified by:
getForwardSet in interface StrandedFeatureSetI

getReverseSet

public FeatureSetI getReverseSet()
Specified by:
getReverseSet in interface StrandedFeatureSetI

size

public int size()
Description copied from class: SeqFeature
FeatureSet overrides - merge with getNumberOfChildren

Specified by:
size in interface SeqFeatureI
Overrides:
size in class FeatureSet

addFeature

public void addFeature(SeqFeatureI feature)
Features must be added in sort order, if this turns out to be too slow, then we will need to figure out another way to keep them all sorted (5prime to 3prime that is)

Specified by:
addFeature in interface SeqFeatureI
Overrides:
addFeature in class FeatureSet

addFeature

public void addFeature(SeqFeatureI feature,
                       boolean sortFlag)
Description copied from class: SeqFeature
no-op - overridden by FeatureSet

Specified by:
addFeature in interface SeqFeatureI
Overrides:
addFeature in class FeatureSet

deleteFeature

public void deleteFeature(SeqFeatureI feature)
Description copied from interface: FeatureSetI
The number of directly containd features.

Specified by:
deleteFeature in interface FeatureSetI
Overrides:
deleteFeature in class FeatureSet

deleteFeatureAt

public SeqFeatureI deleteFeatureAt(int i)
Specified by:
deleteFeatureAt in interface FeatureSetI
Overrides:
deleteFeatureAt in class FeatureSet

getFeatureAt

public SeqFeatureI getFeatureAt(int i)
This actually returns not forward feature set and reverse feature set, but the children of forward and reverse. In other words it retrieves the grandchildren of the StrandedFeatureSet

Specified by:
getFeatureAt in interface SeqFeatureI
Overrides:
getFeatureAt in class FeatureSet

getFeatures

public java.util.Vector getFeatures()
This actually returns not forward feature set and reverse feature set, but the children of forward and reverse. In other words it retrieves the grandchildren of the StrandedFeatureSet

Specified by:
getFeatures in interface SeqFeatureI
Overrides:
getFeatures in class FeatureSet

getLeafFeatsOver

public FeatureList getLeafFeatsOver(int pos)
Description copied from interface: SeqFeatureI
This is used in the base editor to find the sub features that overlap a base with a sequence edit on it

Specified by:
getLeafFeatsOver in interface SeqFeatureI
Overrides:
getLeafFeatsOver in class FeatureSet

getStart

public int getStart()
Specified by:
getStart in interface RangeI
Overrides:
getStart in class Range

getEnd

public int getEnd()
Specified by:
getEnd in interface RangeI
Overrides:
getEnd in class Range

setRefSequence

public void setRefSequence(SequenceI seq)
Description copied from class: FeatureSet
This is presently used to locate features that have a drawable. If the feature can't be found then the drawable is removed. Called after FeatureChangeEvent.SYNC occurs. And this happens when additional features are added - move to SeqFeatureUtil? rename containsFeature?

Specified by:
setRefSequence in interface RangeI
Overrides:
setRefSequence in class FeatureSet
Parameters:
seq - the new parent SequenceI

getSeqFeat

public SeqFeatureI getSeqFeat(int strand,
                              java.lang.String type)
Returns seq feat grandchildren (tier level) of type & strand. returns null if not present


getFeatSetForStrand

public FeatureSetI getFeatSetForStrand(int strand)
Specified by:
getFeatSetForStrand in interface StrandedFeatureSetI

getStrandedFeatSetAncestor

public StrandedFeatureSetI getStrandedFeatSetAncestor()
Specified by:
getStrandedFeatSetAncestor in interface SeqFeatureI
Overrides:
getStrandedFeatSetAncestor in class SeqFeature

accept

public void accept(Visitor visitor)
General implementation of Visitor pattern. (see apollo.util.Visitor).

Specified by:
accept in interface SeqFeatureI
Overrides:
accept in class FeatureSet