From 39fcde9c19eb9b5dbd08648431386ad451725646 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Thu, 28 Feb 2013 00:58:24 -0500 Subject: [PATCH] updated NEWS further --- NEWS | 25 +++++++++++++++++-------- example.c | 5 +++-- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/NEWS b/NEWS index 0a969e1..25ad9ff 100644 --- a/NEWS +++ b/NEWS @@ -13,23 +13,32 @@ task given longer reads, either, and the edit-distance criterion is arguably not as important in long-read alignment. In addition to the algorithmic improvements, BWA-SW also implements a few -handy features, some of which are experimental: +handy features in practical aspects: - 1. BWA-MEM automatically infers pair orientation from a batch of single-end + 1. BWA-MEM automatically switches between local and glocal (global wrt reads; + local wrt reference) alignment. It reports the end-to-end glocal alignment + if the glocal alignment is not much worse than the optimal local alignment. + Glocal alignment reduces reference bias. + + 2. BWA-MEM automatically infers pair orientation from a batch of single-end alignments. It allows more than one orientations if there are sufficient - reads supporting them. This feature has not been tested on reads from - Illumina jumping library yet. + supporting reads. This feature has not been tested on reads from Illumina + jumping library yet. (EXPERIMENTAL) - 2. BWA-MEM optionally takes one interleaved fastq for paired-end mapping. It + 3. BWA-MEM optionally takes one interleaved fastq for paired-end mapping. It is possible to convert a name-sorted BAM to an interleaved fastq on the fly and feed the data stream to BWA-MEM for mapping. - 3. BWA-MEM optionally copies FASTA/Q comments to the final SAM output. This + 4. BWA-MEM optionally copies FASTA/Q comments to the final SAM output, which helps to transfer individual read annotations to the output. - 4. BWA-MEM supports more advanced piping. Users can now run: + 5. BWA-MEM supports more advanced piping. Users can now run: (bwa mem ref.fa '= 0) continue; // skip secondary alignments a = mem_reg2aln(opt, idx->bns, idx->pac, ks->seq.l, (uint8_t*)ks->seq.s, &ar.a[i]); // get forward-strand position and CIGAR + // print alignment printf("%s\t%c\t%s\t%d\t%d\t", ks->name.s, "+-"[a.is_rev], idx->bns->anns[a.rid].name, a.pos, a.mapq); - for (k = 0; k < a.n_cigar; ++k) + for (k = 0; k < a.n_cigar; ++k) // print CIGAR printf("%d%c", a.cigar[k]>>4, "MIDSH"[a.cigar[k]&0xf]); - printf("\t%d\n", a.NM); + printf("\t%d\n", a.NM); // print edit distance free(a.cigar); // don't forget to deallocate CIGAR } free(ar.a); // and deallocate the hit list