X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bcftools%2Fprob1.h;h=eb0b145285715c54d997693c449b5262462cb904;hb=70c740facc966321754c6bfcc6d61ea056480638;hp=3f89dda5fafb59278e8e60cadcd82fe46fb0eaf0;hpb=d382711a770f67a72b9af3bfd98a88fbced34f64;p=samtools.git diff --git a/bcftools/prob1.h b/bcftools/prob1.h index 3f89dda..eb0b145 100644 --- a/bcftools/prob1.h +++ b/bcftools/prob1.h @@ -8,12 +8,17 @@ typedef struct __bcf_p1aux_t bcf_p1aux_t; typedef struct { int rank0, perm_rank; // NB: perm_rank is always set to -1 by bcf_p1_cal() - double f_em, f_exp, f_flat, p_ref_folded, p_ref, p_var_folded, p_var; + int ac; // ML alternative allele count + double f_exp, f_flat, p_ref_folded, p_ref, p_var_folded, p_var; double cil, cih; - double cmp[3], p_chi2; // used by contrast2() - double g[3]; + double cmp[3], p_chi2, lrt; // used by contrast2() } bcf_p1rst_t; +typedef struct { + double p[4]; + int mq, depth, is_tested, d[4]; +} anno16_t; + #define MC_PTYPE_FULL 1 #define MC_PTYPE_COND2 2 #define MC_PTYPE_FLAT 3 @@ -26,13 +31,17 @@ extern "C" { void bcf_p1_init_prior(bcf_p1aux_t *ma, int type, double theta); void bcf_p1_init_subprior(bcf_p1aux_t *ma, int type, double theta); void bcf_p1_destroy(bcf_p1aux_t *ma); - int bcf_p1_cal(const bcf1_t *b, bcf_p1aux_t *ma, bcf_p1rst_t *rst); + void bcf_p1_set_ploidy(bcf1_t *b, bcf_p1aux_t *ma); + int bcf_p1_cal(const bcf1_t *b, int do_contrast, bcf_p1aux_t *ma, bcf_p1rst_t *rst); + int call_multiallelic_gt(bcf1_t *b, bcf_p1aux_t *ma, double threshold); int bcf_p1_call_gt(const bcf_p1aux_t *ma, double f0, int k); void bcf_p1_dump_afs(bcf_p1aux_t *ma); int bcf_p1_read_prior(bcf_p1aux_t *ma, const char *fn); int bcf_p1_set_n1(bcf_p1aux_t *b, int n1); void bcf_p1_set_folded(bcf_p1aux_t *p1a); // only effective when set_n1() is not called + int bcf_em1(const bcf1_t *b, int n1, int flag, double x[10]); + #ifdef __cplusplus } #endif