Hifiasm — PacBio HiFi 基因组组装最佳工具¶
一句话说明¶
Hifiasm 是目前 PacBio HiFi 数据基因组组装的首选工具,能直接输出单倍型分辨(phased)的组装结果,组装质量在同类工具中排名第一,特别擅长处理杂合基因组。
安装与配置¶
# 方法1:conda 安装(推荐)
conda install -c bioconda hifiasm # 从 bioconda 安装
# 方法2:源码编译(获取最新版)
git clone https://github.com/chhylp123/hifiasm # 克隆源码
cd hifiasm && make # 编译
# 验证安装
hifiasm --version # 当前最新 0.25.0(2025年,新增ONT simplex组装支持)
特点¶
- HiFi 数据组装质量最高的工具(T2T 联盟推荐)
- 自动产出单倍型分辨的组装
- 支持 Hi-C 数据辅助分型
- 内存需求适中(人类基因组约 64GB)
核心用法¶
基本组装¶
# 最简单的 HiFi 组装(只需一行命令)
hifiasm \
-o sample \ # 输出文件前缀
-t 32 \ # 32 线程
hifi_reads.fq.gz # HiFi 读段
# 输出文件(GFA 格式,需转为 FASTA)
# sample.bp.p_ctg.gfa — 主要 contig(primary)
# sample.bp.hap1.p_ctg.gfa — 单倍型 1
# sample.bp.hap2.p_ctg.gfa — 单倍型 2
# GFA 转 FASTA
awk '/^S/{print ">"$2;print $3}' sample.bp.p_ctg.gfa > primary.fa # 主要组装
awk '/^S/{print ">"$2;print $3}' sample.bp.hap1.p_ctg.gfa > hap1.fa # 单倍型 1
awk '/^S/{print ">"$2;print $3}' sample.bp.hap2.p_ctg.gfa > hap2.fa # 单倍型 2
进阶用法¶
# Hi-C 辅助单倍型分型(推荐,得到更好的 phasing)
hifiasm \
-o sample_hic \
-t 32 \
--h1 hic_R1.fq.gz \ # Hi-C Read 1
--h2 hic_R2.fq.gz \ # Hi-C Read 2
hifi_reads.fq.gz # HiFi 读段
# ONT Ultra-long + HiFi 混合组装(最高连续性)
hifiasm \
-o sample_hybrid \
-t 32 \
--ul ont_ultralong.fq.gz \ # ONT Ultra-long 读段
hifi_reads.fq.gz # HiFi 读段
# 调整 purge 级别(控制杂合区域处理)
hifiasm \
-o sample \
-t 32 \
-l 2 \ # purge 级别:0=不purge,1=轻度,2=默认,3=激进
hifi_reads.fq.gz
# 细菌/小基因组组装(纯合)
hifiasm \
-o bacteria \
-t 16 \
--primary \ # 只输出 primary assembly(纯合基因组用)
hifi_reads.fq.gz
# 宏基因组 HiFi 组装
hifiasm \
-o meta_sample \
-t 32 \
--meta \ # 宏基因组模式(处理不均匀覆盖度,v0.19+)
hifi_reads.fq.gz
常见问题与踩坑¶
问题1:输出是 GFA 不是 FASTA¶
原因:Hifiasm 默认输出 GFA 格式(包含组装图信息)
解决:用 awk '/^S/{print ">"$2;print $3}' sample.gfa > sample.fa 转换
问题2:bp.p_ctg 和 bp.hap1/hap2 的区别¶
说明:p_ctg 是合并的 primary assembly;hap1/hap2 是分型后的两套单倍型
选择:需要单倍型分析用 hap1/hap2,常规分析用 p_ctg
问题3:杂合基因组组装大小是预期的两倍¶
原因:purge 不充分,杂合区域被重复组装
解决:增大 purge 级别 -l 3,或后续用 Purge_Dups 去冗余
问题4:人类基因组组装需要多少数据¶
建议:HiFi 数据 30x 覆盖度起步,推荐 40-60x;加 Hi-C 数据可以显著改善 phasing
速查卡片¶
| 命令/参数 | 用途 |
|---|---|
hifiasm -o prefix -t 32 reads.fq.gz | 基本 HiFi 组装 |
--h1 hic_R1 --h2 hic_R2 | 加入 Hi-C 辅助 phasing |
--ul ont.fq.gz | 加入 ONT Ultra-long |
--primary | 只输出 primary assembly |
--meta | 宏基因组模式 |
-l 0/1/2/3 | purge 级别 |
*.bp.p_ctg.gfa | Primary contig 输出 |
*.bp.hap1.p_ctg.gfa | 单倍型 1 输出 |
*.bp.hap2.p_ctg.gfa | 单倍型 2 输出 |
-s 0.55 | 相似度阈值(调整 purge 灵敏度) |