-
Notifications
You must be signed in to change notification settings - Fork 1
/
branch.h
142 lines (83 loc) · 3.85 KB
/
branch.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
138
139
140
141
#ifndef __BRANCH_H__
#define __BRANCH_H__
#define BRANCH_LOW_PROB 1e-20
#define BRANCH_LEN_SMALL 1e-12
#include "bkgd_evo_mdl_param.h"
#include "bkgd_evo_mdl.h"
void branch_set_prob(Branch *, const BkgdEvoMdlParam *,
const BkgdEvoMdlConfig *conf);
void branch_set_dprob(Branch *br, const BkgdBin *bin,
const BkgdEvoMdlParam *param,
const BkgdEvoMdlConfig *conf);
/********************
* HC model functions
********************/
/* branch length & probabilities */
void branch_set_len__hc_h_c(Branch *, const BkgdEvoMdlParam *);
/* branch length partial derivatives */
void branch_set_dlen__hc_h_c(Branch *, const BkgdBin *,
const BkgdEvoMdlParam *);
/********************
* HCM model functions
********************/
/* branch length & probabilities */
void branch_set_len__hcm_h_c(Branch *, const BkgdEvoMdlParam *);
void branch_set_len__hcm_m(Branch *, const BkgdEvoMdlParam *);
/* branch length partial derivatives */
void branch_set_dlen__hcm_h_c(Branch *, const BkgdBin *,
const BkgdEvoMdlParam *);
void branch_set_dlen__hcm_m(Branch *, const BkgdBin *,
const BkgdEvoMdlParam *);
/********************
* HCOM model functions
********************/
/* branch length & probabilities */
void branch_set_len__hcom_h_c(Branch *, const BkgdEvoMdlParam *);
void branch_set_len__hcom_hc(Branch *, const BkgdEvoMdlParam *);
void branch_set_len__hcom_o(Branch *, const BkgdEvoMdlParam *);
void branch_set_len__hcom_m(Branch *, const BkgdEvoMdlParam *);
/* branch length partial derivatives */
void branch_set_dlen__hcom_h_c(Branch *, const BkgdBin *,
const BkgdEvoMdlParam *);
void branch_set_dlen__hcom_hc(Branch *, const BkgdBin *,
const BkgdEvoMdlParam *);
void branch_set_dlen__hcom_o(Branch *, const BkgdBin *,
const BkgdEvoMdlParam *);
void branch_set_dlen__hcom_m(Branch *, const BkgdBin *,
const BkgdEvoMdlParam *);
/********************************************************
* HCGOM model functions
********************************************************/
/* branch length & probabilities */
void branch_set_len__hcgom_h(Branch *br, const BkgdEvoMdlParam *param);
void branch_set_len__hcgom_c(Branch *br, const BkgdEvoMdlParam *param);
void branch_set_len__hcgom_g(Branch *br, const BkgdEvoMdlParam *param);
void branch_set_len__hcgom_hc(Branch *br, const BkgdEvoMdlParam *param);
void branch_set_len__hcgom_hg_cg(Branch *br, const BkgdEvoMdlParam *param);
void branch_set_len__hcgom_hg(Branch *br, const BkgdEvoMdlParam *param);
void branch_set_len__hcgom_cg(Branch *br, const BkgdEvoMdlParam *param);
void branch_set_len__hcgom_hcg(Branch *br, const BkgdEvoMdlParam *param);
void branch_set_len__hcgom_o(Branch *br, const BkgdEvoMdlParam *param);
void branch_set_len__hcgom_m(Branch *br, const BkgdEvoMdlParam *param);
/* partial derivatives */
void branch_set_dlen__hcgom_h(Branch *br, const BkgdBin *bin,
const BkgdEvoMdlParam *param);
void branch_set_dlen__hcgom_c(Branch *br, const BkgdBin *bin,
const BkgdEvoMdlParam *param);
void branch_set_dlen__hcgom_g(Branch *br, const BkgdBin *bin,
const BkgdEvoMdlParam *param);
void branch_set_dlen__hcgom_hc(Branch *, const BkgdBin *bin,
const BkgdEvoMdlParam *param);
void branch_set_dlen__hcgom_hg_cg(Branch *br, const BkgdBin *bin,
const BkgdEvoMdlParam *param);
void branch_set_dlen__hcgom_hg(Branch *br, const BkgdBin *bin,
const BkgdEvoMdlParam *param);
void branch_set_dlen__hcgom_cg(Branch *br, const BkgdBin *bin,
const BkgdEvoMdlParam *param);
void branch_set_dlen__hcgom_hcg(Branch *br, const BkgdBin *bin,
const BkgdEvoMdlParam *param);
void branch_set_dlen__hcgom_o(Branch *br, const BkgdBin *bin,
const BkgdEvoMdlParam *param);
void branch_set_dlen__hcgom_m(Branch *br, const BkgdBin *bin,
const BkgdEvoMdlParam *param);
#endif