跳转至

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/3purge 级别
*.bp.p_ctg.gfaPrimary contig 输出
*.bp.hap1.p_ctg.gfa单倍型 1 输出
*.bp.hap2.p_ctg.gfa单倍型 2 输出
-s 0.55相似度阈值(调整 purge 灵敏度)