泛基因组与共线性分析
单个参考基因组只代表一个个体,同一物种不同品种、株系之间可能有大量基因的有无差异和结构变异。泛基因组把多个基因组合起来,区分所有个体都有的核心基因、部分个体共有的可变基因和单个个体特有的基因,从而回答哪些基因和性状、适应性或驯化有关。分析路线有两种:基于基因家族聚类的泛基因组,用于基因有无比较;基于序列的图泛基因组,把多个基因组的序列和变异编码成图结构,用于结构变异分型。共线性分析则在两个或多个基因组之间寻找基因顺序保守的区段,用来识别全基因组复制、染色体融合断裂、倒位和易位,是比较基因组的常规内容。
什么时候用
- 同一物种有多个高质量组装,想找品种间存在缺失变化的基因
- 细菌、病原体多个分离株,比较核心基因组和附属基因组
- 构建图泛基因组参考,在群体短读长数据中分型结构变异
- 比较近缘物种的染色体结构,识别融合、断裂、倒位和易位
- 研究全基因组复制事件,分析共线性区段中的旁系同源基因
- 确认候选基因在近缘物种中的同源位置和局部基因排列
不适合的情况
- 只有一两个基因组:难以区分核心和可变基因,饱和曲线也无从拟合
- 各基因组注释流程不一致就直接比较基因有无:会把注释差异误判为基因缺失
- 用碎片化的 contig 级组装做染色体级共线性和重排分析
需要准备的数据
- 多个基因组组装
- FASTA,建议质量相近、染色体命名统一;图泛基因组构建对组装连续性要求较高。
- 基因注释
- 每个基因组的 GFF3 和蛋白序列,最好用同一套流程注释,以减少注释差异带来的假有无变化。
- 共线性分析输入
- MCScanX 需要全对全 BLASTP 表格结果和四列基因位置文件,两者基因名必须一致。
- 样本信息
- 品种、亚群、地理来源或表型分组,用于比较不同群体间可变基因的分布差异。
分析步骤
- 1
统一注释与命名
检查各基因组注释是否用同一套流程和证据,必要时重新注释或用投影补齐。统一染色体名和基因 ID 前缀,避免不同基因组的 ID 冲突,这一步决定后续所有比较是否可靠。
- 2
基因家族聚类
用 OrthoFinder 对所有蛋白序列聚类得到同源基因群;细菌常用 Roary、Panaroo 或 PPanGGOLiN。检查每个基因组被分到同源群中的基因比例,比例明显偏低提示注释质量问题。
- 3
划分核心与可变基因
按同源群在多少个基因组中出现,划分核心、近核心、可变和特有基因。对判定为缺失的基因,回到基因组序列上做比对确认,排除注释漏检造成的假缺失。
- 4
饱和曲线分析
随机改变加入基因组的顺序,计算泛基因组和核心基因组大小随基因组数的变化。泛基因组曲线持续上升说明仍有新基因不断出现,趋平说明采样已接近覆盖物种的基因库。
- 5
共线性检测
用 MCScanX 或 JCVI 的 MCScan 识别共线性区块,根据区块绘制点图、染色体对应图和局部共线性图。近缘物种间大部分染色体应呈现清晰的一对一对应关系。
- 6
结构重排与复制事件
在染色体级组装间用 minimap2 或 nucmer 全基因组比对,再用 SyRI 识别倒位、易位和重复。对共线性区段内的同源基因对计算 Ks,Ks 分布中的峰可对应全基因组复制事件。
- 7
图泛基因组构建
需要结构变异分型时,用 minigraph、Minigraph-Cactus 或 PGGB 把多个组装构建成图,再用 vg 等工具把群体短读长比对到图上分型。图中的气泡结构对应各类变异。
关键参数与决策
核心与可变基因的划分阈值
核心通常指在全部基因组中出现,近核心常取在绝大多数基因组中出现,例如 90% 以上,这是常用经验划分。样本量较大时用近核心能减少因个别组装缺陷造成的核心基因丢失。
共线性区块最小基因数
MCScanX 用 -s 指定一个共线性区块至少包含的基因对数,默认 5。调低会检出更多短区块但假阳性增加,调高结果更保守,古老复制事件留下的短区块容易漏掉。
BLASTP 过滤
共线性输入的全对全比对通常设 E 值阈值并只保留每个基因前若干个最佳匹配。保留匹配过多会把基因家族成员全部连起来,导致共线性关系混乱。
图构建方法
minigraph 只纳入较大的结构变异,图简单、构建快;PGGB 和 Minigraph-Cactus 保留碱基级变异,图更完整但计算量大。只关注结构变异分型选前者,需要完整变异信息选后者。
Ks 计算与过滤
Ks 过高时同义位点趋于饱和,估计不可靠,通常只解读较低 Ks 区间内的峰。不同物种的进化速率差异会影响 Ks 与时间的换算,跨物种比较峰的位置要谨慎。
常见错误
- 各基因组用不同注释流程:大量可变基因其实是注释差异造成的,结论中的特有基因比例会被严重高估。
- 不对缺失基因做序列验证:组装缺口或预测漏检会被当成真实的基因缺失,与表型的关联也随之失真。
- MCScanX 的 BLAST 结果与位置文件基因名不一致:程序找不到对应关系,输出空结果或只有极少共线性区块。
- 用 contig 级组装判断染色体倒位和易位:组装错误和挂载错误本身就会表现为重排,需先确认组装质量。
- Ks 峰直接换算成绝对时间:替换速率因物种而异,不加校准的换算只能作为粗略参考。
- 图泛基因组中加入污染或质量差的组装:引入的错误序列会成为图中的假变异,影响群体分型结果。
结果怎么看
泛基因组饱和曲线
横轴是基因组数,两条曲线分别是泛基因组和核心基因组大小。泛基因组曲线仍明显上升说明为开放泛基因组;也可用 Heaps 定律拟合新基因增量,参数 α 小于 1 通常视为开放。
基因有无热图
行是同源基因群,列是基因组,颜色表示有无。可按群体或聚类排列,观察可变基因是否在某些亚群中集中缺失,并与表型或驯化分组对照。
共线性点图
两个基因组的基因位置构成坐标,共线性基因对为点。连续的对角线是保守区段,反向斜线表示倒位,一个区段对应多处说明存在复制。大量散点而无明显线条提示注释或比对存在问题。
染色体共线性连线图
以条带连接不同物种染色体上的共线性区块,直观展示融合、断裂和易位。连线集中在一对一染色体间为常见形态,交叉连线集中处值得重点核实。
Ks 分布图
共线性区段内同源基因对的 Ks 频数分布,每个明显的峰可能对应一次复制事件。峰值位置与物种分化的 Ks 对照,可判断复制发生在物种分化之前还是之后。
和相近方法怎么选
基因家族泛基因组与图泛基因组
基因家族路线直接回答哪些基因存在或缺失,结果容易与功能联系,但依赖注释质量;图泛基因组以序列为单位,能表示各种结构变异并用于群体分型,但解释到基因层面需额外工作。研究基因有无选前者,群体结构变异分型选后者。
MCScanX 与 JCVI MCScan
MCScanX 用 C++ 实现,输入为 BLAST 结果和位置文件,输出共线性区块和多种统计;JCVI 的 MCScan 是 Python 实现,从 CDS 或蛋白直接完成比对,绘制点图、染色体连线图和局部共线性图更方便。常结合使用。
泛基因组与结构变异检测
比对到单一参考检测结构变异,只能发现相对参考的差异,参考中不存在的序列难以表示;泛基因组把多个组装放在一起,可以直接看到插入序列和缺失基因。样本少、只有短读长时先做常规检测,有多个高质量组装时用泛基因组。
常见问题
做泛基因组需要多少个基因组?
没有固定数量,关键看饱和曲线是否趋平以及样本是否覆盖主要亚群。植物和动物研究常选取代表不同地理来源或驯化阶段的个体;细菌分离株通常更多。样本覆盖不足时,特有基因比例会被高估。
MCScanX 的输入文件怎么准备?
需要两个同名前缀的文件:一个是全对全 BLASTP 的表格格式结果,一个是四列的基因位置文件,依次为染色体、基因名、起点和终点。染色体名常用两字母物种缩写加编号,以便区分不同物种,两个文件中的基因名必须完全一致。
共线性分析能说明全基因组复制吗?
可以作为主要证据之一。物种内部若存在大量成对的共线性区块,并且对应基因对的 Ks 分布出现集中峰,通常提示历史上的全基因组复制。还需要结合染色体对应模式和近缘物种比较排除片段复制。
核心基因和可变基因有什么生物学意义?
核心基因多参与基本代谢、转录翻译等必需功能,可变基因常与抗病、抗逆、次生代谢、致病力等适应性性状有关。可变基因的有无变异可以与表型做关联,是筛选候选功能基因的重要来源。
SyRI 和共线性分析有什么不同?
MCScanX 等基于基因顺序,适合分析物种间较远的进化关系;SyRI 基于全基因组序列比对,在同种或近缘的染色体级组装间以碱基级精度识别倒位、易位、重复和局部变异。近缘组装比较重排用 SyRI,跨物种演化用基因共线性。
在 Codar 里怎么做
在 Codar 里提供多个基因组的组装和注释文件并说明比较目标后,会先确认分析方案,然后进行基因家族聚类,划分核心、可变和特有基因并绘制饱和曲线;同时在基因组之间识别共线性区块,绘制点图和染色体共线性图。交付同源基因群与有无矩阵、核心与可变基因统计、饱和曲线、共线性区块表与图、分析报告和可复现脚本。
我有 12 个水稻品种的染色体级组装和注释,想做泛基因组看核心和可变基因,再和日本晴做共线性比较