news 2026/5/12 3:58:00

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/5/9 2:25:16

二值化断裂裂缝的智能拼接算法

该算法基于裂缝角度和端点距离进行生长拼接,能够有效克服噪声点的影响。 % 二值化断裂裂缝的智能拼接算法 clear; clc; close all;%% 1. 生成模拟断裂裂缝图像 fprintf(生成模拟断裂裂缝图像...\n);% 创建空白图像 img_size 500; binary_image false(img_size);% …

作者头像 李华
网站建设 2026/5/9 0:52:25

ARM64平台Java 8环境快速搭建手册

ARM64平台Java 8环境快速搭建手册 【免费下载链接】ARM架构下的JDK8安装包及部署指南 ARM架构下的 JDK 8 安装包及部署指南欢迎来到ARM架构专属的JDK 8资源页面 项目地址: https://gitcode.com/open-source-toolkit/8c506 在ARM架构设备上部署Java应用时,稳定…

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

SAAS-形成日期表

由于SAAS自动形成的日期表&#xff0c;显示英文格式&#xff0c;采用命名查询形成日期表 --形成2022-01.01 - 2025.12.31之间的日期表 WITH A AS (SELECT CAST(2022-01-01 AS DATE) AS XUNION ALLSELECT DATEADD(DAY, 1, X)FROM AWHERE X < 2025-12-31 ) SELECT X AS 日期,Y…

作者头像 李华
网站建设 2026/5/11 5:11:45

15亿参数撬动终端AI革命:Janus-Pro-1B开启多模态轻量化时代

15亿参数撬动终端AI革命&#xff1a;Janus-Pro-1B开启多模态轻量化时代 【免费下载链接】Janus-Pro-1B Janus-Pro-1B&#xff1a;打造下一代统一多模态模型&#xff0c;突破传统框架局限&#xff0c;实现视觉编码解耦&#xff0c;提升理解与生成能力。基于DeepSeek-LLM&#xf…

作者头像 李华
网站建设 2026/5/9 2:49:03

如何把数字光纤传感器放大器FS-N41P作为延迟计时器

[引言]传感器检测到一个零件的掉落后,若零件的掉落速度很快,传感器马上就灭了,如何让传感器信号能持续150毫秒(使得PLC可以检测到这个信号)?使用keyence的FS_N41P这款放大器可以实现此功能 步骤如下: 1. 按M键保持3秒以上进入设置模式。 2.多次按M键查找结束,按左右…

作者头像 李华
网站建设 2026/5/9 0:34:33

8、CentOS系统管理实用指南

CentOS系统管理实用指南 在企业级服务器的运行和维护中,CentOS系统是常用选择之一。本文将详细介绍CentOS系统管理中的几个重要操作,包括创建管理用户、邮件配置、任务自动化等方面的内容。 创建管理用户并使用切换用户命令成为root 在服务器管理中,常规以root用户管理服…

作者头像 李华