一、HISAT2 的开发背景
开发者:金大焕(Daehwan Kim)与 Steven L. Salzberg,约翰霍普金斯大学计算生物学中心(Center for Computational Biology)。
发表:2019 年该成果发表于《Nature Biotechnology》,论文标题为Graph-based genome alignment and genotyping with HISAT2 and HISAT-genotype。文章至今引用量达数千次,HISAT2 也成为高通量测序比对领域的标杆工具。
定位:面向高通量测序数据(DNA 和 RNA)的快速、高灵敏度比对程序,支持人类群体基因组图谱比对和单参考基因组比对。
开发初衷:传统比对工具基于线性基因组构建索引,难以容纳物种基因多态性,面对复杂变异序列易出现比对偏差、检索效率偏低等问题。HISAT2创新性构建层次化图FM索引体系,依托全局索引整合群体基因组信息,搭配海量局部索引精细化划分基因组片段,有效攻克线性比对的固有缺陷,相较常规比对软件,在变异区域识别、比对精准度与运行效率上具备突出优势。
输入文件:FASTA / FASTQ 格式的测序原始序列文件
适用场景:全基因组测序(WGS),转录组测序(RNA-seq),外显子组测序(Exome-seq),群体基因组比对(含SNP信息的人群参考基因组)等。
二、核心模块
HISAT2 工具包包含三大主要可执行程序,均通过封装脚本(wrapper)调用,用户无需关心底层二进制架构。
1. hisat2 —— 核心比对引擎
比对功能模块,将测序 Reads 映射至(经过索引化的)参考基因组,输出 SAM 格式比对结果。
核心功能:
单端和双端测序支持:兼容 FASTA、FASTQ、QSEQ 以及直接从 SRA 数据库读取数据(--sra-acc)
群体基因组比对:HGFM 索引整合了 dbSNP 数据库中约1,230万个常见SNP(含 1,100 万单核苷酸多态性、72.8 万个缺失、55.5 万个插入),含 SNP 的 Reads 匹配时无错配惩罚,并可在 SAM 输出中标注 SNP 信息,支持下游快速基因分型
RNA-seq 专用优化:提供 --dta(下游转录本组装器如 StringTie 优化)和 --dta-cufflinks(下游 Cufflinks 优化)参数
Repeat Read 处理(2.2.0版本起):对重复区 Reads 专门的索引与比对策略,每个重复区给出的唯一比对结果,并提供 C++/Python/Java API 快速批量检索
多线程加速:-p 参数指定并行搜索线程数
比对模式:默认搜索最多 N 个比对(-k 参数控制);--no-spliced-alignment 参数关闭剪接比对(用于 DNA-seq)
Soft-clipping:默认在 5‘ 和 3’ 端进行软裁剪,通过 --sp 控制惩罚或 --no-softclip 关闭
比对摘要输出:运行结束自动输出比对总结(标准错误流 stderr),包括总读写、比对率、多重比对等信息
使用命令:
# 单端 DNA 数据比对hisat2 -f -x genome -U reads.fa -S output.sam --no-spliced-alignment# 双端 FASTQ 数据比对(RNA-seq)hisat2 -x genome -1 reads_1.fq -2 reads_2.fq -S output.sam# 多线程比对 + 转录本组装器优化hisat2 -p 8 --dta -x genome -1 reads_1.fq -2 reads_2.fq -S output.sam
2. hisat2-build —— 索引构建模块
将参考基因组 FASTA 序列构建为 HISAT2 所需的 HGFM 索引。
关键功能:
群体SNP与单倍型整合:通过 --snp 和 --haplotype 参数支持将群体 SNP 信息整合进索引;提供 hisat2_extract_snps_haplotypes_VCF.py 脚本从 VCF 文件提取 SNP 和单倍型。
转录组感知索引构建:支持 --ss(剪接位点)和 --exon(外显子信息)参数,用于构建转录组感知索引(genome_tran 或 genome_snp_tran 类型的索引)。
使用命令:
# 基础索引构建hisat2-build genome.fa genome# 整合 SNP 信息的群体索引hisat2-build --snp snp_file --haplotype haplotype_file genome.fa genome_snp
3.hisat2-inspect —— 索引检查模块
用于验证和检查 HISAT2 索引文件的工具,可以提取索引中包含的参考序列信息。
使用命令:
hisat2-inspect genome4. 评分与比对策略
HISAT2内置精细化打分体系,可灵活设置错配、软裁剪、空位、模糊碱基等各类罚分规则。同时支持自定义比对最低分值、模糊碱基上限,还能按需选择基因组比对链方向,适配不同测序样本的比对判定需求。
三、使用示例
准备工作:下载索引和构建环境
推荐直接下载预构建的人类参考基因组索引(已整合 SNP 和转录本信息),可从 AWS Public Dataset 下载(https://registry.opendata.aws/jhu-indexes/),或自行构建。
# 下载预构建索引# 以人类基因组 + SNP + 转录本索引为例wget https://genome-idx.s3.amazonaws.com/hisat/grch38_genome.tar.gz# 方案 B:自行构建索引(耗时较长,需较大内存)hisat2-build genome.fa genome
使用示例:RNA-seq 双端测序完整比对流程
# 1. 双端 Reads 比对# -x:索引基础名;-1/-2:双端测序文件;-S:输出 SAM 文件# -p:使用 8 线程加速# --dta:优化下游转录本组装(StringTie 推荐)# --new-summary:输出易于程序解析的比对摘要hisat2 -p 8 --dta \-x genome \-1 sample_R1.fastq.gz \-2 sample_R2.fastq.gz \-S sample.sam \--summary-file sample_summary.txt# 2. SAM 转 BAM + 排序 + 索引(下游分析前必备)samtools view -bS sample.sam > sample.bamsamtools sort sample.bam -o sample_sorted.bamsamtools index sample_sorted.bam# 3. 可选:若需直接从 SRA 数据库比对hisat2 -p 4 --dta \-x genome \--sra-acc SRR12345678 \-S sample.sam
多线程数 | |
为下游转录本组装(如StringTie)优化输出 | |
索引文件基础名,HISAT2 会自动查找 8 个 .ht2 文件 | |
双端测序 Reads,支持逗号分隔多文件和 .gz 压缩格式 | |
输出 SAM 文件,默认输出到标准输出 | |
将比对摘要写入文件(2.1.0版本后) | |
SRA 数据收录号(需安装 NCBI-NGS 工具包) |
四、输出结果汇总
1.比对摘要输出
HISAT2 运行结束时自动输出比对总结(标准错误流),核心指标一目了然:
双端数据示例:
10000 reads; of these:10000 (100.00%) were paired; of these:650 (6.50%) aligned concordantly 0 times8823 (88.23%) aligned concordantly exactly 1 time527 (5.27%) aligned concordantly >1 times----650 pairs aligned concordantly 0 times; of these:34 (5.23%) aligned discordantly 1 time----616 pairs aligned 0 times concordantly or discordantly; of these:1232 mates make up the pairs; of these:660 (53.57%) aligned 0 times571 (46.35%) aligned exactly 1 time1 (0.08%) aligned >1 times96.70% overall alignment rate
比对摘要解读要点:
Overall alignment rate:整体比对率,RNA-seq 通常期望 ≥80%(取决于物种和样本质量)
Concordant alignment(双端):两条 Reads 以正确朝向和间距同时比对成功,是双端质量的核心指标
>>1 times 比例:反映重复区或多比对 Reads 的比例(在 RNA-seq 中多重比对 Reads 可能来自同源基因家族)
2.SAM 格式输出
HISAT2 输出标准的 SAM 格式比对文件,兼容 SAMtools、GATK 等一系列下游工具,包含以下核心信息:
Reads 名称 | |
比对标记位(描述方向、配对状态、是否二次比对等) | |
参考序列(染色体名) | |
比对起始位置(1-based) | |
比对质量值(最大 60) | |
CIGAR | CIGAR 字符串(描述匹配、插入、缺失、剪接等情况) |
配对 Reads 的参考序列名 | |
配对 Reads 的比对位置 | |
模板长度(RNA-seq 时考虑内含子) | |
可选标签(Tag):
ZS:Z: —— 包含SNP 信息(当使用SNP整合索引时),格式如 1|S|rs3747203,97|S|rs16990981,可直接用于下游基因分型
NH:i: —— 该 Reads 的比对命中数
HI:i: —— 该比对在多比对中的编号
3.索引输出(hisat2-build)
构建完成后生成 8 个索引文件(以 genome 为基础名):
genome.1.ht2 genome.2.ht2 genome.3.ht2 genome.4.ht2genome.5.ht2 genome.6.ht2 genome.7.ht2 genome.8.ht2
大型基因组索引后缀为 .ht2l。
项目地址:
https://daehwankimlab.github.io/hisat2/
参考文献:
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, 1290-1295 (2021).
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).
Kim D, Langmead B and Salzberg SL. HISAT: a fast spliced aligner with low memory requirements. Nature Methods 2015
Pertea M, Kim D, Pertea G, Leek JT and Salzberg SL. Transcript-level expression analysis of RNA-seq experiments with HISAT, StringTie and Ballgown. Nature Protocols 2016
夜雨聆风