From bf65b6463a8815eed9863d925a131bba6f401911 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Thu, 24 Nov 2011 19:44:21 -0500 Subject: [PATCH] fastmap: optionally output the original query seq --- fastmap.c | 13 +++++++++---- main.c | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/fastmap.c b/fastmap.c index 8776869..4d7a675 100644 --- a/fastmap.c +++ b/fastmap.c @@ -55,7 +55,7 @@ int smem_next(smem_i *iter) int main_fastmap(int argc, char *argv[]) { - int c, i, min_iwidth = 20, min_len = 17; + int c, i, min_iwidth = 20, min_len = 17, print_seq = 0; kseq_t *seq; bwtint_t k; gzFile fp; @@ -63,14 +63,15 @@ int main_fastmap(int argc, char *argv[]) bntseq_t *bns; smem_i *iter; - while ((c = getopt(argc, argv, "w:l:")) >= 0) { + while ((c = getopt(argc, argv, "w:l:s")) >= 0) { switch (c) { + case 's': print_seq = 1; break; case 'w': min_iwidth = atoi(optarg); break; case 'l': min_len = atoi(optarg); break; } } if (optind + 1 >= argc) { - fprintf(stderr, "Usage: bwa fastmap [-l minLen=%d] [-w maxSaSize=%d] \n", min_len, min_iwidth); + fprintf(stderr, "Usage: bwa fastmap [-s] [-l minLen=%d] [-w maxSaSize=%d] \n", min_len, min_iwidth); return 1; } @@ -87,9 +88,13 @@ int main_fastmap(int argc, char *argv[]) } iter = smem_iter_init(bwt); while (kseq_read(seq) >= 0) { + printf("SQ\t%s\t%ld", seq->name.s, seq->seq.l); + if (print_seq) { + putchar('\t'); + puts(seq->seq.s); + } else putchar('\n'); for (i = 0; i < seq->seq.l; ++i) seq->seq.s[i] = nst_nt4_table[(int)seq->seq.s[i]]; - printf("SQ\t%s\t%ld\n", seq->name.s, seq->seq.l); smem_set_query(iter, seq->seq.l, (uint8_t*)seq->seq.s); while (smem_next(iter) > 0) { for (i = 0; i < iter->matches->n; ++i) { diff --git a/main.c b/main.c index c1d9864..9298bc8 100644 --- a/main.c +++ b/main.c @@ -4,7 +4,7 @@ #include "utils.h" #ifndef PACKAGE_VERSION -#define PACKAGE_VERSION "0.6.0-r100-dev" +#define PACKAGE_VERSION "0.6.0-r102-dev" #endif static int usage()