1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
/*****************************************************************************\
* Fielname : igenicmodel.hh
* Author : Mario Stanke
* Email : stanke@math.uni-goettingen.de
* Project : HMM
*
* Copyright: (C) 2002 by Mario Stanke
*
* Description:
*
*
* Date | Author | Changes
* Mit Jun 26 2002 | Mario Stanke | Creation of the file
* -----------------|----------------|---------------------------------------
\******************************************************************************/
#ifndef __IGENICMODEL_HH
#define __IGENICMODEL_HH
#include "statemodel.hh"
class IGenicModelError : public ProjectError {
public:
IGenicModelError(string msg) : ProjectError(msg) {}
};
class IGenicModel : public StateModel {
public:
IGenicModel() : gweight(1) {
init();
}
~IGenicModel() {}
StateType getStateType() const {
return igenic;
}
void buildModel ( const AnnoSequence* annoseq, int parIndex );
void registerPars ( Parameters* parameters);
void printProbabilities ( int zusNumber, BaseCount *bc, const char* suffix = NULL );
void initAlgorithms ( Matrix<Double>&, int);
void viterbiForwardAndSampling(ViterbiMatrixType&, ViterbiMatrixType&, int, int,
AlgorithmVariant, OptionListItem&);
Double emiProbUnderModel(int begin, int end) const;
static void init();
static void setSFC(SequenceFeatureCollection *sfc) {
seqFeatColl = sfc;
}
static void resetPars() {}
static void updateToLocalGC(int from, int to);
static void readProbabilities(int zusNumber);
static void readAllParameters();
static void storeGCPars(int idx);
static double getGeoProb(){return geoProb;}
static vector<double> getNucleotideProbs(){return nucProbs[0];}
private:
void processSequence( const char* start, const char* end );
public:
static Integer k; // UTR intron and intron
static PatMMGroup emiprobs; // can use this data.
static PatMMGroup *GCemiprobs; // array for each GC content class
private:
Integer gweight;
static Double patpseudocount;
static Integer gesbasen;
static vector<Integer> emicount;
static vector<vector<Double> > Pls;
static vector<vector<Double> >* GCPls;
static vector<vector<double> > nucProbs;
static int lastParIndex; // GC-index of current parameter set
static int verbosity;
static double geoProb;
};
#endif // __IGENICMODEL_HH
|