<p>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, <code>bwa-aln</code> will work better for very short sequences under 36bp.</p>
<p>For transcript mapping, <a href="http://salmon.readthedocs.io/en/latest/" rel="nofollow noreferrer">Salmon</a> and <a href="https://pachterlab.github.io/kallisto/download" rel="nofollow noreferrer">Kallisto</a> 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 <a href="https://pachterlab.github.io/kallisto/pseudobam.html" rel="nofollow noreferrer">here</a> for more details.</p>
<p>Both Kallisto and Salmon can do additional bootstrapping that is interpreted by <em>sleuth</em> (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. <a href="http://dx.doi.org/10.12688/f1000research.7563.2" rel="nofollow noreferrer">DESeq2</a>). Salmon has additional options that can  correct mappings for sequence-level and GC bias.</p>
<p><a href="http://ccb.jhu.edu/software/hisat2/index.shtml" rel="nofollow noreferrer">HISAT2</a> 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.</p>
<p>For quick genomic alignment of long reads, <a href="https://github.com/lh3/minimap2#map-long-genomic" rel="nofollow noreferrer">minimap2</a> works well. For high-accuracy alignment (but comparatively slower), <a href="https://github.com/mcfrith/last-rna/blob/master/last-long-reads.md" rel="nofollow noreferrer">LAST</a> works well.</p>
<p>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): <a href="https://github.com/GoekeLab/bambu" rel="nofollow noreferrer">bambu</a> and <a href="https://github.com/COMBINE-lab/oarfish" rel="nofollow noreferrer">oarfish</a>. 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.</p>
<p>Most bioinformaticians seem to prefer <a href="https://github.com/alexdobin/STAR/" rel="nofollow noreferrer">STAR</a> 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.</p>
<p>According to @kasper-thystrup-karstensen, STAR is able to read Chimeric alignments (for detecting e.g. circular RNA through custom coding).</p>

CC BY-SA 4.0
2018-06-17T23:55:32.563Z
2024-05-23T23:33:02.490Z
2024-05-23T23:33:02.490Z
gringer
<p><code>Bowtie2</code> is probably the most widely used aligner because of it's speed. Burrow-wheeler (BW) algorithms (including <code>bwa</code>) 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.</p>
<p>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.</p>
<hr />
<p>Note from @bricoletc: <code>bowtie2</code> uses an FM index for read alignment, which is built on top of the Burrows-Wheeler transform. So both <code>bowtie2</code> and <code>bwa</code> are BW-based aligners.</p>

CC BY-SA 4.0
2018-06-18T01:53:11.280Z
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.
user172818
CC BY-SA 4.0
2018-06-18T09:52:51.940Z
@user172818 When you say "not optimized", do you mean using the default settings, or more generally ?
bli
CC BY-SA 4.0
2018-06-18T12:05:29.043Z
@bli in general. Aligning 100bp reads is a very different problem from aligning <36bp reads.
user172818
<phylogenetics><sequence-analysis>
Better aligner than bowtie2?
# Better aligner than bowtie2?

(Asked by: username_0 on 2018-06-17)

`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.

**Tags:** phylogenetics, sequence-analysis
> **Comments:**
> **username_1**: 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.  
> **username_2**: @user172818 When you say "not optimized", do you mean using the default settings, or more generally ?  
> **username_1**: @bli in general. Aligning 100bp reads is a very different problem from aligning <36bp reads.  

---

## 1 answers

### Answer by username_3 on 2018-06-17. Score: 17 | Accepted answer

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](http://salmon.readthedocs.io/en/latest/) and [Kallisto](https://pachterlab.github.io/kallisto/download) 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](https://pachterlab.github.io/kallisto/pseudobam.html) 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](http://dx.doi.org/10.12688/f1000research.7563.2)). Salmon has additional options that can correct mappings for sequence-level and GC bias.

[HISAT2](http://ccb.jhu.edu/software/hisat2/index.shtml) 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](https://github.com/lh3/minimap2#map-long-genomic) works well. For high-accuracy alignment (but comparatively slower), [LAST](https://github.com/mcfrith/last-rna/blob/master/last-long-reads.md) 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](https://github.com/GoekeLab/bambu) and [oarfish](https://github.com/COMBINE-lab/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](https://github.com/alexdobin/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).


---

