Oatk-1.0 安装与使用--生信工具103

Oatk:植物细胞器基因组组装工具

DOI 安装方式:Bioconda 安装 / Nextflow 流程安装

bash 复制代码
https://github.com/c-zhou/oatk   #官网

概述

Oatk 是一款依托 PacBio HiFi 测序数据、专为复杂植物细胞器基因组从头组装开发的工具集,也可用于组装动物线粒体等结构简单的细胞器基因组。整套工具集由四大核心程序构成:

  1. syncasm:基于闭合同步子构建稀疏德布鲁因图,实现 HiFi 测序读长从头组装
  2. hmmannot:封装 HMMER 程序,依托 OatkDB 内置隐马尔可夫模型数据库,快速完成细胞器序列基因注释
  3. pathfinder:结合 HMM 注释结果与组装图结构,解析细胞器基因组结构并完成环化
  4. oatk:总控封装程序,可一键串联运行上述三大模块

配套辅助工具:

  • path_to_fasta:依据路径信息,从 GFA 格式组装图中提取 FASTA 序列
  • rotate:按照指定位点对环状基因组序列进行起始位点移位调整

安装方法

源码编译

需提前安装 C 语言编译器、GNU make 与 zlib 开发依赖库

bash 复制代码
git clone https://github.com/c-zhou/oatk.git
cd oatk
make


gcc -g -Wall -O3 -Wno-unused-function -DSYNCASM_MAIN run_syncasm.c syncasm.c syncmer.c syncerr.c levdist.c graph.c alignment.c sstream.c misc.c kthread.c kalloc.c kopen.c -o syncasm -L. -lm -lz -lpthread 
gcc -g -Wall -O3 -Wno-unused-function -DANNOTATION_MAIN hmm_annotation.c hmmannot.c misc.c kalloc.c kthread.c -o hmm_annotation -L. -lm -lz -lpthread 
hmm_annotation.c: 在函数'annot_worker_pipeline'中:
hmm_annotation.c:102:15: 警告:此函数中的'seq'在使用前可能未初始化 [-Wmaybe-uninitialized]
     if (**seq == '*') return 6;
               ^
hmm_annotation.c:213:33: 附注:'seq'在此声明
                     char *seg, *seq;
                                 ^
gcc -g -Wall -O3 -Wno-unused-function -DPATHFINDER_MAIN path_finder.c syncasm.c syncmer.c syncerr.c levdist.c path.c graph.c hmmannot.c alignment.c sstream.c misc.c kalloc.c kopen.c kthread.c -o pathfinder -L. -lm -lz -lpthread 
gcc -g -Wall -O3 -Wno-unused-function path_to_fasta.c path.c graph.c hmmannot.c misc.c kalloc.c kopen.c -o path_to_fasta -L. -lm -lz -lpthread 
gcc -g -Wall -O3 -Wno-unused-function oatk.c run_syncasm.c hmm_annotation.c path_finder.c hmmannot.c syncasm.c syncmer.c syncerr.c levdist.c path.c graph.c alignment.c sstream.c misc.c kalloc.c kopen.c kthread.c -o oatk -L. -lm -lz -lpthread 
hmm_annotation.c: 在函数'annot_worker_pipeline'中:
hmm_annotation.c:102:15: 警告:此函数中的'seq'在使用前可能未初始化 [-Wmaybe-uninitialized]
     if (**seq == '*') return 6;
               ^
hmm_annotation.c:213:33: 附注:'seq'在此声明
                     char *seg, *seq;

便捷安装

  1. Bioconda 安装

    conda install -c bioconda oatk

  2. Nextflow nf-core 模块安装

    nf-core modules install oatk

运行依赖

  1. 环境需配置nhmmscan程序,可写入系统环境变量,或运行时手动指定路径
  2. 提前从OatkDB 下载细胞器基因特征 HMM 数据库,平台提供多款现成数据库,也可自行构建;陆生植物优先选用有胚植物数据库

软件运行

最简使用方式为直接调用总控程序oatk,程序可自动依次完成:HiFi 序列组装→HMM 基因注释→细胞器基因组结构提取;也可拆分三大模块独立运行。

该软件还支持导入 MBG、SPAdes、Hifiasm 等软件生成的基因组组装图提取细胞器序列,运行时添加-G参数,输入文件替换为 GFA 组装图即可。

注意:Oatk 与 pathfinder 高度依赖序列覆盖度、边覆盖度数据判定基因组结构,多数长读长组装软件生成的重叠图 / 字符串图并不适配细胞器完整组装;且不同软件 GFA 文件中覆盖度标签命名存在差异。 Oatk 默认标签:kmer 覆盖度KC:i、序列覆盖度SC:i、边覆盖度EC:i;使用第三方 GFA 文件时,需通过--kmer-c-tag--seq-c-tag--edge-c-tag手动指定标签,例如调用 MBG 结果需指定--kmer-c-tag FC:f --edge-c-tag ec:i,否则覆盖度默认为 1,极易导致组装结构错误。

下文以拟南芥细胞器基因组实测数据为例演示运行命令。

一、调用总控程序 oatk

bash 复制代码
oatk -k 1001 -c 30 -t 8 --nhmmscan /bin/nhmmscan -m embryophyta_mito.fam -p embryophyta_pltd.fam -o ddAraThal4 ddAraThal4_organelle.hifi.fa.gz
参数释义
  • -k:同步子长度,默认值即可
  • -c:同步子覆盖度阈值,过滤低丰度序列,剔除核基因组序列与核线粒体同源序列(NUMTs);经验值设为核基因组序列覆盖度的 5~10 倍
  • -t:运行线程数
  • --nhmmscan:指定 nhmmscan 程序绝对路径
  • -m:线粒体基因 HMM 数据库文件
  • -p:叶绿体基因 HMM 数据库文件
  • -o:输出文件前缀
  • 末尾位置参数:输入 PacBio HiFi 测序数据,支持 fasta/fastq、普通文件与 gz 压缩文件,可批量输入
主要输出文件
  1. 组装结果:ddAraThal4.utg.final.gfa 最终组装 GFA 图谱
  2. 注释文件:线粒体 / 叶绿体基因注释文本
  3. 细胞器拆分结果:线粒体、叶绿体独立子图谱、基因注释 bed 文件、校正完成的 contig 序列文件

二、分模块独立运行

1. syncasm 单独组装 HiFi 序列
复制代码
syncasm -k 1001 -c 30 -t 8 -o ddAraThal4 ddAraThal4_organelle.hifi.fa.gz
2. hmmannot 单独完成 HMM 注释
复制代码
# 线粒体注释
hmmannot -t 8 --nhmmscan /bin/nhmmscan -o ddAraThal4.annot_mito.txt embryophyta_mito.fam ddAraThal4.utg.final.gfa
# 叶绿体注释
hmmannot -t 8 --nhmmscan /bin/nhmmscan -o ddAraThal4.annot_pltd.txt embryophyta_pltd.fam ddAraThal4.utg.final.gfa
3. pathfinder 单独解析提取细胞器基因组
复制代码
pathfinder -m ddAraThal4.annot_mito.txt -p ddAraThal4.annot_pltd.txt -o ddAraThal4 ddAraThal4.utg.final.gfa

三、辅助工具用法

  1. path_to_fasta 从 GFA 图谱提取序列

    path_to_fasta oatk_utg_final.gfa u1+,u2-,u3-,u2+

  2. rotate 环状基因组序列移位

    rotate -r asm.fa seq1 6

命令含义:将序列 seq1 反向链从第 6 位碱基开始重新排序

引用

Chenxi Zhou, Max Brown, Mark Blaxter, et al. Oatk: a de novo assembly tool for complex plant organelle genomes. bioRxiv, 2024. https://doi.org/10.1101/2024.10.23.619857

Zhou, C., Brown, M., Blaxter, M. et al. Oatk: a de novo assembly tool for complex plant organelle genomes. Genome Biol 26, 235 (2025). https://doi.org/10.1186/s13059-025-03676-6