Verkko — 端粒到端粒(T2T)基因组组装工具¶
一句话说明¶
Verkko 是由 T2T 联盟开发的端粒到端粒基因组组装工具,结合 PacBio HiFi 和 ONT Ultra-long 两种数据的优势,能产出接近完美的基因组组装,是目前最高质量的基因组组装方案。
安装与配置¶
# 方法1:conda 安装(推荐)
conda install -c bioconda -c conda-forge verkko # 需要 bioconda 和 conda-forge
# 方法2:源码安装
git clone https://github.com/marbl/verkko.git # 克隆源码
cd verkko/src && make -j 16 # 编译
# 验证安装
verkko --version # 当前最新 2.2(2024年)
数据要求¶
- 必需:PacBio HiFi 读段(≥30x 覆盖度)
- 强烈推荐:ONT Ultra-long 读段(≥30x,读段 N50 ≥100kb)
- 可选:Hi-C 数据(用于单倍型 phasing)
核心用法¶
基本组装¶
# HiFi + ONT Ultra-long 组装(推荐)
verkko \
-d verkko_output \ # 输出目录
--hifi hifi_reads.fq.gz \ # PacBio HiFi 读段
--nano ont_ultralong.fq.gz \ # ONT Ultra-long 读段
--threads 32 # 线程数
# 仅 HiFi 组装(也可以,但连续性不如加 ONT)
verkko \
-d verkko_hifi_only \
--hifi hifi_reads.fq.gz \
--threads 32
进阶用法¶
# HiFi + ONT + Hi-C 完整组装(最高质量)
verkko \
-d verkko_full \
--hifi hifi_reads.fq.gz \
--nano ont_ultralong.fq.gz \
--hic1 hic_R1.fq.gz \ # Hi-C Read 1
--hic2 hic_R2.fq.gz \ # Hi-C Read 2
--threads 48
# 在 Slurm 集群上运行(大基因组推荐)
verkko \
-d verkko_output \
--hifi hifi_reads.fq.gz \
--nano ont_ultralong.fq.gz \
--snakemake-args "--cluster 'sbatch -p normal -c {threads} --mem={resources.mem_gb}G'" \
--threads 32
# 从断点恢复(Verkko 基于 Snakemake,天然支持恢复)
verkko \
-d verkko_output \ # 使用相同的输出目录
--hifi hifi_reads.fq.gz \
--nano ont_ultralong.fq.gz \
--threads 32 # 会自动从断点继续
输出文件¶
ls verkko_output/
# assembly.fasta — 最终组装序列
# assembly.haplotype1.fasta — 单倍型 1(有 Hi-C 时)
# assembly.haplotype2.fasta — 单倍型 2(有 Hi-C 时)
# assembly.homopolymer-compressed.gfa — 组装图
常见问题与踩坑¶
问题1:没有 ONT Ultra-long 数据能用吗¶
回答:可以,Verkko 只用 HiFi 也能工作,但连续性会大幅下降
建议:T2T 级别组装必须有 ONT Ultra-long(N50 ≥100kb)
问题2:运行时间太长¶
原因:Verkko 内部步骤复杂(MBG 图构建 → 纠错 → ONT 路径 → consensus)
解决:使用集群模式分布式计算;人类基因组在 48 核服务器上约需 2-5 天
问题3:Verkko vs Hifiasm 怎么选¶
Verkko 优势:T2T 级别连续性,更好地处理重复区域和着丝粒
Hifiasm 优势:更快,纯 HiFi 场景下效果也很好
建议:追求 T2T 质量用 Verkko;常规高质量组装用 Hifiasm
问题4:内存和磁盘需求¶
人类基因组:约 128-256GB RAM,500GB+ 磁盘空间
细菌基因组:约 8-16GB RAM
速查卡片¶
| 命令/参数 | 用途 |
|---|---|
verkko -d outdir --hifi hifi.fq | 仅 HiFi 组装 |
--nano ont.fq | 添加 ONT Ultra-long |
--hic1 R1 --hic2 R2 | 添加 Hi-C 数据 |
--threads 32 | 线程数 |
assembly.fasta | 主要输出 |
assembly.haplotype1.fasta | 单倍型 1 |
assembly.haplotype2.fasta | 单倍型 2 |
--snakemake-args | 传递 Snakemake 参数 |
--screen human | 人类基因组筛选模式 |
--no-nano | 禁用 ONT 步骤 |