updated NEWS further
This commit is contained in:
parent
f3cff1c609
commit
39fcde9c19
25
NEWS
25
NEWS
|
|
@ -13,23 +13,32 @@ task given longer reads, either, and the edit-distance criterion is arguably
|
||||||
not as important in long-read alignment.
|
not as important in long-read alignment.
|
||||||
|
|
||||||
In addition to the algorithmic improvements, BWA-SW also implements a few
|
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
|
alignments. It allows more than one orientations if there are sufficient
|
||||||
reads supporting them. This feature has not been tested on reads from
|
supporting reads. This feature has not been tested on reads from Illumina
|
||||||
Illumina jumping library yet.
|
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
|
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.
|
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.
|
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 '<bzcat r1.fq.bz2' '<bzcat r2.fq.bz2') to map bzip'd read
|
(bwa mem ref.fa '<bzcat r1.fq.bz2' '<bzcat r2.fq.bz2') to map bzip'd read
|
||||||
files without replying on the bash feature.
|
files without replying on bash features.
|
||||||
|
|
||||||
|
6. BWA-MEM provides a few basic APIs for single-end mapping. The `example.c'
|
||||||
|
program in the source code directory implements a full single-end mapper in
|
||||||
|
50 lines of code.
|
||||||
|
|
||||||
The BWA-MEM algorithm is in the beta phase. It is not advised to use BWA-MEM
|
The BWA-MEM algorithm is in the beta phase. It is not advised to use BWA-MEM
|
||||||
for production use yet. However, when the implementation becomes stable after a
|
for production use yet. However, when the implementation becomes stable after a
|
||||||
|
|
|
||||||
|
|
@ -33,10 +33,11 @@ int main(int argc, char *argv[])
|
||||||
mem_aln_t a;
|
mem_aln_t a;
|
||||||
if (ar.a[i].secondary >= 0) continue; // skip secondary alignments
|
if (ar.a[i].secondary >= 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
|
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);
|
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("%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(a.cigar); // don't forget to deallocate CIGAR
|
||||||
}
|
}
|
||||||
free(ar.a); // and deallocate the hit list
|
free(ar.a); // and deallocate the hit list
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue