对bwa-mem过程进行加速优化
 
 
 
 
 
 
Go to file
Heng Li db58392e9b dev-469: fixed wrong command line prompt 2014-04-09 13:20:04 -04:00
.gitignore Added Makefile.bak and bwamem-lite to .gitignore 2013-03-13 09:18:18 +00:00
COPYING Imported from my local bwa repository, the master repository. 2011-01-13 20:52:12 -05:00
ChangeLog Update to the latest modfication 0.5.9rc1-2. Update ChangeLog 2011-01-13 20:54:10 -05:00
Makefile dev-465: a new output format for read overlap 2014-04-08 16:29:36 -04:00
NEWS r455: release bwa-0.7.8 2014-03-31 15:27:23 -04:00
QSufSort.c removed a few unused variables 2013-02-23 13:26:50 -05:00
QSufSort.h move bwt_gen/* to the root directory 2011-10-20 11:56:24 -04:00
README.md r439: expose mem_opt_t::max_matesw 2014-02-19 13:10:33 -05:00
bamlite.c Removed more dependencies on utils.h 2013-05-03 11:38:48 +01:00
bamlite.h Removed more dependencies on utils.h 2013-05-03 11:38:48 +01:00
bntseq.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
bntseq.h r283: prepare for fixing cross-ref aln 2013-02-25 22:49:15 -05:00
bwa.1 r455: release bwa-0.7.8 2014-03-31 15:27:23 -04:00
bwa.c dev-450: support diff ins/del penalties. NO TEST!! 2014-03-28 14:54:06 -04:00
bwa.h dev-450: support diff ins/del penalties. NO TEST!! 2014-03-28 14:54:06 -04:00
bwamem.c dev-467: limit the max #chains to extend 2014-04-08 21:45:49 -04:00
bwamem.h dev-467: limit the max #chains to extend 2014-04-08 21:45:49 -04:00
bwamem_extra.c dev-465: a new output format for read overlap 2014-04-08 16:29:36 -04:00
bwamem_pair.c dev-453: change of -A scales -TdBOELU 2014-03-31 11:52:52 -04:00
bwape.c fix duplicate PG lines in bwape and bwase 2014-01-05 14:54:48 -05:00
bwase.c fix duplicate PG lines in bwape and bwase 2014-01-05 14:54:48 -05:00
bwase.h removed color-space support 2013-02-12 10:21:17 -05:00
bwaseqio.c Removed more dependencies on utils.h 2013-05-03 11:38:48 +01:00
bwt.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
bwt.h Fixed clang compiling warnings 2014-03-16 15:18:22 -04:00
bwt_gen.c Removed more dependencies on utils.h 2013-05-03 11:38:48 +01:00
bwt_lite.c Fixed clang compiling warnings 2014-03-16 15:18:22 -04:00
bwt_lite.h Fixed clang compiling warnings 2014-03-16 15:18:22 -04:00
bwtaln.c r397: multi changes/bugfixes to bwa-backtrack 2013-05-24 16:28:18 -04:00
bwtaln.h r397: multi changes/bugfixes to bwa-backtrack 2013-05-24 16:28:18 -04:00
bwtgap.c r397: multi changes/bugfixes to bwa-backtrack 2013-05-24 16:28:18 -04:00
bwtgap.h r397: multi changes/bugfixes to bwa-backtrack 2013-05-24 16:28:18 -04:00
bwtindex.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
bwtsw2.h r132: optionally copy FASTA/Q comment to SAM 2012-10-26 12:54:32 -04:00
bwtsw2_aux.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
bwtsw2_chain.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
bwtsw2_core.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
bwtsw2_main.c Ensure exit status of 1 if given invalid options or index files are not found. 2013-04-29 13:58:28 +01:00
bwtsw2_pair.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
example.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
fastmap.c dev-469: fixed wrong command line prompt 2014-04-09 13:20:04 -04:00
is.c Removed more dependencies on utils.h 2013-05-03 11:38:48 +01:00
kbtree.h Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
khash.h Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
kopen.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
kseq.h Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
ksort.h Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
kstring.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
kstring.h Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
ksw.c dev-460: disallow a cigar 20M2D2I30M in extension 2014-04-04 10:44:34 -04:00
ksw.h dev-448: different ins/del penalties 2014-03-28 10:54:23 -04:00
kthread.c use kthread for multi-threading 2013-11-02 12:13:11 -04:00
kvec.h Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
main.c dev-469: fixed wrong command line prompt 2014-04-09 13:20:04 -04:00
malloc_wrap.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
malloc_wrap.h Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
pemerge.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
qualfa2fq.pl Imported from my local bwa repository, the master repository. 2011-01-13 20:52:12 -05:00
utils.c Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
utils.h Reduce dependency on utils.h - new malloc wrapping scheme. 2013-05-02 15:12:01 +01:00
xa2multi.pl Bugfix: reverse (complement) sequence and phred string if alternative alignment has different orientation than primary alignment 2011-09-07 14:31:28 +02:00

README.md

###Getting started

git clone https://github.com/lh3/bwa.git
cd bwa; make
./bwa index ref.fa
./bwa mem ref.fa read-se.fq.gz | gzip -3 > aln-se.sam.gz
./bwa mem ref.fa read1.fq read2.fq | gzip -3 > aln-pe.sam.gz

###Introduction

BWA is a software package for mapping low-divergent sequences against a large reference genome, such as the human genome. It consists of three algorithms: BWA-backtrack, BWA-SW and BWA-MEM. The first algorithm is designed for Illumina sequence reads up to 100bp, while the rest two for longer sequences ranged from 70bp to 1Mbp. BWA-MEM and BWA-SW share similar features such as the support of long reads and chimeric alignment, but BWA-MEM, which is the latest, is generally recommended for high-quality queries as it is faster and more accurate. BWA-MEM also has better performance than BWA-backtrack for 70-100bp Illumina reads.

For all the algorithms, BWA first needs to construct the FM-index for the reference genome (the index command). Alignment algorithms are invoked with different sub-commands: aln/samse/sampe for BWA-backtrack, bwasw for BWA-SW and mem for the BWA-MEM algorithm.

###Availability

BWA is released under GPLv3. The latest souce code is freely available at github. Released packages can be downloaded at SourceForge. After you acquire the source code, simply use make to compile and copy the single executable bwa to the destination you want. The only dependency of BWA is zlib.

###Seeking helps

The detailed usage is described in the man page available together with the source code. You can use man ./bwa.1 to view the man page in a terminal. The HTML version of the man page can be found at the BWA website. If you have questions about BWA, you may sign up the mailing list and then send the questions to bio-bwa-help@sourceforge.net. You may also ask questions in forums such as BioStar and SEQanswers.

###Citing BWA

  • Li H. and Durbin R. (2009) Fast and accurate short read alignment with Burrows-Wheeler transform. Bioinformatics, 25, 1754-1760. [PMID: 19451168]. (if you use the BWA-backtrack algorithm)

  • Li H. and Durbin R. (2010) Fast and accurate long-read alignment with Burrows-Wheeler transform. Bioinformatics, 26, 589-595. [PMID: 20080505]. (if you use the BWA-SW algorithm)

  • Li H. (2013) Aligning sequence reads, clone sequences and assembly contigs with BWA-MEM. arXiv:1303.3997v2 [q-bio.GN]. (if you use the BWA-MEM algorithm or the fastmap command, or want to cite the whole BWA package)

Please note that the last reference is a preprint hosted at arXiv.org. I do not have plan to submit it to a peer-reviewed journal in the near future.