63 StateType getStateType()
const {
66 void buildModel (
const AnnoSequence* annoseq,
int parIndex );
68 void printProbabilities (
int parIndex,
BaseCount *bc,
const char* suffix = NULL );
72 int state,
int endOfPred,
int beginOfBioExon,
Double &maxProb,
74 Double emiProbUnderModel(
int begin,
int end)
const;
75 Double endPartEmiProb(
int end)
const;
76 Double notEndPartEmiProb(
int beginOfStart,
int right,
int frameOfRight,
Feature *exonparts)
const;
78 static void storeGCPars(
int idx);
82 static void resetPars() {
83 initAlgorithmsCalled =
false;
85 static void updateToLocalGC(
int from = -1,
int to = -1);
86 static void readProbabilities(
int parIndex);
87 static void readAllParameters();
88 static double *getCodonUsage();
89 static void resetModelCount(){exoncount = 0;};
90 static int getMaxStateLen() {
return Constant::max_exon_len + trans_init_window; }
91 static void setORF() {
95 initAlgorithmsCalled =
false;
97 static vector<Double> lenDistSingle;
98 static vector<Double> lenDistInitial;
99 static vector<Double> lenDistInternal;
100 static vector<Double> lenDistTerminal;
103 void processExons(
const Gene* gene);
104 void processSingleExon(
const State* exon);
105 void processInitialExon(
const State* exon);
106 void processInternalExon(
const State* exon);
107 void processTerminalExon(
const State* exon);
108 void processInnerSequence(
const char* begin,
const char* end,
int modeltype = 0);
109 void buildProbabilities ( );
110 Double seqProb(
int endOfStart,
int right,
int frameOfRight)
const;
111 Double eTermSeqProb(
int left,
int right,
int frameOfRight)
const;
112 Double initialSeqProb(
int left,
int right,
int frameOfRight)
const;
113 void computeLowerOrderPats();
114 void computeCMFromBW ();
117 static void computeLengthDistributions( );
118 static void fillTailsOfLengthDistributions( );
119 static int getBaseOffset(StateType type);
120 static int getInnerPartEndOffset(StateType type);
127 int innerPartEndOffset;
133 static vector<Integer> patterncount[3];
135 static vector<Integer> initpatterncount[3];
136 static vector<Integer> etpatterncount[3] ;
138 static Integer etorder;
139 static Integer etpseudocount;
140 static Integer min_exon_length;
141 static Integer trans_init_window;
145 static vector<Double> initemiprobs[3];
146 static vector<Double> **GCinitemiprobs;
147 static vector<Double> etemiprobs[3];
148 static vector<Double> **GCetemiprobs;
149 static vector<Integer> numExonsOfType;
150 static vector<Integer> numHugeExonsOfType;
152 static Integer numSingle, numInitial, numInternal, numTerminal;
153 static Integer numHugeSingle, numHugeInitial, numHugeInternal, numHugeTerminal;
156 static Integer exoncount;
157 static Boolean hasLenDist;
158 static Integer gesbasen[3];
160 static Integer exonLenD;
161 static Integer minPatSum;
162 static vector<Integer> lenCountSingle;
163 static vector<Integer> lenCountInitial;
164 static vector<Integer> lenCountInternal;
165 static vector<Integer> lenCountTerminal;
166 static double slope_of_bandwidth;
167 static Integer minwindowcount;
168 static Motif *transInitMotif;
169 static Motif *GCtransInitMotif;
172 static Integer tis_motif_memory;
173 static Integer tis_motif_radius;
174 static Motif **etMotif;
175 static Motif ***GCetMotif;
176 static int numModels;
177 static Double *modelStartProbs;
180 static int ochrecount, ambercount, opalcount;
181 static bool initAlgorithmsCalled, haveORF;
182 static int lastParIndex;
183 static int verbosity;
184 static list<string> *tiswins;
185 static int startcounts[];
186 static int lenboostL;
187 static double lenboostE;
This is the base interface class common to all state model classes (ExonModel, IntronModel,...
Definition statemodel.hh:65