File: likelihoodComputationGL.h

package info (click to toggle)
fastml 3.11-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,772 kB
  • sloc: cpp: 48,522; perl: 3,588; ansic: 819; makefile: 386; python: 83; sh: 55
file content (100 lines) | stat: -rw-r--r-- 3,927 bytes parent folder | download | duplicates (10)
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#ifndef ___LIKELIHOOD_COMPUTATION_GL
#define ___LIKELIHOOD_COMPUTATION_GL

#include "definitions.h"
#include "computePijComponent.h"
#include "sequenceContainer.h"
#include "suffStatComponent.h"
#include "unObservableData.h"
#include "computeUpAlg.h"


namespace likelihoodComputationGL {


	MDOUBLE getTreeLikelihoodAllPosAlphTheSame(const tree& tr,
		const sequenceContainer& sc,
		const vector<vector<stochasticProcess*> >& spVVec,
		const distribution * distGain, const distribution * distLoss,
		const Vdouble * const weights,     
		unObservableData *unObservableData_p =NULL);
	void fillPijAndUp(const tree& tr,
		const sequenceContainer& sc,
		const vector<vector<stochasticProcess*> >& spVVec,
		const distribution * distGain, const distribution * distLoss,
		vector<computePijGam>& pi_vec,
		vector<suffStatGlobalGam>& ssc_vec,
		vector<computeUpAlg>& cup_vec);
	MDOUBLE getProbOfPosUpIsFilledSelectionGam(const int pos,const tree& tr,
		const sequenceContainer& sc,
		const vector<vector<stochasticProcess*> >& spVVec, // only needed for sp.freq(let)
		const suffStatGlobalGamPos& cup,
		const distribution * distGain, const distribution * distLoss);
	
	
	MDOUBLE getTreeLikelihoodFromUp2(const tree& tr,
		const sequenceContainer& sc,
		const vector<vector<stochasticProcess*> >& spVVec,// only needed for sp.freq(let)
		const suffStatGlobalGam& cup,
		const distribution * distGain, const distribution * distLoss,
		const Vdouble * weights,
		unObservableData *unObservableData_p,
		Vdouble* posLike =NULL);
	MDOUBLE getTreeLikelihoodFromUp2(const tree& tr,
		const sequenceContainer& sc,
		const vector<vector<stochasticProcess*> >& spVVec,// only needed for sp.freq(let)
		const vector<suffStatGlobalGam>& cup_vec,
		const distribution * distGain, const distribution * distLoss,
		const Vdouble * weights,
		unObservableData *unObservableData_p,
		Vdouble* posLike =NULL);

// Error
	//MDOUBLE getTreeLikelihoodAllPosAlphTheSameNoComputeUp(const tree& tr,
	//	const sequenceContainer& sc,
	//	const vector<vector<stochasticProcess*> >& spVVec,
	//	const distribution * distGain, const distribution * distLoss,
	//	unObservableData *unObservableData_p);


///********************************************************************************************
//un-obervable data
//*********************************************************************************************/
//// used to fill the likelihood for the unobservable for each category
//	doubleRep getLofPos(const int pos,
//		const tree& tr,
//		const sequenceContainer& sc,
//		const computePijGam& pi,
//		const stochasticProcess& sp,
//		Vdouble& likePerCat);	// all the likdelhoodsPerCat and rateProb are filled
//// likelihood computation - full data (1)
//	MDOUBLE getTreeLikelihoodAllPosAlphTheSame(const tree& tr,
//		const sequenceContainer& sc,
//		const stochasticProcess& sp,
//		const Vdouble * const weights,
//		Vdouble *pLforMissingDataPerCat=NULL);
////	likelihood computation - per pos (1.1)
//	doubleRep getLofPos(const int pos,					// this function is used
//		const tree& tr,					// when gamma, and the br-len
//		const sequenceContainer& sc,		// are the same for all pos.
//		const computePijGam& pi,
//		const stochasticProcess& sp,
//		Vdouble *pLforMissingDataPerCat=NULL);
//// likelihood computation - per pos, per cat (1.1.1)
//	doubleRep getLofPos(const int pos,					// this function is used
//		const tree& tr,					// when the br-len
//		const sequenceContainer& sc,		// are the same for all
//		const computePijHom& pi,			// positions.
//		const stochasticProcess& sp);
//	
//	Vdouble getLofPosPerCat(const int pos,				// used when the likelihood given each category is needed, not only the sum
//		const tree& tr,
//		const sequenceContainer& sc,
//		const computePijGam& pi,
//		const stochasticProcess& sp);



};

#endif