24 StateType getStateType( )
const {
36 void processStates(
const Gene* gene );
37 void process5SingleExon(
const State* exon,
bool withLen=
true );
38 void process5InitialExon(
const State* exon,
bool withLen=
true );
39 void process5InternalExon(
const State* exon);
40 void process5TerminalExon(
const State* exon);
41 void process5Intron(
int begin,
int end);
42 void process3SingleExon(
const State* exon,
bool withLen=
true );
43 void process3InitialExon(
const State* exon,
bool withLen=
true );
44 void process3InternalExon(
const State* exon);
45 void process3TerminalExon(
const State* exon,
bool withLen);
46 void process3Intron(
int begin,
int end);
58 Double emiProbUnderModel (
int begin,
int end)
const;
59 Double endPartEmiProb (
int begin,
int end,
int endOfBioExon)
const;
60 Double notEndPartEmiProb (
int begin,
int end,
int endOfBioExon,
Feature *exonparts)
const;
61 void getEndPositions (
int end,
int &beginOfEndPart,
int &endOfBioExon)
const;
62 Double tssupSeqProb (
int left,
int right,
bool reverse)
const;
63 Double tssProb (
int left)
const;
64 static void computeTtsProbs (
int from,
int to);
66 static void resetPars(){
70 initAlgorithmsCalled =
false;
72 static void updateToLocalGC(
int from = -1,
int to = -1);
73 static void clearSegProbs();
74 static void readProbabilities(
int zusNumber);
75 static void readAllParameters();
76 static void storeGCPars(
int idx);
77 static void resetModelCount(){utrcount = 0;};
78 static void setTtsSpacing(
int spacing){ ttsSpacing = spacing; };
81 Double seqProb (
int left,
int right,
bool reverse,
int type)
const;
82 static void computeLengthDistributions( );
83 static void fillTailsOfLengthDistributions( );
84 void process5InitSequence(
const char* start,
const char* end);
85 void process5Sequence(
const char* start,
const char* end);
86 void process3Sequence(
const char* start,
const char* end);
87 void processTssupSequence(
const char* start,
const char* end);
91 int findTATA(
const char* seq,
int maxpos,
bool reverseComplement=
false)
const;
92 void processTSS(
const char* start);
93 void initCountVars ( );
94 Double longIntronProb(
int internalBegin,
int internalEnd)
const;
95 static void initSnippetProbs();
96 void decrementEndOfPred(
int &endOfPred, list<int>::iterator &eopit,
bool inCache);
97 void updatePossibleEOPs(list<int>::iterator &eopit,
int endOfBioExon,
bool &inCache);
102 static Integer utrcount;
103 static vector<Integer> utr5_emicount;
104 static vector<Integer> utr5init_emicount;
105 static vector<Integer> utr3_emicount;
106 static Double utr_patpseudo;
113 static Integer utr5init_gesbasen;
114 static Integer utr5_gesbasen;
115 static Integer utr3_gesbasen;
117 static double utr5patternweight;
118 static double utr3patternweight;
119 static double utr5prepatternweight;
120 static double utr3prepatternweight;
121 static vector<Integer> tssup_emicount;
122 static Double tssup_patpseudo;
123 static vector<Double> tssup_emiprobs;
124 static vector<Double> *GCtssup_emiprobs;
125 static Integer tssup_gesbasen;
126 static Integer tssup_k;
127 static vector<Integer> lenCount5Single;
128 static vector<Integer> lenCount5Initial;
129 static vector<Integer> lenCount5Internal;
130 static vector<Integer> lenCount5Terminal;
131 static vector<Double> lenDist5Single;
132 static vector<Double> lenDist5Initial;
133 static vector<Double> lenDist5Internal;
134 static vector<Double> lenDist5Terminal;
135 static vector<Double> tailLenDist5Single;
136 static vector<Integer> lenCount3Single;
137 static vector<Integer> lenCount3Initial;
138 static vector<Integer> lenCount3Internal;
139 static vector<Integer> lenCount3Terminal;
140 static vector<Double> lenDist3Single;
141 static vector<Double> lenDist3Initial;
142 static vector<Double> lenDist3Internal;
143 static vector<Double> lenDist3Terminal;
144 static vector<Double> tailLenDist3Single;
145 static vector<Double> tssProbsPlus;
146 static vector<Double> tssProbsMinus;
147 static Integer num5Single, num5Initial, num5Internal, num5Terminal, num5Introns;
148 static Integer numHuge5Single, numHuge5Initial, numHuge5Internal, numHuge5Terminal;
149 static Integer num3Single, num3Initial, num3Internal, num3Terminal, num3Introns;
150 static Integer numHuge3Single, numHuge3Initial, numHuge3Internal, numHuge3Terminal;
151 static Integer exonLenD;
152 static Integer max_exon_length;
153 static Integer max3singlelength;
154 static Integer max3termlength;
155 static double slope_of_bandwidth;
156 static Integer minwindowcount;
157 static Boolean hasLenDist;
158 static Integer tss_start;
159 static Integer tss_end;
160 static Integer tata_start;
161 static Integer tata_end;
162 static Integer tata_pseudocount;
163 static Integer d_tss_tata_min;
164 static Integer d_tss_tata_max;
165 static Motif *tssMotif;
166 static Motif *GCtssMotif;
167 static Motif *ttsMotif;
168 static Motif *GCttsMotif;
169 static Motif *tssMotifTATA;
170 static Motif *GCtssMotifTATA;
171 static Motif *tataMotif;
172 static Motif *GCtataMotif;
174 static vector<Integer> intron_emicount;
178 static SegProbs *initSegProbs5, *segProbs5, *rInitSegProbs5, *rSegProbs5, *rSegProbs3, *segProbs3, *intronSegProbs;
179 static bool initAlgorithmsCalled, haveSnippetProbs;
180 static vector<Integer> aataaa_count;
181 static vector<Double> aataaa_probs;
182 static int aataaa_boxlen;
183 static string polyasig_consensus;
184 static int d_polya_cleavage_min;
185 static int d_polya_cleavage_max;
186 static double prob_polya;
187 static int tts_motif_memory;
188 static double pUtr5Intron, pUtr3Intron, prUtr5Intron, prUtr3Intron;
189 static Double *ttsProbPlus, *ttsProbMinus;
190 static vector<Integer> distCountTata;
191 static int lastParIndex;
192 static int verbosity;
193 static int ttsSpacing;