]> git.donarmstrong.com Git - samtools.git/blobdiff - bam_index.c
move bcftools to samtools
[samtools.git] / bam_index.c
index 3fa950d5235297c36c598258ce20b80183b3f04b..4152f2022f3178ef4fd0ee6b6001effae8f2ce3c 100644 (file)
@@ -120,7 +120,7 @@ static void merge_chunks(bam_index_t *idx)
                index = idx->index[i];
                for (k = kh_begin(index); k != kh_end(index); ++k) {
                        bam_binlist_t *p;
-                       if (!kh_exist(index, k)) continue;
+                       if (!kh_exist(index, k) || kh_key(index, k) == BAM_MAX_BIN) continue;
                        p = &kh_value(index, k);
                        m = 0;
                        for (l = 1; l < p->n; ++l) {
@@ -504,7 +504,7 @@ int bam_idxstats(int argc, char *argv[])
        bam_index_t *idx;
        bam_header_t *header;
        bamFile fp;
-       int i, no_stats = 0;
+       int i;
        if (argc < 2) {
                fprintf(stderr, "Usage: samtools idxstats <in.bam>\n");
                return 1;
@@ -522,12 +522,10 @@ int bam_idxstats(int argc, char *argv[])
                k = kh_get(i, h, BAM_MAX_BIN);
                if (k != kh_end(h))
                        printf("\t%llu\t%llu", (long long)kh_val(h, k).list[1].u, (long long)kh_val(h, k).list[1].v);
-               else no_stats = 1;
+               else printf("\t0\t0");
                putchar('\n');
        }
-       printf("*\t0");
-       if (!no_stats) printf("\t0\t%llu", (long long)idx->n_no_coor);
-       putchar('\n');
+       printf("*\t0\t0\t%llu\n", (long long)idx->n_no_coor);
        bam_header_destroy(header);
        bam_index_destroy(idx);
        return 0;