]> git.donarmstrong.com Git - samtools.git/blobdiff - bam_md.c
* samtools-0.1.6-22 (r509)
[samtools.git] / bam_md.c
index e2fdff801aebf4cf8e28d8e620434ec21a48ac69..3ca730993cbc01065eb2c76bd66df1640808e032 100644 (file)
--- a/bam_md.c
+++ b/bam_md.c
@@ -59,7 +59,6 @@ void bam_fillmd1(bam1_t *b, char *ref, int is_equal)
        if (old_nm) old_nm_i = bam_aux2i(old_nm);
        if (!old_nm) bam_aux_append(b, "NM", 'i', 4, (uint8_t*)&nm);
        else if (nm != old_nm_i) {
-               uint8_t *old_data = b->data;
                fprintf(stderr, "[bam_fillmd1] different NM for read '%s': %d -> %d\n", bam1_qname(b), old_nm_i, nm);
                bam_aux_del(b, old_nm);
                bam_aux_append(b, "NM", 'i', 4, (uint8_t*)&nm);
@@ -133,8 +132,11 @@ int bam_fillmd(int argc, char *argv[])
                                free(ref);
                                ref = fai_fetch(fai, fp->header->target_name[b->core.tid], &len);
                                tid = b->core.tid;
+                               if (ref == 0)
+                                       fprintf(stderr, "[bam_fillmd] fail to find sequence '%s' in the reference.\n",
+                                                       fp->header->target_name[tid]);
                        }
-                       bam_fillmd1(b, ref, is_equal);
+                       if (ref) bam_fillmd1(b, ref, is_equal);
                }
                samwrite(fpout, b);
        }