]> git.donarmstrong.com Git - samtools.git/blobdiff - bam_maqcns.h
added revised MAQ error model
[samtools.git] / bam_maqcns.h
index 2c94fec066b25552b6008f28b8c129f5672cccc5..28733a5dbd8f467105d736bc4ffa1919be4d9e56 100644 (file)
@@ -3,11 +3,15 @@
 
 #include "glf.h"
 
+#define BAM_ERRMOD_MAQ2 0
+#define BAM_ERRMOD_MAQ  1
+#define BAM_ERRMOD_SOAP 2
+
 struct __bmc_aux_t;
 
 typedef struct {
        float het_rate, theta;
-       int n_hap;
+       int n_hap, cap_mapQ, errmod;
 
        float eta, q_r;
        double *fk, *coef;
@@ -16,15 +20,17 @@ typedef struct {
 } bam_maqcns_t;
 
 typedef struct {
-       int q_indel;
-       float r_indel;
+       int q_indel; // indel sequencing error, phred scaled
+       float r_indel; // indel prior
+       float r_snp; // snp prior
        // hidden parameters, unchangeable from command line
        int mm_penalty, indel_err, ambi_thres;
 } bam_maqindel_opt_t;
 
 typedef struct {
        int indel1, indel2;
-       int cnt1, cnt2, cnt_ambi, cnt_anti;
+       int cnt1, cnt2, cnt_anti;
+       int cnt_ref, cnt_ambi;
        char *s[2];
        //
        int gt, gl[2];
@@ -44,7 +50,8 @@ extern "C" {
        uint32_t glf2cns(const glf1_t *g, int q_r);
 
        bam_maqindel_opt_t *bam_maqindel_opt_init();
-       bam_maqindel_ret_t *bam_maqindel(int n, int pos, const bam_maqindel_opt_t *mi, const bam_pileup1_t *pl, const char *ref);
+       bam_maqindel_ret_t *bam_maqindel(int n, int pos, const bam_maqindel_opt_t *mi, const bam_pileup1_t *pl, const char *ref,
+                                                                        int _n_types, int *_types);
        void bam_maqindel_ret_destroy(bam_maqindel_ret_t*);
 
 #ifdef __cplusplus