在进化基因组学研究中,直系同源共线性区块的精准识别是解析物种进化、全基因组加倍(WGD)、染色体重排的核心步骤。传统方法往往单独依赖共线性检测或同源性推断,容易将旁系同源区块误判为直系同源,导致后续分析偏差。
而OrthoIndex(简称 OI,同源性指数)工具巧妙整合了共线性检测与同源性推断的优势,通过量化共线性区块中直系同源基因对的比例,实现了直系同源共线性区块的精准识别与筛选。同时,它还提供了可视化、聚类、系统发育树构建等一站式功能,成为进化基因组学研究的高效工具。
01 OrthoIndex 是什么?
OrthoIndex(OI)是一个集共线性分析、同源性筛选、可视化、系统发育分析于一体的工具包,核心是计算同源性指数—— 即一个共线性区块中直系同源基因对占所有同源基因对的比例。
它的优势在于:
- 兼容性强:支持 MCscanX、WGDI、JCVI 等主流共线性工具的输出,以及 OrthoFinder、OrthoMCL、Proteinortho 等同源性分析工具的结果;
- 功能全面:从共线性筛选、可视化到直系同源基因聚类、系统发育树构建,覆盖进化基因组学分析的关键环节;
- 结果直观:通过 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 -h03 快速上手:_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 一致) |
| --kaks | Ks 值文件(KaKsCalculator/WGDI 输出) |
| --ks-hist | 输出 Ks 直方图 |
| --ofdir | OrthoFinder 输出目录 / 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 8005 输入 / 输出格式:兼容主流工具
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