Daehwan Kim (infphilo@gmail.com) and Chanhee Park (parkchanhee@gmail.com)
HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (whole-genome, transcriptome, and exome sequencing data) to a population of human genomes (as well as to a single reference genome). Based on an extension of BWT for a graph [1], we designed and implemented a graph FM index (GFM), an original approach and its first implementation to the best of our knowledge. In addition to using one global GFM index that represents general population, HISAT2 uses a large set of small GFM indexes that collectively cover the whole genome (each index representing a genomic region of 56 Kbp, with 55,000 indexes needed to cover human population). These small indexes (called local indexes) combined with several alignment strategies enable effective alignment of sequencing reads. This new indexing scheme is called Hierarchical Graph FM index (HGFM). We have developed HISAT2 based on the HISAT [2] and Bowtie 2 [3] implementations. See the HISAT2 website for more information.
HISAT2 requires a 64-bit computer running either Linux or Mac OS X and at least 8 GB of RAM.
A few notes: 1) HISAT2's index (HGFM) size for the human reference genome and 12.3 million common SNPs is 6.2 GB. The SNPs consist of 11 million single nucleotide polymorphisms, 728,000 deletions, and 555,000 insertions. Insertions and deletions used in this index are small (usually <20bp). We plan to incorporate structural variations (SV) into this index. 2) The memory footprint of HISAT2 is relatively low, 6.7 GB. 3) The runtime of HISAT2 is estimated to be slightly slower than HISAT (30–100% slower for some data sets). 4) HISAT2 provides greater accuracy for alignment of reads containing SNPs. 5) Use HISAT-3N to align nucleotide converted sequencing reads include BS-seq, SLAM-seq, scBS-seq, scSLAM-seq, TAB-seq, oxBS-seq, TAPS and EM-seq. This alignment process requires about 10 GB of RAM. 6) HISAT2 repository is seperated with HISAT-genotype repository. Please see the link below for HISAT-genotype repository and HISAT-genotype homepage.
git clone https://github.com/DaehwanKimLab/hisat2.git
cd hisat2
make
hisat2-build
builds a HISAT2 index from a set of DNA sequences. hisat2-build
outputs a set of 6 files with
suffixes .1.ht2
, .2.ht2
, .3.ht2
, .4.ht2
, .5.ht2
, .6.ht2
, .7.ht2
, and .8.ht2
.
In the case of a large index these suffixes will have a ht2l
termination.
These files together constitute the index: they are all that is needed to align reads to that reference.
The original sequence FASTA files are no longer used by HISAT2 once the index is built.
Example for HISAT2 index building:
hisat2-build genome.fa genome
Examples alignment with HISAT2:
# for single-end FASTA reads DNA alignment
hisat2 -f -x genome -U reads.fa -S output.sam --no-spliced-alignment
# for paired-end FASTQ reads alignment
hisat2 -x genome -1 reads_1.fq -2 read2_2.fq -S output.sam
[1] Sirén J, Välimäki N, Mäkinen V (2014) Indexing graphs for path queries with applications in genome research. IEEE/ACM Transactions on Computational Biology and Bioinformatics 11: 375–388. doi: 10.1109/tcbb.2013.2297101
[2] Kim D, Langmead B, and Salzberg SL HISAT: a fast spliced aligner with low memory requirements, Nature methods, 2015
[3] Langmead B, Salzberg SL: Fast gapped-read alignment with Bowtie 2. Nat Methods 2012, 9:357-359
Kim, D., Paggi, J.M., Park, C. et al. Graph-based genome alignment and genotyping with HISAT2 and HISAT-genotype. Nat Biotechnol 37, 907–915 (2019)
Zhang, Y., Park, C., Bennett, C., Thornton, M. and Kim, D Rapid and accurate alignment of nucleotide conversion sequencing reads with HISAT-3N Genome Research 31(7): 1290-1295 (2021)