Bowtie2 is probably the most widely used aligner because of it's speed. Burrow-wheeler (BW) algorithms (including bwa) tend to be faster. However, they have limitations when it comes to aligning very short reads (e.g. gRNA). Also, setting maximum number of mismatches allowed is complicated by the seed length, overlaps and other parameters.

I wonder if there is any better multi-purpose aligner out there. May be with algorithm other that BW. One which allows special cases e.g. allowing shord reads and high number of mismatches.

Note from @bricoletc: bowtie2 uses an FM index for read alignment, which is built on top of the Burrows-Wheeler transform. So both bowtie2 and bwa are BW-based aligners.

  • 3
    $\begingroup$ How long is "very short"? Bowtie2 is not optimized for <=36bp query sequences; nor most aligners developed in the past 5 years or so. Bowtie1 or bwa-aln will work better. $\endgroup$
    – user172818
    Jun 18, 2018 at 1:53
  • $\begingroup$ @user172818 When you say "not optimized", do you mean using the default settings, or more generally ? $\endgroup$
    – bli
    Jun 18, 2018 at 9:52
  • 3
    $\begingroup$ @bli in general. Aligning 100bp reads is a very different problem from aligning <36bp reads. $\endgroup$
    – user172818
    Jun 18, 2018 at 12:05

1 Answer 1


Bowtie2 is no longer the fastest aligner. As you point out, BWA is faster, despite being based on the same Burrows-Wheeler transform as Bowtie2. As @user172818 points out, bwa-aln will work better for very short sequences under 36bp.

For transcript mapping, Salmon and Kallisto are much faster, but have been designed to optimise cDNA-seq mapping. Their speed is gained from avoiding a strict base-to-base alignment, but they can output mostly-aligned reads (i.e. position-only, without local alignment) as pseudo-alignments. See here for more details.

Both Kallisto and Salmon can do additional bootstrapping that is interpreted by sleuth (and other downstream tools) for improved performance in isoform detection. They can also output counts that are equivalent to read-level counts from other programs, which can then be used by other downstream gene-based differential expression analysis software (e.g. DESeq2). Salmon has additional options that can correct mappings for sequence-level and GC bias.

HISAT2 is from the same group as Bowtie2, and does the same sort of stuff, but with a few optimisations added on top. In particular, it's much better at working out split reads from RNASeq runs, while also working for genomic alignments. Like Bowtie2, it will do local alignment of reads.

For quick genomic alignment of long reads, minimap2 works well. For high-accuracy alignment (but comparatively slower), LAST works well.

There are two programs I have used that are specifically designed for long read transcript quantification that process minimap2 read mapping into isoform counts (based on a provided reference transcriptome): bambu and oarfish. Both seem to work reasonably well; bambu is a native R package with nice isoform visualisation included; oarfish produces Salmon-like output that can be imported into R via tximport.

Most bioinformaticians seem to prefer STAR for things that Bowtie2 was previously used for. I'm not yet convinced it's a better alternative, and currently prefer HISAT2 for high accuracy short-read alignment.

According to @kasper-thystrup-karstensen, STAR is able to read Chimeric alignments (for detecting e.g. circular RNA through custom coding).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.