X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=sam%2Fbcftools%2Fprob1.h;fp=sam%2Fbcftools%2Fprob1.h;h=38275349750bde05f386387a36dc6ffdc0466223;hb=2e4fdfb2673d928779b04bc5ebe8fcb304a45eaa;hp=0000000000000000000000000000000000000000;hpb=a97cc1d4f0111f7fe523227412a2147f7a763d56;p=rsem.git diff --git a/sam/bcftools/prob1.h b/sam/bcftools/prob1.h new file mode 100644 index 0000000..3827534 --- /dev/null +++ b/sam/bcftools/prob1.h @@ -0,0 +1,41 @@ +#ifndef BCF_PROB1_H +#define BCF_PROB1_H + +#include "bcf.h" + +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; + double cil, cih; + double pc[4]; + double g[3]; +} bcf_p1rst_t; + +#define MC_PTYPE_FULL 1 +#define MC_PTYPE_COND2 2 +#define MC_PTYPE_FLAT 3 + +#ifdef __cplusplus +extern "C" { +#endif + + bcf_p1aux_t *bcf_p1_init(int n); + 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(bcf1_t *b, 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 + +#ifdef __cplusplus +} +#endif + +#endif