-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlikelihood.h
137 lines (131 loc) · 6.42 KB
/
likelihood.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
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#ifndef __LIKELIHOOD_H__
#define __LIKELIHOOD_H__
//#define TIMING_ANALIZ
#if defined (TIMING_ANALIZ)
static clock_t CPUCondLikeDown;
static clock_t CPUScalers;
static clock_t CPUScalersRemove;
static clock_t CPUCondLikeRoot;
static clock_t CPULilklihood;
#define TIME(X1,CPUtime)\
{CPUTimeStart = clock();\
X1;\
CPUtime += (clock()-CPUTimeStart);}
#else
#define TIME(X1,CPUtime)\
X1;
#endif
#define A 0
#define C 1
#define G 2
#define T 3
#define AA 0
#define AC 1
#define AG 2
#define AT 3
#define CA 4
#define CC 5
#define CG 6
#define CT 7
#define GA 8
#define GC 9
#define GG 10
#define GT 11
#define TA 12
#define TC 13
#define TG 14
#define TT 15
CLFlt *preLikeL; /* precalculated cond likes for left descendant */
CLFlt *preLikeR; /* precalculated cond likes for right descendant*/
CLFlt *preLikeA; /* precalculated cond likes for ancestor */
int CondLikeDown_Bin (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeDown_Bin_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeDown_Gen (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeDown_Gen_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeDown_Gen_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeDown_NUC4 (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeDown_NUC4_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeDown_NUC4_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeDown_NY98 (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeDown_NY98_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeDown_Std (TreeNode *p, int division, int chain);
int CondLikeRoot_Bin (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeRoot_Bin_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeRoot_Gen (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeRoot_Gen_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeRoot_Gen_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeRoot_NUC4 (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeRoot_NUC4_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeRoot_NUC4_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeRoot_NY98 (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeRoot_NY98_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeRoot_Std (TreeNode *p, int division, int chain);
int CondLikeScaler_Gen (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeScaler_Gen_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeScaler_Gen_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeScaler_NUC4 (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeScaler_NUC4_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeScaler_NUC4_GibbsGamma (TreeNode *p, int division, int chain);
int CondLikeScaler_NY98 (TreeNode *p, int division, int chain);
#if defined (SSE_ENABLED)
int CondLikeScaler_NY98_SSE (TreeNode *p, int division, int chain);
#endif
int CondLikeScaler_Std (TreeNode *p, int division, int chain);
int CondLikeUp_Bin (TreeNode *p, int division, int chain);
int CondLikeUp_Gen (TreeNode *p, int division, int chain);
int CondLikeUp_NUC4 (TreeNode *p, int division, int chain);
int CondLikeUp_Std (TreeNode *p, int division, int chain);
#if defined(BEAGLE_MULTIPART_ENABLED)
void LaunchLogLikeForBeagleMultiPartition(int chain, MrBFlt* lnL);
#endif
void LaunchLogLikeForDivision (int chain, int d, MrBFlt* lnL);
int Likelihood_Adgamma (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_Gen (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#if defined (SSE_ENABLED)
int Likelihood_Gen_SSE (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#endif
int Likelihood_Gen_GibbsGamma (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_NUC4 (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#if defined (SSE_ENABLED)
int Likelihood_NUC4_SSE (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#endif
int Likelihood_NUC4_GibbsGamma (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_NY98 (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#if defined (SSE_ENABLED)
int Likelihood_NY98_SSE (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#endif
int Likelihood_Pars (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_ParsStd (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int Likelihood_Res (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#if defined (SSE_ENABLED)
int Likelihood_Res_SSE (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
#endif
int Likelihood_Std (TreeNode *p, int division, int chain, MrBFlt *lnL, int whichSitePats);
int TiProbs_Fels (TreeNode *p, int division, int chain);
int TiProbs_Gen (TreeNode *p, int division, int chain);
int TiProbs_GenCov (TreeNode *p, int division, int chain);
int TiProbs_Hky (TreeNode *p, int division, int chain);
int TiProbs_JukesCantor (TreeNode *p, int division, int chain);
int TiProbs_Std (TreeNode *p, int division, int chain);
int TiProbs_Res (TreeNode *p, int division, int chain);
#endif /* __LIKELIHOOD_H__ */