-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathhmm.h
52 lines (38 loc) · 1.32 KB
/
hmm.h
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
#include <cstdlib>
#include <vector>
#include <map>
#include <sstream>
#include <iostream>
#include <string>
#include <cmath>
#include <fstream>
#include "obsData.h"
#include "modelprob.h"
#include "hmmresults.h"
// These should be parameters:
//#define EXTERNAL_ULINDI_DERIVED_PROB 0.01
using namespace std ;
class hmm
{
public:
hmm( obsSequence *seq) ;
void computeFwdBwd(modelProb *prob, hmmResults *result);
void computeFwdBwd3states(modelProb *prob, hmmResults *result);
void writeLogFile(const char* fileName, string logInfo);
void writeLogFile3states(const char* fileName, string logInfo);
void writeOutputFile(void);
void writeOutputFile3states(void);
double prob_obs_internal( obsSite dat, probSegregDInternal prob );
double prob_obs_external( obsSite dat );
protected:
obsSequence *mObsSequence;
modelProb *mModelProb;
hmmResults *mHmmResults;
//temporary hmm results
// vector<double> mfwd_stateE_scaled;
// vector<double> mfwd_stateI_scaled;
// vector<double> mbwd_stateI_scaled;
// vector<double> mbwd_stateE_scaled;
// vector<bool> mExternal;
// double mlogLikelihood;
} ;