Skip to main content
. 2021 Aug 26;22:249. doi: 10.1186/s13059-021-02443-7

Table 1.

Summary of algorithms and features of the examined read alignment methods. We surveyed 107 alignment tools published from 1988 to 2020 (indicated in column “Year of publication”). The table is sorted by year of publication, and then grouped according to the area(s) of application (indicated in column “Application”) within each year. In column “Indexing,” we document the algorithms used to index the genome (the first step in read alignment). In column “Global Positioning,” we document the algorithms used to determine a global position of the read in the reference genome (the second step). In column “Pairwise alignment,” we document the algorithm used to determine the similarity between the read and the corresponding region of the reference genome (the last step). SW, NW, HD, and DP stand for Smith-Waterman algorithm, Needleman-Wunsch algorithm, Hamming distance, and dynamic programming, respectively. In column “Wrapper,” we document the read alignment algorithms that are built on top of other read alignment tools. Finally, we report the maximum read length tested in the corresponding paper in column “Max. Read Length Tested in the Paper (bp).” The tested read length in each paper is not necessarily the maximum read length that each tool can handle

Aligner URL Year of publication Application Indexing Global Positioning Pairwise alignment Wrapper Max. read length tested in the paper (bp)
Fix length seed Spaced seed Seed chaining
FASTA [30] https://fasta.bioch.virginia.edu/fasta_www2/fasta_list2.shtml 1988 DNA Hashing Y N Y SW and NW N 1500
BLAST [31] https://blast.ncbi.nlm.nih.gov/Blast.cgi 1990 DNA Hashing Y N Y Non-DP Heuristic N 73360
Gapped BLAST [32] https://blast.ncbi.nlm.nih.gov/Blast.cgi 1997 DNA Hashing Y N Y SW N 246
SSAHA [33] https://www.sanger.ac.uk/science/tools/ssaha 2001 DNA Hashing Y N N NW N 500
PatternHunter [3437] https://www.bioinfor.com/ 2002 DNA Hashing Y Y Y Non-DP heuristic N 500
BLAT [38] https://genome.ucsc.edu/cgi-bin/hgBlat 2002 DNA Hashing Y N Y Non-DP heuristic N 500
BLASTZ [39] https://www.bx.psu.edu/miller_lab/ 2003 DNA Hashing Y N N SW Y 3000
C4 [40] https://github.com/nathanweeks/exonerate 2005 DNA Hashing Y N Y Sparse DP N N/A
GMAP [41] https://github.com/juliangehring/GMAP-GSNAP 2005 DNA Hashing N N Y NW N N/A
BWT-SW [42] https://github.com/mruffalo/bwt-sw 2008 DNA BWT Y N N SW N 2000
MAQ [43] http://maq.sourceforge.net/maq-man.shtml 2008 DNA Hashing Y Y N SW N 63
RMAP [44] https://github.com/smithlabcode/rmap 2008 DNA Hashing Y N N HD N 36
SOAP [45] https://github.com/ShujiaHuang/SOAPaligner 2008 DNA Hashing Y N N Non-DP heuristic N 50
SOCS [46] http://socs.biology.gatech.edu/ 2008 DNA Hashing Y N N Rabin-Karp Algorithm N 35
SeqMap [47] http://www-personal.umich.edu/~jianghui/seqmap/ 2008 DNA Hashing Y N N Non-DP Heuristic N 30
ZOOM [48] http://www.bioinfor.com/zoom-1-3-gui-release-next-gen-seq/ 2008 DNA Hashing Y Y N SW N 36
QPALMA [49, 50] http://www.raetschlab.org/suppl/qpalma 2008 RNA-Seq Suffix array Y N Y SW Y 36
BRAT [51] http://compbio.cs.ucr.edu/brat/ 2009 BS-Seq Hashing Y N N HD N 26
BSMAP [52] https://github.com/genome-vendor/bsmap 2009 BS-Seq Hashing Y N N HD N 32
BFAST [53] https://github.com/nh13/BFAST/ 2009 DNA Hashing N Y N SW N 55
BWA [54] https://github.com/lh3/bwa 2009 DNA BWT-FM N N N Semi-Global N 125
Bowtie [55] http://bowtie-bio.sourceforge.net/manual.shtml 2009 DNA BWT-FM Y N N HD N 76
CloudBurst [56] https://sourceforge.net/projects/cloudburst-bio/ 2009 DNA Hashing Y N N Landau-Vishkin N 36
GNUMAP [57] https://github.com/byucsl/gnumap 2009 DNA Hashing Y N Y NW N 36
GenomeMapper [58] http://1001genomes.org/software/genomemapper_singleref.html 2009 DNA Hashing Y N Y NW N 200
MOM [59] https://github.com/hugheaves/MOM 2009 DNA Hashing Y N N HD N 40
PASS [60] http://pass.cribi.unipd.it/cgi-bin/pass.pl 2009 DNA Hashing Y N Y NW N 32
PerM [61] https://code.google.com/archive/p/perm/downloads 2009 DNA Hashing Y Y N HD N 47
RazerS [62] https://github.com/seqan/seqan/tree/master/apps/razers 2009 DNA Hashing Y Y Y Myers Bit Vector N 76
SHRiMP [63] http://compbio.cs.toronto.edu/shrimp/ 2009 DNA Hashing N N N SW N 35
SOAP2 [64] https://github.com/ShujiaHuang/SOAPaligner 2009 DNA BWT-FM Y N N SW N 44
Slider [65] http://www.bcgsc.ca/platform/bioinfo/software/slider 2009 DNA Hashing Y N N HD N 36
segemehl [66] https://www.bioinf.uni-leipzig.de/Software/segemehl/ 2009 DNA Suffix array N N Y SW N 35
TopHat [67] https://ccb.jhu.edu/software/tophat/index.shtml 2009 RNA-Seq BWT-FM Y N N HD Y 42
BS-Seeker [68] http://pellegrini-legacy.mcdb.ucla.edu/bs_seeker/BS_Seeker.html 2010 BS-Seq BWT-FM Y N N HD Y 36
BWA-SW [54] https://github.com/lh3/bwa 2010 DNA BWT-FM N N N SW N 10000
GASSST [35] http://www.irisa.fr/symbiose/projects/gassst/ 2010 DNA Hashing Y Y Y Semi-Global N 500
GSNAP [37] https://github.com/juliangehring/GMAP-GSNAP 2010 DNA Hashing Y N Y Non-DP Heuristic N 100
SMALT [69] https://github.com/rcallahan/smalt 2010 DNA Hashing Y N Y SW N 150
Slider II [70] http://www.bcgsc.ca/platform/bioinfo/software/SliderII 2010 DNA Hashing Y N N HD Y 42
VMATCH [71] http://www.vmatch.de/ 2010 DNA Suffix array Y N Y SW Y N/A
mrsFAST [72] https://github.com/sfu-compbio/mrsfast 2010 DNA Hashing Y N N HD N 100
MapSplice [73] https://github.com/LiuBioinfo/MapSplice 2010 RNA-Seq BWT-FM Y N N HD Y 100
MicroRazerS [74] https://github.com/seqan/seqan/tree/master/apps/micro_razers 2010 RNA-Seq Hashing Y N Y HD N 36
SpliceMap [75] http://web.stanford.edu/group/wonglab/SpliceMap/ 2010 RNA-Seq Hashing Y N N HD Y 50
Supersplat [76] http://mocklerlab.org/tools/1/manual 2010 RNA-Seq Hashing N N N NA N 36
Bismark [77] https://github.com/FelixKrueger/Bismark 2011 BS-Seq BWT-FM Y N Y SW & NW Y 50
LAST [78] http://last.cbrc.jp/ 2011 DNA/BS-Seq/RNA Suffix array N Y N SW & NW N 105
DynMap [79] https://dl.acm.org/citation.cfm?id=2147845&dl=ACM&coll=DL 2011 DNA Hashing Y N N NW N 52
SHRiMP2 [80] http://compbio.cs.toronto.edu/shrimp/ 2011 DNA Hashing Y Y Y SW N 75
SNAP [81] http://snap.cs.berkeley.edu/ 2011 DNA Hashing Y N N NW N 10000
Stampy [82] https://www.well.ox.ac.uk/project-stampy 2011 DNA Hashing Y N N NW N 4500

TMAP https://github.com/iontorrent/TS/tree/master/Analysis/TMAP 2011 DNA BWT-FM N N Y SW N N/A
X-Mate [83] http://grimmond.imb.uq.edu.au/X-MATE/ 2011 DNA Hashing N N N Non-DP Heuristic N 50
SOAPSplice [84] http://soap.genomics.org.cn/soapsplice.html 2011 RNA-Seq BWT-FM Y N N Non-DP Heuristic N 150
BRAT-BW [51] http://compbio.cs.ucr.edu/brat/ 2012 BS-Seq BWT-FM N N N HD N 62
BLASR [85] https://github.com/mchaisso/blasr/ 2012 DNA Suffix array Y N Y NW N 8000
Batmis [86] https://code.google.com/archive/p/batmis/ 2012 DNA BWT-ST Y N N HD N 100
Bowtie2 [87] http://bowtie-bio.sourceforge.net/bowtie2 2012 DNA BWT-FM Y N Y SW & NW N 400
GEM [88] https://github.com/smarco/gem3-mapper 2012 DNA BWT-FM N N Y SW & NW N 150
RazerS3 [89] https://github.com/seqan/seqan/tree/master/apps/razers3 2012 DNA Hashing Y Y Y Banded Myers Bit Vector N 800
SeqAlto [90] https://web.stanford.edu/group/wonglab/seqalto/ 2012 DNA Hashing Y N N NW N 200
SplazerS [91] https://github.com/seqan/seqan/blob/master/apps/splazers/README 2012 DNA Hashing Y N Y Banded Myers Bit Vector N 150
WHAM [92] http://pages.cs.wisc.edu/~jignesh/wham/ 2012 DNA Hashing Y N N NW N 74
YAHA [93] https://github.com/GregoryFaust/yaha 2012 DNA Hashing Y N Y SW N 10000
OSA [94] http://www.arrayserver.com/wiki/index.php?title=OSA 2012 RNA-Seq Hashing Y N N NA N 100
Passion [95] https://trac.nbic.nl/passion/ 2012 RNA-Seq Hashing Y N Y SW Y 75
BS-Seeker2 [96] https://github.com/BSSeeker/BSseeker2 2013 BS-Seq BWT-FM Y N Y SW & NW Y 250
Subread [97] http://subread.sourceforge.net/ 2013 DNA/RNA-Seq Hashing Y Y Y SW N 202
BWA-MEM [98] https://github.com/lh3/bwa 2013 DNA BWT-FM N N Y SW & NW N 650
Masai [99] http://www.seqan.de/projects/masai 2013 DNA Suffix tree N N Y Banded Myers Bit Vector N 150
NextGenMap [100] http://cibiv.github.io/NextGenMap/ 2013 DNA Hashing Y N N SW & NW N 250
SRmapper [101] http://www.umsl.edu/~wongch/software.html 2013 DNA Hashing Y N N HD N 100
mrFAST [102] https://github.com/BilkentCompGen/mrfast 2013 DNA Hashing Y N N Semi-Global N 180
CRAC [103] http://crac.gforge.inria.fr/ 2013 RNA-Seq BWT-FM Y N N Non-DP Heuristic N 200
STAR [104] https://github.com/alexdobin/STAR 2013 RNA-Seq Suffix array N N Y SW N 5000
TopHat2 [105] https://ccb.jhu.edu/software/tophat/index.shtml 2013 RNA-Seq BWT-FM Y N Y SW & NW Y 101
Subjunc [106] http://subread.sourceforge.net/ 2013 RNA-seq Hashing Y Y Y NW N 202
BWA-PSSM [107] http://bwa-pssm.binf.ku.dk/ 2014 DNA BWT-FM Y N N SW Y 100
CUSHAW3 [108] http://cushaw3.sourceforge.net/homepage.htm#latest 2014 DNA BWT-FM Y N Y SW & Semi-Global N 100
Hobbes2 [109] https://hobbes.ics.uci.edu/download.shtml 2014 DNA Hashing Y N Y Banded Myers Bit Vector N 100
MOSAIK [110] https://github.com/wanpinglee/MOSAIK 2014 DNA Hashing Y N N SW N 100
hpg-Aligner [111] https://github.com/opencb/hpg-aligner 2014 DNA Suffix array N N Y SW N 5000
mrsFAST-Ultra [112] https://github.com/sfu-compbio/mrsfast 2014 DNA Hashing Y N N HD N 100
JAGuaR [113] http://www.bcgsc.ca/platform/bioinfo/software/jaguar 2014 RNA-Seq BWT-FM Y N N SW Y 100
ContextMap 2 [114] http://www.bio.ifi.lmu.de/ContextMap 2015 RNA-Seq BWT-FM Y N Y SW & NW Y 76
HISAT [115] http://www.ccb.jhu.edu/software/hisat/index.shtml 2015 RNA-Seq BWT-FM Y N N Non-DP Heuristic N 100
ERNE 2 [116] http://erne.sourceforge.net/ 2016 DNA/BS-Seq BWT-FM + hashing Y N N HD N 100
GraphMap [117] https://github.com/isovic/graphmap 2016 DNA Hashing Y Y Y Semi-global N 9000
NanoBLASTer [118] https://github.com/ruhulsbu/NanoBLASTer 2016 DNA Hashing Y N Y NW N 7040
minimap [119] https://github.com/lh3/minimap 2016 DNA Hashing Y N N N/A N 13000
rHAT [120] https://github.com/dfguan/rHAT 2016 DNA Hashing Y N Y SW N 8000
KART [121] https://github.com/hsinnan75/KART 2017 DNA BWT-FM N N Y NW N 7118
LAMSA [122] https://github.com/hitbc/LAMSA 2017 DNA BWT-FM + hashing Y N Y Sparse DP Y 100000
DART [123] https://github.com/hsinnan75/DART 2017 RNA-Seq BWT-FM N N Y NW N 251
minimap2 [124] https://github.com/lh3/minimap2 2018 DNA/RNA-Seq Hashing Y N Y NW N 11628
DREAM-Yara [125] https://gitlab.com/pirovc/dream_yara/ 2018 DNA BWT-FM Y N N Banded Myers Bit Vector Y 150
MUMmer4 [126] https://github.com/mummer4/mummer 2018 DNA Suffix array Y N Y SW Y 7821
NGMLR [127] https://github.com/philres/ngmlr 2018 DNA Hashing Y N Y SW N 50000
lordFAST [128] https://github.com/vpc-ccg/lordfast 2018 DNA BWT-FM + hashing N N Y SW & NW N 35489
BatMeth2 [129] https://github.com/GuoliangLi-HZAU/BatMeth2/ 2019 BS-Seq BWT-FM Y N Y SW & NW N 125
GraphMap2 [130] https://github.com/lbcb-sci/graphmap2 2019 DNA/RNA-Seq Hashing Y Y Y Semi-global N 9000
Magic-BLAST [131] https://github.com/ncbi/magicblast 2019 DNA/RNA-Seq Hashing Y N N Non-DP Heuristic N 90000
BWA-MEM2 [132] https://github.com/bwa-mem2/bwa-mem2 2019 DNA BWT-FM N N Y SW N 650
HISAT2 [133] https://ccb.jhu.edu/software/hisat2/index.shtml 2019 DNA BWT-FM Y N N Non-DP Heuristic N 100
deSALT [134] https://github.com/hitbc/deSALT 2019 RNA-seq Hashing Y N Y SW N 8000
conLSH [135] https://www.dropbox.com/s/3jcu4i240kyu2tc/source%20code%20conLSH_bio.tar.gz?dl=0 2020 DNA Hashing Y N Y Sparse DP N 8000