0
|
1 #ifndef BCF_PROB1_H
|
|
2 #define BCF_PROB1_H
|
|
3
|
|
4 #include "bcf.h"
|
|
5
|
|
6 struct __bcf_p1aux_t;
|
|
7 typedef struct __bcf_p1aux_t bcf_p1aux_t;
|
|
8
|
|
9 typedef struct {
|
|
10 int rank0, perm_rank; // NB: perm_rank is always set to -1 by bcf_p1_cal()
|
|
11 int ac; // ML alternative allele count
|
|
12 double f_exp, f_flat, p_ref_folded, p_ref, p_var_folded, p_var;
|
|
13 double cil, cih;
|
|
14 double cmp[3], p_chi2, lrt; // used by contrast2()
|
|
15 } bcf_p1rst_t;
|
|
16
|
|
17 typedef struct {
|
|
18 double p[4];
|
|
19 int mq, depth, is_tested, d[4];
|
|
20 } anno16_t;
|
|
21
|
|
22 #define MC_PTYPE_FULL 1
|
|
23 #define MC_PTYPE_COND2 2
|
|
24 #define MC_PTYPE_FLAT 3
|
|
25
|
|
26 #ifdef __cplusplus
|
|
27 extern "C" {
|
|
28 #endif
|
|
29
|
|
30 bcf_p1aux_t *bcf_p1_init(int n, uint8_t *ploidy);
|
|
31 void bcf_p1_init_prior(bcf_p1aux_t *ma, int type, double theta);
|
|
32 void bcf_p1_init_subprior(bcf_p1aux_t *ma, int type, double theta);
|
|
33 void bcf_p1_destroy(bcf_p1aux_t *ma);
|
|
34 void bcf_p1_set_ploidy(bcf1_t *b, bcf_p1aux_t *ma);
|
|
35 int bcf_p1_cal(const bcf1_t *b, int do_contrast, bcf_p1aux_t *ma, bcf_p1rst_t *rst);
|
|
36 int call_multiallelic_gt(bcf1_t *b, bcf_p1aux_t *ma, double threshold, int var_only);
|
|
37 int bcf_p1_call_gt(const bcf_p1aux_t *ma, double f0, int k);
|
|
38 void bcf_p1_dump_afs(bcf_p1aux_t *ma);
|
|
39 int bcf_p1_read_prior(bcf_p1aux_t *ma, const char *fn);
|
|
40 int bcf_p1_set_n1(bcf_p1aux_t *b, int n1);
|
|
41 void bcf_p1_set_folded(bcf_p1aux_t *p1a); // only effective when set_n1() is not called
|
|
42
|
|
43 int bcf_em1(const bcf1_t *b, int n1, int flag, double x[10]);
|
|
44
|
|
45 #ifdef __cplusplus
|
|
46 }
|
|
47 #endif
|
|
48
|
|
49 #endif
|