DaehwanKimLab / hisat2

Graph-based alignment (Hierarchical Graph FM index)
GNU General Public License v3.0
478 stars 119 forks source link

HISAT2

Contact

Daehwan Kim (infphilo@gmail.com) and Chanhee Park (parkchanhee@gmail.com)

Overview

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.

Getting started

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.

Install

git clone https://github.com/DaehwanKimLab/hisat2.git
cd hisat2
make

Usage

Building an index

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

Alignment with HISAT2

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

For more information, see the following websites:

License

GPL-3.0

References

[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

Publication