apollo.datamodel
Class Transcript

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.Transcript
All Implemented Interfaces:
AnnotatedFeatureI, Comparable, FeatureSetI, RangeI, SeqFeatureI, TranslationI, java.io.Serializable, java.lang.Cloneable

public class Transcript
extends AnnotatedFeature

See Also:
Serialized Form

Field Summary
protected  SequenceI cDNA
           
protected static org.apache.log4j.Logger logger
           
protected  SequenceI peptide
           
static java.lang.String TRANSCRIPT_TYPE
           
 
Fields inherited from class apollo.datamodel.AnnotatedFeature
annotationRoot, 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
Transcript()
           
Transcript(FeatureSetI fs)
           
 
Method Summary
 void addExon(ExonI exon)
          If exon overlaps with other exons then it merges them, otherwise adds exon to transcript
 void addFeature(SeqFeatureI feature)
          Add feature to end of features list, recalc low and high
 void deleteExon(ExonI exon)
           
 java.lang.String get_cDNA()
          Calls FeatureSet.get_cDNA which appends exon sequence (with getSplicedTranscript) where the actual sequence is retrieved from the ref sequence.
 SequenceI get_cDNASequence()
          by default return null - overridden by Transcript subclass
 ExonI getExonAt(int i)
           
 java.util.Vector getExons()
           
 AnnotatedFeatureI getGene()
           
 int getNonConsensusAcceptorNum()
          This returns the exon index of the non-consensus acceptor (if any), or -1 if there aren't any non-consensus acceptors.
 int getNonConsensusDonorNum()
          Returns transcript exon number with non consensus donor.
 SequenceI getPeptideSequence()
          creates peptide sequence if dont have one && prot coding gene - also if pep is invalid retranslates
 boolean getPeptideValidity()
           
 Protein getProteinFeat()
          first cut - eventually grow into full fledged protein feat that has a pep seq - which will replace Transcripts peptide Seq probably will require a Protein class.
 java.lang.String getTopLevelType()
          Transcript has the same biotype as its gene
 boolean hasPeptideSequence()
          If we have a translation start(nonzero) we have a peptide seq do i have this right? translate may still return null if we have start but no transcript sequence(if theres no sequence for the entry).
 boolean hasProteinFeat()
           
 boolean haveWholeSequence()
          Returns true if transcript is hanging off the bounds of the entry Does this belong in FeatureSet? Or even SeqFeature? Delete this - replaced by isContainedByRefSeq
 boolean isProteinCodingGene()
          This is the isProteinCodingGene method that really matters--the ones in other classes aren't really used.
 boolean isTranscript()
          Returns true becuase we have a transcript - its ourself.
 boolean nonConsensusSplicingOkay()
          Return true if non consensus splicing has been deemed ok.
 void nonConsensusSplicingOkay(boolean okay)
          Set whether its ok to have non-consensus splice site - no-op overridden by Transcript
 void set_cDNASequence(SequenceI cDNA)
           
 void setPeptideSequence(SequenceI pep)
           
 void setPeptideValidity(boolean validity)
          I think the idea here is if validity is false its saying the peptide is no longer valid and a new translation needs to be calculated - this is now part of TranslationI - move this method to FeatureSet? (cdna? peptide?)
 void sortExons()
           
 void sortTransSpliced()
           
 java.lang.String toString()
          For debugging
 java.lang.String translate()
          Creates SequenceI peptide if doesnt exist already - if translation is null or "" peptide will not be created - should it anyways?
 
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, getAnnotatedFeature, getAnnotChild, getCommentIndex, getComments, getDescription, getEvidence, getEvidenceFinder, getOwner, getSynonym, getSynonyms, getSynonyms, getSynonymSize, hasAnnotatedFeature, hasSynonym, isAnnotTop, isFinished, isProblematic, setDescription, setEvidenceFinder, setIsProblematic, setOwner
 
Methods inherited from class apollo.datamodel.FeatureSet
addFeature, adjustEdges, adjustEdges, beforeFivePrimeEnd, buildEditList, buildORFEditList, calcTranslationStartForLongestPeptide, canHaveChildren, clearKids, deleteFeature, deleteFeatureAt, findFeaturesByAllNames, findFeaturesByAllNames, findFeaturesByAllNames, findFeaturesByHitName, findFeaturesByName, findFeaturesByName, flipFlop, get_ORF, get_ORF, getFeatureAt, getFeatureContaining, getFeatureIndex, getFeaturePosition, getFeatures, getGenomicPosForPeptidePos, getGenomicPosition, getHitSequence, getIndexContaining, getLastBaseOfStopCodon, getLeafFeatsOver, 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, isSequencingErrorPosition, isTransSpliced, minus1FrameShiftPosition, pastThreePrimeEnd, plus1FrameShiftPosition, rangeIsUnassigned, readThroughStopPosition, readThroughStopResidue, setFlag, setHitSequence, setMinus1FrameShiftPosition, setMissing3prime, setMissing5prime, setPhases, setPlus1FrameShiftPosition, setProteinCodingGene, setReadThroughStop, setReadThroughStop, setRefSequence, setTranslationEnd, setTranslationEndFromStart, setTranslationEndNoPhase, setTranslationStart, setTranslationStart, size, sort, sort, 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, getId, getIdentifier, getNumberOfChildren, getParent, getPhase, getPrimaryDbXref, getProgramName, getProperties, getPropertiesMulti, getProperty, getPropertyMulti, getRefFeature, getRefFeature, getRefId, getScore, getScores, getStrandedFeatSetAncestor, getSubSequence, getSyntenyLinkInfo, getUnpaddedAlignment, getUserObject, hasAlignable, hasAnalogousOppositeStrandFeature, hasCigar, hasHitFeature, hasId, hasKids, hasSyntenyLinkInfo, haveExplicitAlignment, haveRealAlignment, initWithSeqFeat, isAncestorOf, isAnnot, isClone, isCodon, isExon, isProtein, isSameFeat, isSequencingError, 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, getEnd, getEndAsString, getFeatureType, getHigh, getLeftOverlap, getLow, getRangeClone, getRefSequence, getResidues, getRightOverlap, getStart, 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.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, addProperty, addScore, addScore, addScore, addScore, alignmentIsPeptide, clearKids, clearProperties, cloneFeature, compareTo, descendsFrom, flipFlop, 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, getId, getLeafFeatsOver, getNumberOfChildren, getNumberOfDescendents, getParent, getPhase, getProgramName, getProperties, getPropertiesMulti, getProperty, getPropertyMulti, getRefFeature, getRefId, getScore, getScore, getScores, getStrandedFeatSetAncestor, getSyntenyLinkInfo, getTranslation, getUnpaddedAlignment, getUserObject, hasAlignable, hasAnalogousOppositeStrandFeature, hasHitFeature, hasId, hasKids, hasSyntenyLinkInfo, hasTranslation, haveExplicitAlignment, haveRealAlignment, isAncestorOf, isAnnot, isClone, isCodon, isExon, isProtein, isSameFeat, isSequencingError, merge, numberOfGenerations, parseCigar, removeProperty, replaceProperty, setAlignment, setAnalogousOppositeStrandFeature, setCigar, setDatabase, setExplicitAlignment, setId, setPhase, setProgramName, setQueryFeature, setRefFeature, setScore, setSyntenyLinkInfo, setTopLevelType, setUserObject, size
 
Methods inherited from interface apollo.datamodel.RangeI
canHaveChildren, contains, contains, convertFromBaseOrientedToInterbase, convertFromInterbaseToBaseOriented, getEnd, getFeatureType, getHigh, getLeftOverlap, getLow, getName, getRangeClone, getRefSequence, getResidues, getRightOverlap, getStart, getStrand, hasFeatureType, hasName, hasRefSequence, isContainedByRefSeq, isExactOverlap, isForwardStrand, isIdentical, isSequenceAvailable, length, overlaps, rangeIsUnassigned, sameRange, setEnd, setFeatureType, setHigh, setLow, setName, setRefSequence, setStart, setStrand
 
Methods inherited from interface apollo.datamodel.TranslationI
calcTranslationStartForLongestPeptide, getLastBaseOfStopCodon, getTranslationEnd, getTranslationRange, getTranslationStart, hasTranslationEnd, hasTranslationStart, isMissing3prime, isMissing5prime, setMissing3prime, setMissing5prime, setTranslationEnd, setTranslationEndFromStart, setTranslationStart, setTranslationStart
 

Field Detail

logger

protected static final org.apache.log4j.Logger logger

TRANSCRIPT_TYPE

public static final java.lang.String TRANSCRIPT_TYPE
See Also:
Constant Field Values

cDNA

protected SequenceI cDNA

peptide

protected SequenceI peptide
Constructor Detail

Transcript

public Transcript()

Transcript

public Transcript(FeatureSetI fs)
Method Detail

addExon

public void addExon(ExonI exon)
If exon overlaps with other exons then it merges them, otherwise adds exon to transcript


sortExons

public void sortExons()

addFeature

public void addFeature(SeqFeatureI feature)
Description copied from class: FeatureSet
Add feature to end of features list, recalc low and high

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

deleteExon

public void deleteExon(ExonI exon)

getExons

public java.util.Vector getExons()

getExonAt

public ExonI getExonAt(int i)

get_cDNA

public java.lang.String get_cDNA()
Calls FeatureSet.get_cDNA which appends exon sequence (with getSplicedTranscript) where the actual sequence is retrieved from the ref sequence. In the case of overhanging transcripts this wont work because there is only ref sequence for part of the transcript. So in this case it does not retrieve ref sequence but just returns the cdna sequence originally assigend. This is ok because overhanging transcripts are uneditable in apollo, so theres no need to retrieve from the ref seq.

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

haveWholeSequence

public boolean haveWholeSequence()
Returns true if transcript is hanging off the bounds of the entry Does this belong in FeatureSet? Or even SeqFeature? Delete this - replaced by isContainedByRefSeq


get_cDNASequence

public SequenceI get_cDNASequence()
Description copied from class: AnnotatedFeature
by default return null - overridden by Transcript subclass

Specified by:
get_cDNASequence in interface AnnotatedFeatureI
Overrides:
get_cDNASequence in class AnnotatedFeature

set_cDNASequence

public void set_cDNASequence(SequenceI cDNA)

translate

public java.lang.String translate()
Creates SequenceI peptide if doesnt exist already - if translation is null or "" peptide will not be created - should it anyways?

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

getPeptideSequence

public SequenceI getPeptideSequence()
creates peptide sequence if dont have one && prot coding gene - also if pep is invalid retranslates

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

setPeptideSequence

public void setPeptideSequence(SequenceI pep)

setPeptideValidity

public void setPeptideValidity(boolean validity)
I think the idea here is if validity is false its saying the peptide is no longer valid and a new translation needs to be calculated - this is now part of TranslationI - move this method to FeatureSet? (cdna? peptide?)

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

getPeptideValidity

public boolean getPeptideValidity()

toString

public java.lang.String toString()
Description copied from class: FeatureSet
For debugging

Overrides:
toString in class AnnotatedFeature

sortTransSpliced

public void sortTransSpliced()

hasPeptideSequence

public boolean hasPeptideSequence()
If we have a translation start(nonzero) we have a peptide seq do i have this right? translate may still return null if we have start but no transcript sequence(if theres no sequence for the entry). This calls getPeptideSequence() which will actually create a peptide sequence if it can & there isnt one yet this aint right - can still have peptide with no trans start - just missing 5 prime thats all

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

getTopLevelType

public java.lang.String getTopLevelType()
Transcript has the same biotype as its gene

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

getGene

public AnnotatedFeatureI getGene()

isProteinCodingGene

public boolean isProteinCodingGene()
Description copied from class: AnnotatedFeature
This is the isProteinCodingGene method that really matters--the ones in other classes aren't really used.

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

getNonConsensusAcceptorNum

public int getNonConsensusAcceptorNum()
This returns the exon index of the non-consensus acceptor (if any), or -1 if there aren't any non-consensus acceptors. I think it should be called getNonConsensusAcceptorIndex instead-- getNonConsensusAcceptorNum makes it sounds like it's returning the total number (0 or more) of non-consensus acceptors.

Specified by:
getNonConsensusAcceptorNum in interface AnnotatedFeatureI
Overrides:
getNonConsensusAcceptorNum in class AnnotatedFeature

getNonConsensusDonorNum

public int getNonConsensusDonorNum()
Description copied from class: AnnotatedFeature
Returns transcript exon number with non consensus donor. Returns -1 by default - Transcript overrides.

Specified by:
getNonConsensusDonorNum in interface AnnotatedFeatureI
Overrides:
getNonConsensusDonorNum in class AnnotatedFeature

nonConsensusSplicingOkay

public boolean nonConsensusSplicingOkay()
Description copied from class: AnnotatedFeature
Return true if non consensus splicing has been deemed ok. This is set by curator with method that takes boolean. Overridden by Transcript.

Specified by:
nonConsensusSplicingOkay in interface AnnotatedFeatureI
Overrides:
nonConsensusSplicingOkay in class AnnotatedFeature

nonConsensusSplicingOkay

public void nonConsensusSplicingOkay(boolean okay)
Description copied from class: AnnotatedFeature
Set whether its ok to have non-consensus splice site - no-op overridden by Transcript

Specified by:
nonConsensusSplicingOkay in interface AnnotatedFeatureI
Overrides:
nonConsensusSplicingOkay in class AnnotatedFeature

isTranscript

public boolean isTranscript()
Returns true becuase we have a transcript - its ourself. Rename isTranscript? does transcript always have translation start and stop?

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

getProteinFeat

public Protein getProteinFeat()
first cut - eventually grow into full fledged protein feat that has a pep seq - which will replace Transcripts peptide Seq probably will require a Protein class. returns null if !isProteinCodingGene()

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

hasProteinFeat

public boolean hasProteinFeat()