]> git.donarmstrong.com Git - samtools.git/blobdiff - bam_mcns.h
supposedly this is THE correct implementation, but more testing is needed
[samtools.git] / bam_mcns.h
index ac1e41c845a0f4f3073ae8017fb2f536e8476e6b..6f1a3109b666da3c59dd056922135513ad38faf3 100644 (file)
@@ -6,14 +6,28 @@
 struct __mc_aux_t;
 typedef struct __mc_aux_t mc_aux_t;
 
+typedef struct {
+       // O(n)
+       int ref, alt, alt2;
+       double f_em, f_naive, f_nielsen;
+       // O(n^2)
+       double p_ref, f_exp;
+} mc_rst_t;
+
+#define MC_PTYPE_FULL  1
+#define MC_PTYPE_COND2 2
+#define MC_PTYPE_FLAT  3
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
        mc_aux_t *mc_init(int n);
+       void mc_init_prior(mc_aux_t *ma, int type, double theta);
        void mc_destroy(mc_aux_t *ma);
-       double mc_freq0(int ref, int *n, const bam_pileup1_t **plp, mc_aux_t *ma, int *_ref, int *alt);
-       double mc_freq_iter(double f0, mc_aux_t *ma);
+       int mc_cal(int ref, int *n, const bam_pileup1_t **plp, mc_aux_t *ma, mc_rst_t *rst, int level);
+       int mc_call_gt(const mc_aux_t *ma, double f0, int k);
+       void mc_dump_afs(mc_aux_t *ma);
 
 #ifdef __cplusplus
 }