news 2026/4/17 8:06:54

SOI v1.2.3安装与使用--生信工具71

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SOI v1.2.3安装与使用--生信工具71

在进化基因组学研究中,直系同源共线性区块的精准识别是解析物种进化、全基因组加倍(WGD)、染色体重排的核心步骤。传统方法往往单独依赖共线性检测或同源性推断,容易将旁系同源区块误判为直系同源,导致后续分析偏差。

OrthoIndex(简称 OI,同源性指数)工具巧妙整合了共线性检测与同源性推断的优势,通过量化共线性区块中直系同源基因对的比例,实现了直系同源共线性区块的精准识别与筛选。同时,它还提供了可视化、聚类、系统发育树构建等一站式功能,成为进化基因组学研究的高效工具。

01 OrthoIndex 是什么?

OrthoIndex(OI)是一个集共线性分析、同源性筛选、可视化、系统发育分析于一体的工具包,核心是计算同源性指数—— 即一个共线性区块中直系同源基因对占所有同源基因对的比例。

它的优势在于:

  1. 兼容性强:支持 MCscanX、WGDI、JCVI 等主流共线性工具的输出,以及 OrthoFinder、OrthoMCL、Proteinortho 等同源性分析工具的结果;
  2. 功能全面:从共线性筛选、可视化到直系同源基因聚类、系统发育树构建,覆盖进化基因组学分析的关键环节;
  3. 结果直观:通过 Ks/OI 着色的点阵图,可直接区分不同进化事件(如 WGD、物种分化)产生的共线性区块。

02 快速安装:多种方式适配不同环境

OrthoIndex 支持 conda/mamba、容器(Apptainer/Singularity)两种安装方式,其中 conda/mamba 是最常用的方式。

方式 1:通过源码安装(推荐,最新版本)

# 克隆仓库 git clone https://github.com/zhangrengang/orthoindex.git cd orthoindex # 方式1:直接用yaml文件创建环境(推荐mamba,速度更快) mamba env create -f OrthoIndex.yaml mamba activate OrthoIndex pip3 install . # 验证安装 soi -h # 方式2:若yaml文件冲突,手动安装依赖 mamba create -n orthoindex python=3.8.8 -y mamba install -y -n orthoindex biopython networkx matplotlib wgdi orthofinder mafft iqtree trimal pal2nal mcl -c conda-forge -c bioconda mamba activate orthoindex pip3 install . soi -h

方式 2:通过 conda 直接安装(稳定版本)

mamba create -n OrthoIndex mamba install -n OrthoIndex -c conda-forge -c bioconda soi mamba activate OrthoIndex soi -h

方式 3:容器化安装(无需配置环境,适合集群)

# 添加SylabsCloud源 apptainer remote add --no-login SylabsCloud cloud.sylabs.io apptainer remote use SylabsCloud # 拉取镜像 apptainer pull orthoindex.sif library://shang-hongyun/collection/orthoindex:1.2.0 # 验证 ./orthoindex.sif soi -h

03 快速上手:_example 数据一键运行

OrthoIndex 提供了示例数据,可一键运行体验核心功能:

# 进入示例数据目录 cd orthoindex/example_data/ # 运行示例脚本 sh example.sh

示例脚本会完成4 种点阵图绘制共线性筛选,生成的结果文件可直接查看不同参数下的共线性可视化效果。

04 核心功能:OrthoIndex 的子命令详解

OrthoIndex 的核心功能通过子命令实现,输入soi -h可查看所有子命令:

usage: soi [-h] {dotplot,filter,cluster,outgroup,phylo,stats} ...

主要子命令功能:

子命令核心功能
dotplot绘制 Ks/OI 着色的共线性点阵图,支持染色体聚类、对角线对齐、倍性分析
filter根据 OI 值筛选直系同源共线性区块(默认阈值 0.6)
cluster将直系同源共线性基因聚类为共线性同源群(SOGs)
outgroup为 SOGs 添加外类群基因,完善系统发育分析
phylo基于 SOGs 构建单拷贝 / 多拷贝基因树(支持蛋白 / CDS 序列,集成 MAFFT、IQ-TREE)
stats统计 SOGs 的相关信息,用于系统发育分析

功能 1:dotplot—— 可视化共线性(最常用)

dotplot是 OrthoIndex 最常用的功能,可绘制Ks 着色、OI 着色、筛选后的共线性点阵图,还能同时输出 Ks/OI 直方图、倍性分析图。

核心参数说明(必看)
参数作用
-s输入共线性文件(MCscanX/WGDI 的.collinearity,JCVI 的.anchors)
-g基因注释文件(GFF/BED 格式,需与共线性工具输入一致)
-c染色体配置文件(CTL 格式,与 MCscanX dotplotter 一致)
--kaksKs 值文件(KaKsCalculator/WGDI 输出)
--ks-hist输出 Ks 直方图
--ofdirOrthoFinder 输出目录 / OrthoMCL 同源对文件
--of-color按 OI 值着色点阵图
--of-ratio按 OI 值筛选共线性区块(如 0.6 表示保留 OI≥0.6 的区块)
--diagonal将共线性区块对齐到对角线(优化可视化效果)
--gene-axis用基因数量而非碱基对作为坐标轴
--plot-ploidy绘制相对倍性(共线性深度)分析图
实战案例:4 种常见的点阵图绘制
A:Ks 着色的原始共线性点阵图
soi dotplot -s Populus_trichocarpa-Salix_dunnii.collinearity.gz \ -g Populus_trichocarpa-Salix_dunnii.gff.gz -c Populus_trichocarpa-Salix_dunnii.ctl \ --kaks Populus_trichocarpa-Salix_dunnii.collinearity.ks.gz \ --xlabel '$Populus~trichocarpa$' --ylabel '$Salix~dunnii$' \ --ks-hist --max-ks 1.5 -o Populus_trichocarpa-Salix_dunnii \ --plot-ploidy --gene-axis --number-plots

该命令会生成Ks 着色的点阵图 + Ks 直方图 + 倍性分析图,可观察到不同进化事件的 Ks 峰(如 Ks≈1.5、0.27、0.13)。

B:OrthoFinder 推断的同源性点阵图
soi dotplot -s Populus_trichocarpa-Salix_dunnii.orthologs.gz \ -g Populus_trichocarpa-Salix_dunnii.gff.gz -c Populus_trichocarpa-Salix_dunnii.ctl \ --kaks Populus_trichocarpa-Salix_dunnii.collinearity.ks.gz \ --xlabel '$Populus\ trichocarpa$' --ylabel '$Salix\ dunnii$' \ --ks-hist --max-ks 1.5 -o Populus_trichocarpa-Salix_dunnii.o \ --plot-ploidy --gene-axis --number-plots

可观察到 OrthoFinder 识别的同源性中隐藏的旁系同源区块(如 Ks≈0.27 的峰)。

C:OI 着色的共线性点阵图
soi dotplot -s Populus_trichocarpa-Salix_dunnii.collinearity.gz \ -g Populus_trichocarpa-Salix_dunnii.gff.gz -c Populus_trichocarpa-Salix_dunnii.ctl \ --xlabel '$Populus\ trichocarpa$' --ylabel '$Salix\ dunnii$' \ --ks-hist -o Populus_trichocarpa-Salix_dunnii.io \ --plot-ploidy --gene-axis --number-plots \ --ofdir OrthoFinder/OrthoFinder/Results_*/ --of-color

按 OI 值着色后,可清晰区分三种进化事件对应的共线性区块(OI≈0、0.1、0.9)。

D:OI 阈值筛选后的 Ks 着色点阵图
soi dotplot -s Populus_trichocarpa-Salix_dunnii.collinearity.gz \ -g Populus_trichocarpa-Salix_dunnii.gff.gz -c Populus_trichocarpa-Salix_dunnii.ctl \ --kaks Populus_trichocarpa-Salix_dunnii.collinearity.ks.gz \ --xlabel '$Populus~trichocarpa$' --ylabel '$Salix~dunnii$' \ --ks-hist --max-ks 1.5 -o Populus_trichocarpa-Salix_dunnii.io \ --plot-ploidy --gene-axis --number-plots \ --ofdir OrthoFinder/OrthoFinder/Results_*/ --of-ratio 0.6

筛选 OI≥0.6 的区块后,可得到干净的 1:1 直系同源共线性点阵图,符合物种进化史的预期。

功能 2:filter—— 筛选直系同源共线性区块

filter子命令根据 OI 值筛选共线性区块,默认阈值为 0.6,输出筛选后的共线性文件。

实战案例:
# 方式1:输入OrthoFinder输出目录 soi filter -s Populus_trichocarpa-Salix_dunnii.collinearity.gz -o OrthoFinder/OrthoFinder/Results_*/ \ -c 0.6 > Populus_trichocarpa-Salix_dunnii.collinearity.ortho.test # 方式2:输入OrthoMCL同源对文件 soi filter -s Populus_trichocarpa-Salix_dunnii.collinearity.gz -o Populus_trichocarpa-Salix_dunnii.orthologs.gz \ -c 0.6 > Populus_trichocarpa-Salix_dunnii.collinearity.ortho.test # 验证结果(与预期输出对比,无差异则说明正确) diff Populus_trichocarpa-Salix_dunnii.collinearity.ortho Populus_trichocarpa-Salix_dunnii.collinearity.ortho.test

功能 3:cluster+phylo—— 构建直系同源基因树

通过cluster将筛选后的共线性基因聚类为 SOGs,再通过phylo构建基因树,是系统发育分析的关键步骤。

实战案例:
# 1. 聚类SOGs soi cluster -s collinearity.ortho -prefix cluster -outgroup XXX YYY(可选,排除外类群) # 2. 为SOGs添加外类群(若聚类时排除了外类群) soi outgroup -s collinearity.ortho -og cluster.mcl -outgroup XXX YYY > cluster.mcl.plus # 3. 构建基因树(单拷贝+多拷贝,支持蛋白/CDS) soi phylo -og cluster.mcl.plus -pep pep.faa -cds cds.fa -both -root Vitis_vinifera -pre sc-sog -sc -concat -p 80

05 输入 / 输出格式:兼容主流工具

OrthoIndex 的一大优势是兼容主流工具的输入格式,无需额外转换数据,降低了使用门槛。

1. 共线性格式

支持 MCscanX、WGDI 的.collinearity文件,JCVI 的.anchors文件。

2. 同源性格式

支持 OrthoFinder(输出目录)、OrthoMCL(同源对文件)、Proteinortho6、Broccoli、InParanoid 等工具的输出。

3. 其他格式

  • 基因坐标:GFF/BED 格式(兼容 MCscanX、WGDI、JCVI);
  • Ks 值:KaKsCalculator、WGDI 的输出格式;
  • 染色体配置:MCscanX 的 CTL 格式。

关键注意事项:基因 ID 需包含物种 ID(如Angelica_sinensis|AS01G00001),且所有输入文件中的基因 / 染色体 ID 需唯一、一致,否则会导致分析失败。

06 参考文献

Zhang RG, Shang HY, Milne RI et al. SOI: robust identification of orthologous synteny with the Orthology Index and broad applications in evolutionary genomics [J]. Nucleic Acids Res., 2025, 53 (7):gkaf320. https://doi.org/10.1093/nar/gkaf320

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 2:40:02

【Linux】深入理解 Linux 内核:进程调度与并发控制底层原理

引言 在操作系统的核心功能中,进程调度与并发控制如同“内核的大脑与神经”——前者决定了系统资源如何在多任务间高效分配,后者则保障了多核环境下数据访问的一致性与安全性。Linux 作为开源操作系统的典范,其内核在进程调度与并发控制的设…

作者头像 李华
网站建设 2026/4/17 21:30:47

5步实现大语言模型生产部署:torchtune与ONNX终极指南

5步实现大语言模型生产部署:torchtune与ONNX终极指南 【免费下载链接】torchtune A Native-PyTorch Library for LLM Fine-tuning 项目地址: https://gitcode.com/GitHub_Trending/to/torchtune 还在为LLM推理速度慢、部署复杂而头疼吗?&#x1f…

作者头像 李华
网站建设 2026/4/9 23:14:34

终极M3u8下载工具:免费高速下载解决方案

终极M3u8下载工具:免费高速下载解决方案 【免费下载链接】M3u8Downloader下载工具 M3u8 Downloader是一款高效、易用的开源下载工具,专为M3u8格式文件设计。经过优化,它能够快速获取并下载最新、最完整的资源,即使是大型文件也能在…

作者头像 李华
网站建设 2026/4/5 9:56:31

5个Avalonia实战项目,解决跨平台开发核心痛点

5个Avalonia实战项目,解决跨平台开发核心痛点 【免费下载链接】Avalonia AvaloniaUI/Avalonia: 是一个用于 .NET 平台的跨平台 UI 框架,支持 Windows、macOS 和 Linux。适合对 .NET 开发、跨平台开发以及想要使用现代的 UI 框架的开发者。 项目地址: h…

作者头像 李华
网站建设 2026/4/6 7:13:34

10、CentOS系统管理:日志、服务与内存优化指南

CentOS系统管理:日志、服务与内存优化指南 1. 使用logrotate管理日志文件 1.1 背景与目的 日志文件对于系统管理员至关重要,它能提供系统健康信息,辅助排查服务或软件应用的问题。然而,随着服务器运行时间增长,大日志文件会变得难以搜索、增大备份体积并占用磁盘空间。…

作者头像 李华
网站建设 2026/3/10 9:28:46

Nacos配置同步:从混乱到有序的技术探险之旅

Nacos配置同步:从混乱到有序的技术探险之旅 【免费下载链接】nacos Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。 项目地址: https://…

作者头像 李华