1. 跨物种共线性分析:从“物种内”到“物种间”的思维跃迁
很多刚开始接触基因组学的朋友,都是从物种内共线性分析入门的,比如看看玉米自己基因组里哪些基因是复制来的,或者水稻里哪些片段发生了重排。这就像研究一个家族的族谱,搞清楚谁是谁的直系亲属。但生物世界的有趣之处,往往在于比较。当你把小麦、高粱、番茄、棉花这些看似八竿子打不着的物种放在一起,去探寻它们基因组深处那些跨越亿万年进化时光仍被保留下来的“同源区块”时,真正的发现之旅才刚开始。这就是跨物种共线性分析的魅力所在。
简单来说,跨物种共线性分析就是比较两个或多个不同物种的基因组,找出它们之间在基因排列顺序和内容上保守的区域。这些区域就像进化留下的“指纹”,暗示着这些基因可能具有重要的、不可替代的功能,比如参与关键的生长发育过程或环境适应。我刚开始做这个分析时,也以为就是把物种内分析的脚本改改参数就行,结果踩了不少坑。比如,不同物种的基因组注释文件格式千差万别,直接套用会报错;再比如,如何设置合理的比对参数才能既找到真正的同源基因,又不会让结果文件大到跑不动。
所以,这篇实战指南,我就以小麦、高粱、番茄、棉花这四个在研究和农业上都极具代表性的物种为例,带你走一遍完整的跨物种共线性分析流程。我会分享我实际用过的脚本,解释每一步为什么要这么做,以及遇到那些“坑”时我是怎么爬出来的。无论你是想研究作物驯化过程中的基因丢失与保留,还是想挖掘抗逆相关的保守基因家族,这套流程都能给你一个扎实的起点。我们不需要深奥的理论,目标就一个:让你拿到数据后,能一步步做出可靠、可解释的共线性图谱。
2. 实战第一步:数据获取与规范化处理
做分析,数据是地基。地基没打牢,后面楼盖得再漂亮也可能塌。对于跨物种分析,数据准备尤其关键,因为你要处理来自不同数据库、不同版本、不同格式的多个文件。这里最容易出问题,也是新手最头疼的地方。
2.1 从哪里获取可靠的基因组数据?
我强烈建议从几个主流、维护良好的公共数据库获取数据,这样数据的质量和注释的一致性更有保障。对于植物基因组,我常用的有三个:
- Ensembl Plants: 这是我最常用的,数据集成度高,版本管理清晰,而且提供了多种格式的文件下载。比如小麦(Triticum aestivum),你可以直接搜索找到最新的参考基因组版本。
- Phytozome: 特别适合植物比较基因组学,很多经典模式植物和作物基因组都在这里,并且提供了很好的基因家族注释信息。
- NCBI RefSeq: 也是一个可靠来源,尤其适合查找一些非模式物种的基因组。
以我们选的四个物种为例,你需要下载每个物种的蛋白质序列文件(通常后缀是 .pep.all.fa 或 .protein.fa)和基因结构注释文件(通常是GFF3格式,.gff3 或 .gff)。记住,一定要确保蛋白序列文件和GFF文件来自同一个基因组组装版本,否则基因ID对不上,后面全乱套。
2.2 关键预处理:从GFF文件中精准提取mRNA信息
下载的原始GFF文件包含的信息非常多,有基因、mRNA、外显子、CDS等等。但MCScanX这类共线性分析工具,通常只需要mRNA或gene类型的行,并且需要特定格式。原始文章里用grep和awk组合拳来提取,这招非常实用,但我们需要根据自己物种的GFF特征进行微调。
我处理小麦(示例来自IWGSC RefSeq v2.1)的GFF时,发现它的mRNA行第九列属性格式和原始文章里的例子不太一样。直接套用脚本可能会提取不到正确的ID。下面是我调整后通用的提取命令,你可以把它保存成一个脚本,比如叫 extract_mRNA_gff.sh:
#!/bin/bash
# 用法:./extract_mRNA_gff.sh input.gff3 output.gff
INPUT_GFF=$1
OUTPUT_GFF=$2
# 核心命令:提取类型为“mRNA”的行,并格式化输出为:染色体/scaffold名、基因ID、起始位置、终止位置
# 这里使用了更稳健的ID提取方式,适应不同属性分隔符
grep -P '\tmRNA\t' $INPUT_GFF | \
awk -F '\t' '{
split($9, attr, ";");
gene_id="";
for (i in attr) {
if (attr[i] ~ /^ID=/) {
split(attr[i], id_part, "=");
# 进一步处理,去除转录本版本号等后缀,只保留核心ID
sub(/\.t[0-9]+$/, "", id_par


619

被折叠的 条评论
为什么被折叠?



