Augustus 3.4.0
Loading...
Searching...
No Matches
igenicmodel.hh
1/*
2 * igenicmodel.hh
3 *
4 * License: Artistic License, see file LICENSE.TXT or
5 * https://opensource.org/licenses/artistic-license-1.0
6 */
7
8#ifndef __IGENICMODEL_HH
9#define __IGENICMODEL_HH
10
11#include "statemodel.hh"
12
18public:
19 IGenicModelError(string msg) : ProjectError(msg) {}
20};
21
28class IGenicModel : public StateModel {
29public:
30 IGenicModel() : gweight(1) {
31 init();
32 }
33 ~IGenicModel() {}
34
35 StateType getStateType() const {
36 return igenic;
37 }
38
39 void buildModel ( const AnnoSequence* annoseq, int parIndex );
40 void registerPars ( Parameters* parameters);
41 void printProbabilities ( int zusNumber, BaseCount *bc, const char* suffix = NULL );
42 void initAlgorithms ( Matrix<Double>&, int);
43 void viterbiForwardAndSampling(ViterbiMatrixType&, ViterbiMatrixType&, int, int,
44 AlgorithmVariant, OptionListItem&);
45 Double emiProbUnderModel(int begin, int end) const;
46 static void init();
47 static void setSFC(SequenceFeatureCollection *sfc) {
48 seqFeatColl = sfc;
49 }
50 static void resetPars() {}
51 static void updateToLocalGC(int from, int to);
52 static void readProbabilities(int zusNumber);
53 static void readAllParameters();
54 static void storeGCPars(int idx);
55 static double getGeoProb(){return geoProb;}
56 static vector<double> getNucleotideProbs(){return nucProbs[0];}
57
58private:
59 void processSequence( const char* start, const char* end );
60public:
61 static Integer k; // UTR intron and intron
62 static PatMMGroup emiprobs; // can use this data.
63 static PatMMGroup *GCemiprobs; // array for each GC content class
64private:
65 Integer gweight;
66 static Double patpseudocount;
67 static Integer gesbasen;
68 static vector<Integer> emicount;
69 static vector<vector<Double> > Pls;
70 static vector<vector<Double> >* GCPls;
71 static vector<vector<double> > nucProbs;
72 static int lastParIndex; // GC-index of current parameter set
73 static int verbosity;
74 static double geoProb;
75};
76
77#endif // __IGENICMODEL_HH
Definition gene.hh:548
Definition motif.hh:33
Definition igenicmodel.hh:17
intergenic region
Definition igenicmodel.hh:28
This class implements a double object with a very large range.
Definition lldouble.hh:31
A simple matrix class. Base class for all mathematical matrix objects.
Definition matrix.hh:27
Options lists are used for sampling; items also in backtracking.
Definition vitmatrix.hh:748
Definition merkmal.hh:148
Contains a vector of parameters. Is used in particular for intron emiprobs.
Definition merkmal.hh:80
Definition types.hh:449
ProjectError()
Definition types.hh:460
holds all extrinsic feature information for one sequence
Definition extrinsicinfo.hh:86
This is the base interface class common to all state model classes (ExonModel, IntronModel,...
Definition statemodel.hh:65
An array of Viterbi columns.
Definition vitmatrix.hh:687