output cigar

This commit is contained in:
Heng Li 2017-06-23 22:53:47 -04:00
parent 35b84f88c6
commit 2987be288c
2 changed files with 8 additions and 4 deletions

View File

@ -63,9 +63,8 @@ static void mm_append_cigar(mm_reg1_t *r, uint32_t n_cigar, uint32_t *cigar) //
if (r->p == 0) {
uint32_t capacity = n_cigar + sizeof(mm_extra_t);
kroundup32(capacity);
r->p = (mm_extra_t*)malloc(capacity * 4);
r->p->n_cigar = 0, r->p->capacity = capacity;
r->p->n_diff = r->p->n_ambi = 0;
r->p = (mm_extra_t*)calloc(capacity, 4);
r->p->capacity = capacity;
} else if (r->p->n_cigar + n_cigar + sizeof(mm_extra_t) > r->p->capacity) {
r->p->capacity = r->p->n_cigar + n_cigar + sizeof(mm_extra_t);
kroundup32(r->p->capacity);

7
map.c
View File

@ -386,7 +386,12 @@ static void *worker_pipeline(void *shared, int step, void *in)
else printf("\t%d\t%d\t255", r->score, r->re - r->rs > r->qe - r->qs? r->re - r->rs : r->qe - r->qs);
printf("\tcm:i:%d", r->cnt);
if (r->parent == j) printf("\tss:i:%d", r->subsc);
if (r->p) printf("\tNM:i:%d\tAS:i:%d\tnn:i:%d", r->p->n_diff, r->p->score, r->p->n_ambi);
if (r->p) {
uint32_t k;
printf("\tNM:i:%d\tAS:i:%d\tnn:i:%d\tcg:Z:", r->p->n_diff, r->p->score, r->p->n_ambi);
for (k = 0; k < r->p->n_cigar; ++k)
printf("%d%c", r->p->cigar[k]>>4, "MID"[r->p->cigar[k]&0xf]);
}
putchar('\n');
free(r->p);
}