Verkko v2.3.2 安装与使用--bioinformatics tools102

Verkko 简介

Verkko 是一款杂合基因组组装流程 ,专门用于利用精准长读长测序数据(PacBio HiFi、牛津纳米孔双链测序、HERRO 纠错或 Hifiasm 纠错的牛津纳米孔单链测序数据)结合牛津纳米孔超长读长 完成端粒到端粒的完整基因组组装。Verkko 一词源自芬兰语,本意是网、网状、图谱

bash 复制代码
https://github.com/marbl/verkko   #官网

组装核心流程

  1. 调用 Canu 校正测序读长中残留错误;
  2. 借助 MBG 构建多重德布鲁因图;
  3. 通过 GraphAligner 将纳米孔长读长序列比对至组装图谱;
  4. 先利用 HiFi 精准读长逐步拆解图谱环结构与复杂缠绕区域,再依托已比对的纳米孔读长进一步优化;
  5. 最后调用 Canu 一致序列模块生成最终重叠群一致序列。

目录

安装教程 | 快速上手 | 输出文件 | 测试数据集

安装

推荐使用包管理器一键安装

bash 复制代码
wget -c https://github.com/marbl/verkko/releases/download/v2.3.2/verkko-v2.3.2.tar.gz
bash 复制代码
conda create -n verkko -c conda-forge -c bioconda -c defaults verkko

也可下载正式版源码手动编译安装。

源码编译安装

使用

Verkko 基于Snakemake 流程框架开发,通过封装脚本解析运行参数并自动生成verkko.yml配置文件。

基础运行命令:

bash 复制代码
verkko -d 工作目录 --hifi HiFi测序数据 [--nano 纳米孔测序数据]

直接输入verkko不带任何参数,可查看全部运行参数及简要说明。 程序最低运行要求 :必须通过--hifi传入高精度长读长数据,该参数可单独传入 PacBio HiFi、纳米孔双链数据,也可二者组合使用。

强烈建议 :搭配--nano传入超长测序序列,同时加入分型定相数据(见下文)。 若使用 HERRO 纠错序列,纠错序列填至 --hifi,原始未纠错序列填至 --nano 。 Verkko 最终输出完成分型定相的支架序列,不会主动生成主序列或单倍体精简组装结果。

分型定相

Verkko 可借助Rukki工具,依托家系三联体数据或 Hi-C 互作数据实现拓展型序列分型。

  1. 三联体家系分型模式 需提前构建 Merqury 单倍型 k-mer 数据库并传入程序

    verkko -d asm
    --hifi hifi/.fastq.gz
    --nano ont/
    .fastq.gz
    --hap-kmers 父本kmer数据库 母本kmer数据库 trio

  2. Hi-C 染色质互作组装模式 通过--hic1--hic2分别传入双端测序数据

    verkko -d asm
    --hifi hifi/.fastq.gz
    --nano ont/
    .fastq.gz
    --hic1 hic/R1fastq.gz
    --hic2 hic/R2fastq.gz

  3. PoreC 测序组装模式 使用--porec参数传入数据

    verkko -d asm
    --hifi hifi/.fastq.gz
    --nano ont/
    .fastq.gz
    --porec porec/*fastq.gz

Hi-C 与 PoreC 组装方案目前主要在人类及灵长类基因组 中完成验证。 组装非人类物种、测序深度不均时,可调整--rdna-tangle--uneven-depth--haplo-divergence等参数;使用遇问题可提交项目 issue 反馈。

支架搭建

当传入 Hi-C/Pore-C 数据时,程序会启用独立支架构建模块(区别于仅靠三联体数据的简易定相连通)。 Verkko 依托组装图谱粗略估算序列间隙长度:

  • 间隙预估长度<100 kb:写入实际预估数值
  • 无法预估或间隙更大:统一填充 100 kb 长度的 N 碱基

支架组装模块会识别序列中端粒位置(依赖 seqtk 端粒检测工具);若研究物种端粒重复基序不同于脊椎动物 CCCTAA ,可通过--telomere-motif手动指定。

可通过--ref传入同种或近缘物种基因组作为组装参考指引非参考序列依赖型组装 ,仅作辅助搭建支架使用。 该模块依赖二倍体基因组结构,不支持单倍体组装参数 --haploid ,单倍体组装推荐独立工具 YaHS。 目前暂不支持多倍体基因组分型与支架构建

自定义图谱路径生成一致序列

若已有组装结果,想自主调整基因组图谱节点拼接方式,可使用--paths参数按GAF 路径格式 传入自定义拼接路径文件(每行一条拼接路径)。 使用该功能需指定原有组装目录--assembly与输出目录-d(二者不可相同),同时提供原始测序数据。

集群调度运行

默认本地单机运行全流程;添加--grid参数可启用调度队列,支持 SGE、Slurm、LSF 调度系统(PBS 未实测)。 仅调度计算任务上集群、流程调度仍本地执行;若需流程与计算全部提交集群,可将命令写入脚本批量提交。 Conda 环境用户可通过--python指定 conda 内置 Python 解释器。

集群资源精细化调控

流程各阶段 CPU、内存、运行时长均有默认配置,高级用户可通过--阶段名-run自定义资源; 也可通过--snakeopts直接透传 Snakemake 原生参数管控集群资源:

  • --snakeopts "--dry-run":试运行,预览所有待执行任务
  • --snakeopts "--cores 1000":限制集群最大总核心数
  • --snakeopts "--touch":刷新文件时间戳,跳过已完成步骤 修改组装中间文件、重启流程前,建议先试运行校验执行逻辑

污染序列过滤

通过--screen参数可批量剔除组装结果中常见污染序列,格式: --screen 污染物种名 污染序列fasta文件

内置人类组装专属快捷过滤参数: --screen-human-contaminants 一键过滤核糖体 DNA、线粒体 DNA、EB 病毒等常见人类样本污染源。 程序会依据测序覆盖度筛选标准代表序列,对环状序列完成环化修正,消除首尾自相似冗余序列。

命令行参数

复制代码
verkko -d 输出目录 --hifi HiFi测序数据 --nano 纳米孔测序数据

必选参数

  • -d <output-directory>:指定输出目录,存放中间文件与最终组装结果,不存在则自动创建
  • --hifi <files ...>:传入 PacBio HiFi 测序文件 支持 fasta/fastq,原生 /.gz/.bz2/.xz 压缩格式,可批量通配*.gz
  • --nano <files ...>:传入牛津纳米孔测序文件 支持 fasta/fastq/sam/bam 多种格式,压缩格式与批量传入规则同上

算法功能参数

  • --no-correction:跳过 Canu 对 HiFi 序列的纠错步骤
  • --no-nano:仅用 HiFi 组装,不使用纳米孔数据
  • --hap-kmers:依托 Rukki 结合亲本 k-mer 数据库完成序列分型,支持三联体 / Hi-C / 链特异性测序三种模式
  • --hic1 / --hic2:分别传入 Hi-C 双端测序数据,左右端文件顺序必须一一对应
  • --porec:传入 Pore-C 染色质互作测序数据
  • --no-rdna-tangle:关闭核糖体 DNA 复杂缠绕区域优化组装功能
  • --telomere-motif:自定义端粒重复序列,默认脊椎动物CCCTAA
  • --ref:传入参考基因组仅作支架搭建辅助引导,非参考依赖组装
  • --uneven-depth:关闭杂合区域测序深度校正算法
  • --haplo-divergence:设置单倍型序列最大分化度,人源默认 0.05,远缘物种适当调高,范围 0~0.2
  • --screen:指定序列批量过滤污染序列;--screen-human-contaminants一键过滤人源常见污染(rDNA、线粒体、EB 病毒)
  • --paths:导入 GAF 格式自定义拼接路径,结合已有组装结果重新生成目标序列

运行环境与计算资源参数

  • --python / --perl:指定调用的 Python、Perl 解释器路径
  • --mbg / --graphaligner等:手动指定各类依赖软件路径,默认调用环境内置版本
  • --cleanup:组装完成自动删除中间文件
  • --no-cleanup:保留全部中间文件(默认开启)
  • --local:本地服务器运行(默认模式)
  • --local-memory设置本地运行最大占用内存(GB)
  • --local-cpus:指定使用 CPU 核心数,默认全核调用
  • --grid:提交任务至集群调度(支持 SGE/Slurm/PBS/LSF)
  • --snakeopts:追加 Snakemake 原生运行参数,参数必须加引号
  • 各类--xxx-run:自定义组装各步骤 CPU、内存、运行时长资源限制

高级调参(专业用户)

可自定义 HiFi 纠错、德布鲁因图构建、纳米孔序列拆分、序列比对等流程的 k-mer 大小、比对阈值、序列长度过滤等精细化参数

本地运行指定 100G 内存 完整示例

复制代码
verkko \
-d verkko_assembly \
--hifi hifi/*.fastq.gz \
--nano ont/*.fastq.gz \
--local-memory 100

纯 HiFi 组装(无纳米孔)+ 100G 内存

复制代码
verkko \
-d verkko_hifi_asm \
--hifi hifi/*.fastq.gz \
--no-nano \
--local-memory 100

搭配指定 CPU 核心(例如 32 核 + 100G 内存)

复制代码
verkko \
-d verkko_assembly \
--hifi hifi/*.fastq.gz \
--nano ont/*.fastq.gz \
--local-cpus 32 \
--local-memory 100

输出文件说明

  1. 最终组装序列:asm/assembly.fasta
  2. 同聚物压缩格式组装图谱:asm/assembly.homopolymer-compressed.gfa + 覆盖度统计 csv 文件
  3. 序列与图谱节点对应关系表:asm/assembly.scfmap
  4. 组装中间图谱与覆盖度文件:asm/*/unitig-*系列文件
  5. 开启分型定相后新增:单倍型序列assembly.haplotype[12].fasta、分型注释表assembly.colors.csv、拼接路径表assembly.paths.tsv
  6. 开启污染过滤后新增:剔除污染序列文件与筛选后的标准代表序列文件

测试数据集(快速验证安装)

下载大肠杆菌 K12 测试数据并一键组装

复制代码
curl -L https://obj.umiacs.umd.edu/sergek/shared/ecoli_hifi_subset24x.fastq.gz -o hifi.fastq.gz
curl -L https://obj.umiacs.umd.edu/sergek/shared/ecoli_ont_subset50x.fastq.gz -o ont.fastq.gz
verkko -d asm --hifi ./hifi.fastq.gz --nano ./ont.fastq.gz

引用

  1. Rautiainen M, Nurk S, Walenz BP, Logsdon GA, Porubsky D, Rhie A, Eichler EE, Phillippy AM, Koren S. Telomere-to-telomere assembly of diploid chromosomes with Verkko. Nat Biotech. (2023). doi:10.1038/s41587-023-01662-6
  2. Antipov D, Rautiainen M, Nurk S, Walenz BP, Solar SJ, Phillippy AM, Koren S. Verkko2 integrates proximity ligation data with long-read De Bruijn graphs for efficient telomere-to-telomere genome assembly, phasing, and scaffolding. Genome Research (2025). 10.1101/gr.280383.124