]> git.donarmstrong.com Git - rsem.git/blob - sam/bcftools/prob1.h
Updated samtools to 0.1.19
[rsem.git] / sam / 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, 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