X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=samtools.git;a=blobdiff_plain;f=bcftools%2Fprob1.h;h=0a51a0ae2650f377f4fc48665109487687eb69cb;hp=b4f6a304ae49ff31f9ef9ae88db268cd3f01640e;hb=b301e959d73eee0955c57004f344f17af00703f4;hpb=c34624801b980425af68c3c431423c72b18c14fe diff --git a/bcftools/prob1.h b/bcftools/prob1.h index b4f6a30..0a51a0a 100644 --- a/bcftools/prob1.h +++ b/bcftools/prob1.h @@ -7,11 +7,11 @@ struct __bcf_p1aux_t; typedef struct __bcf_p1aux_t bcf_p1aux_t; typedef struct { - int rank0; - double f_em, f_exp, f_flat, p_ref_folded, p_ref, p_var_folded, p_var; + int rank0, perm_rank; // NB: perm_rank is always set to -1 by bcf_p1_cal() + 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 pc[4]; - double g[3]; + double cmp[3], p_chi2, lrt; // used by contrast2() } bcf_p1rst_t; #define MC_PTYPE_FULL 1 @@ -22,18 +22,19 @@ typedef struct { extern "C" { #endif - bcf_p1aux_t *bcf_p1_init(int n); + bcf_p1aux_t *bcf_p1_init(int n, uint8_t *ploidy); 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); + int bcf_p1_cal(const bcf1_t *b, int do_contrast, bcf_p1aux_t *ma, bcf_p1rst_t *rst); 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); - long double bcf_p1_cal_g3(bcf_p1aux_t *p1a, double g[3]); 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