apollo.datamodel
Class Protein

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

public class Protein
extends AnnotatedFeature

See Also:
Serialized Form

Field Summary
 
Fields inherited from class apollo.datamodel.AnnotatedFeature
annotationRoot, logger, owner
 
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
Protein(SeqFeatureI protFeat, Transcript transcript)
           
Protein(Transcript transcript)
           
 
Method Summary
 int getEnd()
          so the end is rather controversial.
 java.lang.String getFeatureType()
          Returns "polypeptide" as that is the SO term for proteins
 java.lang.String getId()
          for now just a wrapper for prot seq - eventually id will migrate here
 java.lang.String getName()
          In the case where the range is chromosomal the name is the chromosome name
 SequenceI getPeptideSequence()
          transcripts peptide sequence should be moved here eventually
 SequenceI getRefSequence()
          Retrieve the SequenceI that this feature annotates.
 int getStart()
           
 boolean hasTranslationEnd()
          well this is actually controversial - translation end is just beyond the protien - this should either be refactored or just be in transcript - need to think about this...
 boolean hasTranslationStart()
          should this just be hasStart? translation is implicit now isnt it?
 boolean isProtein()
           
 boolean isProteinCodingGene()
          this better be true considering we are a protein
 void setId(java.lang.String id)
           
 void setName(java.lang.String name)
           
 void setStart(int start)
          Theres 2 situations for setting start - one is when initially building the datamodel and the exons havent been read in yet so you are not yet ready to calculate the translation, the other is the transcript is in place so setting start should cause a translate recalc to get a new end - for now just doing former(for game adapters sake) - for the latter i think there should be a 2nd setStart with a recalc flag or vice versa - or is setting start a result of the translate process rather than a trigger?
 
Methods inherited from class apollo.datamodel.AnnotatedFeature
accept, addComment, addComment, addEvidence, addEvidence, addEvidence, addEvidence, addSynonym, addSynonym, addSynonym, clearComments, clearSynonyms, clone, cloneAnnot, deleteComment, deleteComment, deleteEvidence, deleteSynonym, deleteSynonym, get_cDNASequence, getAnnotatedFeature, getAnnotChild, getCommentIndex, getComments, getDescription, getEvidence, getEvidenceFinder, getNonConsensusAcceptorNum, getNonConsensusDonorNum, getOwner, getSynonym, getSynonyms, getSynonyms, getSynonymSize, hasAnnotatedFeature, hasSynonym, isAnnotTop, isFinished, isProblematic, nonConsensusSplicingOkay, nonConsensusSplicingOkay, setDescription, setEvidenceFinder, setIsProblematic, setOwner, toString
 
Methods inherited from class apollo.datamodel.FeatureSet
addFeature, addFeature, adjustEdges, adjustEdges, beforeFivePrimeEnd, buildEditList, buildORFEditList, calcTranslationStartForLongestPeptide, canHaveChildren, clearKids, deleteFeature, deleteFeatureAt, findFeaturesByAllNames, findFeaturesByAllNames, findFeaturesByAllNames, findFeaturesByHitName, findFeaturesByName, findFeaturesByName, flipFlop, get_cDNA, get_ORF, get_ORF, getFeatureAt, getFeatureContaining, getFeatureIndex, getFeaturePosition, getFeatures, getGenomicPosForPeptidePos, getGenomicPosition, getHitSequence, getIndexContaining, getLastBaseOfStopCodon, getLeafFeatsOver, getNumberOfDescendents, getPeptidePosForGenomicPos, getPositionFrom, getScore, getSequencingErrorAtPosition, getSplicedLength, getSplicedLength, getSplicedTranscript, getStartAA, getStartCodon, getTranslation, getTranslationEnd, getTranslationRange, getTranslationStart, hasDescendents, hasNameBeenSet, hasReadThroughStop, hasTranslation, insertFeatureAt, isFlagSet, isMissing3prime, isMissing5prime, isSequencingErrorPosition, isTransSpliced, minus1FrameShiftPosition, pastThreePrimeEnd, plus1FrameShiftPosition, rangeIsUnassigned, readThroughStopPosition, readThroughStopResidue, setFlag, setHitSequence, setMinus1FrameShiftPosition, setMissing3prime, setMissing5prime, setPeptideValidity, setPhases, setPlus1FrameShiftPosition, setProteinCodingGene, setReadThroughStop, setReadThroughStop, setRefSequence, setTranslationEnd, setTranslationEndFromStart, setTranslationEndNoPhase, setTranslationStart, setTranslationStart, size, sort, sort, 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, getCigar, getCloneSource, getCodingDNA, getCodingProperties, getDatabase, getDbXref, getDbXrefs, getEndPhase, getExplicitAlignment, getFeatureSequence, getFrame, getGenomicErrors, getHend, getHhigh, getHitFeature, getHlow, getHname, getHstart, getHstrand, getIdentifier, getNumberOfChildren, getParent, getPhase, getPrimaryDbXref, getProgramName, getProperties, getPropertiesMulti, getProperty, getPropertyMulti, getProteinFeat, getRefFeature, getRefFeature, getRefId, getScore, getScores, getStrandedFeatSetAncestor, getSubSequence, getSyntenyLinkInfo, getTopLevelType, getUnpaddedAlignment, getUserObject, hasAlignable, hasAnalogousOppositeStrandFeature, hasCigar, hasHitFeature, hasId, hasKids, hasPeptideSequence, hasSyntenyLinkInfo, haveExplicitAlignment, haveRealAlignment, initWithSeqFeat, isAncestorOf, isAnnot, isClone, isCodon, isExon, isSameFeat, isSequencingError, isTranscript, main, merge, na2aa, numberOfGenerations, parseCigar, removeProperty, replaceProperty, setAlignment, setAnalogousOppositeStrandFeature, setCigar, setDatabase, setExplicitAlignment, setIdentifier, setPhase, setProgramName, setQueryFeature, setRefFeature, setScore, setSyntenyLinkInfo, setTopLevelType, setUserObject
 
Methods inherited from class apollo.datamodel.Range
contains, contains, convertFromBaseOrientedToInterbase, convertFromInterbaseToBaseOriented, getEndAsString, getHigh, getLeftOverlap, getLow, getRangeClone, getResidues, getRightOverlap, getStartAsString, getStrand, hasFeatureType, hasName, hasRefSequence, isContainedByRefSeq, isExactOverlap, isForwardStrand, isIdentical, isSequenceAvailable, length, overlaps, sameRange, setEnd, setFeatureType, setHigh, setLow, setStrand
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface apollo.datamodel.AnnotatedFeatureI
getIdentifier, setIdentifier
 
Methods inherited from interface apollo.datamodel.FeatureSetI
adjustEdges, adjustEdges, buildEditList, deleteFeature, deleteFeatureAt, findFeaturesByAllNames, findFeaturesByAllNames, findFeaturesByAllNames, findFeaturesByHitName, findFeaturesByName, findFeaturesByName, getHitSequence, getIndexContaining, getPositionFrom, getSequencingErrorAtPosition, getSplicedLength, getStartAA, getStartCodon, hasDescendents, hasNameBeenSet, hasReadThroughStop, isFlagSet, isSequencingErrorPosition, minus1FrameShiftPosition, plus1FrameShiftPosition, readThroughStopPosition, readThroughStopResidue, setFlag, setHitSequence, setMinus1FrameShiftPosition, setPlus1FrameShiftPosition, setProteinCodingGene, setReadThroughStop, setReadThroughStop, sort, sort, unConventionalStart, withinCDS
 
Methods inherited from interface apollo.datamodel.SeqFeatureI
addDbXref, addFeature, addFeature, addProperty, addScore, addScore, addScore, addScore, alignmentIsPeptide, clearKids, clearProperties, cloneFeature, compareTo, descendsFrom, flipFlop, get_cDNA, getAlignment, getAnalogousOppositeStrandFeature, getCigar, getCloneSource, getCodingDNA, getCodingProperties, getDatabase, getDbXref, getDbXrefs, getEndPhase, getExplicitAlignment, getFeatureAt, getFeatureContaining, getFeatureIndex, getFeaturePosition, getFeatures, getFeatureSequence, getFrame, getGenomicErrors, getGenomicPosForPeptidePos, getGenomicPosition, getHend, getHhigh, getHitFeature, getHlow, getHname, getHstart, getHstrand, getLeafFeatsOver, getNumberOfChildren, getNumberOfDescendents, getParent, getPhase, getProgramName, getProperties, getPropertiesMulti, getProperty, getPropertyMulti, getProteinFeat, getRefFeature, getRefId, getScore, getScore, getScores, getStrandedFeatSetAncestor, getSyntenyLinkInfo, getTopLevelType, getTranslation, getUnpaddedAlignment, getUserObject, hasAlignable, hasAnalogousOppositeStrandFeature, hasHitFeature, hasId, hasKids, hasPeptideSequence, hasSyntenyLinkInfo, hasTranslation, haveExplicitAlignment, haveRealAlignment, isAncestorOf, isAnnot, isClone, isCodon, isExon, isSameFeat, isSequencingError, isTranscript, merge, numberOfGenerations, parseCigar, removeProperty, replaceProperty, setAlignment, setAnalogousOppositeStrandFeature, setCigar, setDatabase, setExplicitAlignment, setPhase, setProgramName, setQueryFeature, setRefFeature, setScore, setSyntenyLinkInfo, setTopLevelType, setUserObject, size, translate
 
Methods inherited from interface apollo.datamodel.RangeI
canHaveChildren, contains, contains, convertFromBaseOrientedToInterbase, convertFromInterbaseToBaseOriented, getHigh, getLeftOverlap, getLow, getRangeClone, getResidues, getRightOverlap, getStrand, hasFeatureType, hasName, hasRefSequence, isContainedByRefSeq, isExactOverlap, isForwardStrand, isIdentical, isSequenceAvailable, length, overlaps, rangeIsUnassigned, sameRange, setEnd, setFeatureType, setHigh, setLow, setRefSequence, setStrand
 
Methods inherited from interface apollo.datamodel.TranslationI
calcTranslationStartForLongestPeptide, getLastBaseOfStopCodon, getTranslationEnd, getTranslationRange, getTranslationStart, isMissing3prime, isMissing5prime, setMissing3prime, setMissing5prime, setPeptideValidity, setTranslationEnd, setTranslationEndFromStart, setTranslationStart, setTranslationStart
 

Constructor Detail

Protein

public Protein(Transcript transcript)

Protein

public Protein(SeqFeatureI protFeat,
               Transcript transcript)
Method Detail

isProtein

public boolean isProtein()
Specified by:
isProtein in interface SeqFeatureI
Overrides:
isProtein in class SeqFeature

isProteinCodingGene

public boolean isProteinCodingGene()
this better be true considering we are a protein

Specified by:
isProteinCodingGene in interface FeatureSetI
Specified by:
isProteinCodingGene in interface SeqFeatureI
Overrides:
isProteinCodingGene in class AnnotatedFeature
See Also:
FeatureSet.setProteinCodingGene(boolean)

getRefSequence

public SequenceI getRefSequence()
Description copied from interface: RangeI
Retrieve the SequenceI that this feature annotates.

Specified by:
getRefSequence in interface RangeI
Overrides:
getRefSequence in class Range
Returns:
the current parent SequenceI

getPeptideSequence

public SequenceI getPeptideSequence()
transcripts peptide sequence should be moved here eventually

Specified by:
getPeptideSequence in interface SeqFeatureI
Overrides:
getPeptideSequence in class SeqFeature

getId

public java.lang.String getId()
for now just a wrapper for prot seq - eventually id will migrate here

Specified by:
getId in interface SeqFeatureI
Overrides:
getId in class SeqFeature

setId

public void setId(java.lang.String id)
Specified by:
setId in interface SeqFeatureI
Overrides:
setId in class SeqFeature

setName

public void setName(java.lang.String name)
Specified by:
setName in interface RangeI
Overrides:
setName in class Range

getName

public java.lang.String getName()
Description copied from interface: RangeI
In the case where the range is chromosomal the name is the chromosome name

Specified by:
getName in interface RangeI
Overrides:
getName in class FeatureSet

getFeatureType

public java.lang.String getFeatureType()
Returns "polypeptide" as that is the SO term for proteins

Specified by:
getFeatureType in interface RangeI
Overrides:
getFeatureType in class Range

getStart

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

setStart

public void setStart(int start)
Theres 2 situations for setting start - one is when initially building the datamodel and the exons havent been read in yet so you are not yet ready to calculate the translation, the other is the transcript is in place so setting start should cause a translate recalc to get a new end - for now just doing former(for game adapters sake) - for the latter i think there should be a 2nd setStart with a recalc flag or vice versa - or is setting start a result of the translate process rather than a trigger?

Specified by:
setStart in interface RangeI
Overrides:
setStart in class Range

getEnd

public int getEnd()
so the end is rather controversial. transcript.getTranslationEnd() is actually the first base of the stop - the last base of the protein is in fact the base before this - so the question is do we use the translation end or the last base of the protein (as chado does for their proteins) which is in fact getTranslationEnd() +/- 1??? i think we should go with real prot end not trans stop

Specified by:
getEnd in interface RangeI
Overrides:
getEnd in class Range

hasTranslationStart

public boolean hasTranslationStart()
should this just be hasStart? translation is implicit now isnt it?

Specified by:
hasTranslationStart in interface TranslationI
Overrides:
hasTranslationStart in class FeatureSet

hasTranslationEnd

public boolean hasTranslationEnd()
well this is actually controversial - translation end is just beyond the protien - this should either be refactored or just be in transcript - need to think about this...

Specified by:
hasTranslationEnd in interface TranslationI
Overrides:
hasTranslationEnd in class FeatureSet