6d9d28e3cee6c7d0a66efbd5314912ac511cd384
[samtools.git] / bcftools / prob1.h
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;
11         double f_em, f_exp, f_flat, p_ref;
12         double cil, cih;
13         double pc[4];
14         double g[3];
15 } bcf_p1rst_t;
16
17 #define MC_PTYPE_FULL  1
18 #define MC_PTYPE_COND2 2
19 #define MC_PTYPE_FLAT  3
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25         bcf_p1aux_t *bcf_p1_init(int n);
26         void bcf_p1_init_prior(bcf_p1aux_t *ma, int type, double theta);
27         void bcf_p1_init_subprior(bcf_p1aux_t *ma, int type, double theta);
28         void bcf_p1_destroy(bcf_p1aux_t *ma);
29         int bcf_p1_cal(bcf1_t *b, bcf_p1aux_t *ma, bcf_p1rst_t *rst);
30         int bcf_p1_call_gt(const bcf_p1aux_t *ma, double f0, int k);
31         void bcf_p1_dump_afs(bcf_p1aux_t *ma);
32         int bcf_p1_read_prior(bcf_p1aux_t *ma, const char *fn);
33         long double bcf_p1_cal_g3(bcf_p1aux_t *p1a, double g[3]);
34         int bcf_p1_set_n1(bcf_p1aux_t *b, int n1);
35
36 #ifdef __cplusplus
37 }
38 #endif
39
40 #endif