BWA-MEM Tutorial

Overview of BWA-MEM

BWA-MEM is a sequence alignment software that is part of the BWA (Burrows-Wheeler Aligner) package. It is designed for mapping low-divergent sequences against a large reference genome, such as the human genome. BWA includes three algorithms: BWA-backtrack, BWA-SW, and BWA-MEM. BWA-backtrack is optimized for short reads up to 100bp, while BWA-SW and BWA-MEM are intended for longer reads ranging from 70bp to 1Mbp.

BWA-MEM is the most recent addition to the BWA suite and is recommended for high-quality queries as it is faster and more accurate than the other algorithms. It is particularly effective for reads between 70-100bp, where it outperforms BWA-backtrack. BWA-MEM is based on an algorithm that finds super-maximal exact matches (SMEMs) and was first introduced with the fermi assembler paper in 2012. The algorithm was later extended and became a fully featured mapper by February 2013.

The BWA-MEM algorithm supports long-reads and split alignment, which are useful features for aligning sequences that may contain structural variations or are from different species with divergent genomes. It is also capable of handling chimeric reads and outputs alignments in the SAM format, which is compatible with various SNP callers like samtools and GATK.

Before using BWA-MEM for alignment, the FM-index of the reference genome must be constructed using the index command. The alignment process itself is then performed using the mem sub-command.

In summary, BWA-MEM is a powerful tool for sequence alignment that combines speed and accuracy, making it a preferred choice for researchers working with next-generation sequencing data.


To install BWA-MEM, you will need to download the software package from the official source. The installation process typically involves compiling the source code, which requires a C compiler like GCC. Detailed installation instructions are usually provided with the software package, and it is important to follow these instructions carefully to ensure that the software is installed correctly.

Quick Start

Once BWA-MEM is installed, the first step is to index the reference genome using the index command. This creates the FM-index which is necessary for the alignment process. After indexing, you can align your reads to the reference genome using the mem sub-command. The basic command structure for these operations is as follows:

bwa index reference.fa
bwa mem reference.fa reads.fq > alignment.sam

Here, reference.fa is the reference genome file, and reads.fq is the file containing your sequencing reads. The output is an alignment file in SAM format.

Code Examples Of Popular Commands

Here are five popular commands used with BWA-MEM:

  1. Indexing a reference genome:

    bwa index -p ref_index reference.fa

    This command creates an index of the reference genome reference.fa with the prefix ref_index.

  2. Aligning sequencing reads:

    bwa mem ref_index reads.fq > aligned_reads.sam

    This command aligns the sequencing reads in reads.fq to the indexed reference genome and outputs the alignment to aligned_reads.sam.

  3. Aligning paired-end reads:

    bwa mem ref_index reads_1.fq reads_2.fq > aligned_pair.sam

    For paired-end reads, you can specify both the forward (reads_1.fq) and reverse (reads_2.fq) files.

  4. Generating a sorted BAM file:

    bwa mem ref_index reads.fq | samtools sort -o sorted_reads.bam

    This command pipes the output of BWA-MEM directly to samtools sort to generate a sorted BAM file.

  5. Using additional options for alignment:

    bwa mem -t 4 -M ref_index reads.fq > aligned_reads.sam

    The -t option specifies the number of threads to use, which can speed up the alignment process. The -M option marks shorter split hits as secondary, which is useful for compatibility with certain downstream tools.

These commands provide a starting point for using BWA-MEM to align sequencing reads to a reference genome. The actual commands you use may vary depending on your specific data and analysis requirements.

In conclusion, BWA-MEM is a versatile and efficient tool for sequence alignment. Its ability to handle various types of sequencing data and its compatibility with other bioinformatics tools make it a valuable resource for genomic research. Whether you are working with short reads or long reads, BWA-MEM offers a reliable solution for mapping your sequences to a reference genome.