]> git.donarmstrong.com Git - samtools.git/commitdiff
another minor fix to mpileup
authorHeng Li <lh3@live.co.uk>
Fri, 23 Jul 2010 17:50:48 +0000 (17:50 +0000)
committerHeng Li <lh3@live.co.uk>
Fri, 23 Jul 2010 17:50:48 +0000 (17:50 +0000)
bam_plcmd.c

index 34366332ecf895188c29b2a88e8a062d871ffe0d..a5bcdf560a5bfdfd14a9a2eccffb46be1164e8cc 100644 (file)
@@ -558,7 +558,7 @@ static int mpileup(mplp_conf_t *conf, int n, char **fn)
                }
                if (conf->vcf) {
                        double f0, f, fpost, pref = -1.0; // the reference allele frequency
-                       int j, _ref, _alt, _ref0, depth, rms_q, _ref0b, is_var = 0, qref = 0;
+                       int j, _ref, _alt, _ref0, depth, rms_q, _ref0b, is_var = 0, qref = 0, filtered = 0;
                        uint64_t sqr_sum;
                        _ref0 = _ref0b = (ref && pos < ref_len)? ref[pos] : 'N';
                        _ref0 = bam_nt16_nt4_table[bam_nt16_table[_ref0]];
@@ -581,6 +581,7 @@ static int mpileup(mplp_conf_t *conf, int n, char **fn)
                                qref = (int)(-3.434 * log(q) + .499);
                                if (qref > 99) qref = 99;
                        }
+                       filtered = (f >= 0. && f <= 1.)? 0 : 1;
                        if (conf->var_only && !is_var) continue;
                        printf("%s\t%d\t.\t%c\t", h->target_name[tid], pos + 1, _ref0b);
                        if (is_var) {
@@ -588,7 +589,7 @@ static int mpileup(mplp_conf_t *conf, int n, char **fn)
                                else printf("%c,%c", "ACGTN"[_ref], "ACGTN"[_alt]);
                        } else putchar('.');
                        printf("\t%d\t", qref);
-                       if (f0 < 0.) printf("Q13\t");
+                       if (filtered) printf("Q13\t");
                        else printf(".\t");
                        for (i = depth = 0, sqr_sum = 0; i < n; ++i) {
                                depth += n_plp[i];