利用 DIAMOND、MCScanX、TBtools 分析物种基因组间的共线性区段与基因复制事件

本文通过 4 个兰花的基因组注释,主要利用 MCScanX 软件分析 NB-ARC 基因家族在不同物种间的共线性区段以及基因复制事件。步骤参考文献 Genome- Wide Analysis of the Nucleotide Binding Site Leucine-Rich Repeat Genes of Four Orchids Revealed Extremely Low Numbers of Disease Resistance Genes,Front. Genet.,08 January 2020。

MCScanX 通过 序列间的比对结果序列的注释文件 来分析基因组中存在的共线性区段和基因复制事件。将分析的结果通过 TBtools 进行可视化展示。


一、使用 DIAMOND 进行蛋白组比对

参考链接:

  • https://github.com/bbuchfink/diamond/wiki

DIAMOND 是 2015 年在 Nature Methods 上发布的一款 蛋白序列 比对软件,可以大批量、极高速的完成序列比对,并且操作简单。 DIAMOND 比对速度是 BLAST 的 100x-10000x,并且具有相似的精确度。这里使用 DIAMOND 进行蛋白组间的序列比对。

  1. 使用 makedb 建库

     $ diamond makedb --in species1.fasta -d  species1
     $ diamond makedb --in Apostasia_shenzhenica.fasta -d  Apostasia_shenzhenica
    
  2. 使用 blastp 进行蛋白组间的序列比对

     diamond blastp -k3 -d species1 -q species2.fasta -o sp2sp1.blast
     -k 指输出文件中仅包含每个查询序列(query)匹配到的 top N 个目标序列。
     如 -k3 表示根据匹配得分 输出 每个查询序列匹配到的前 3 个目标序列。
    

以 Apostasia_shenzhenica 作为参考蛋白组(-d),将剩余 3 个物种的蛋白组序列作为查询序列(-q)进行比对,物种间蛋白组比对时间 约几秒钟 完成:

diamond blastp -k3 -d Apostasia_shenzhenica -q Apostasia_shenzhenica.fasta -o ApAp.blast(9.8s)
diamond blastp -k3 -d Apostasia_shenzhenica -q Dendrobium_catenatum.fasta -o DeAp.blast(9.7s)
diamond blastp -k3 -d Apostasia_shenzhenica -q Gastrodia_elata.fasta -o GaAp.blast(4.2s)
diamond blastp -k3 -d Apostasia_shenzhenica -q Phalaenopsis_equestris.fasta -o PhAp.blast(7.9s)



二、提取注释信息

MCScanX 输入文件中的注释文件要求格式为 4 列,分别为 chr、gene、start、end,顺序不能乱且分隔符为 \t。在通过基因组的 gff 文件提取注释信息时需要注意的是:

  1. gene、mRNA、protein 的 id 可能不同,不同物种 id 存放的位置也可能不同,如 Gastrodia_elata 中 mRNA_id 存放在 mRNA 的 “Accession=” 后,protein_id 存放在 CDS 的 “Protein_Accession=” 后,而其他物种 gff 文件中mRNA_id、protein_id 都是存放在 mRNA 和 CDS 的 “ID=” 后。
  2. 输出的注释文件名需要以 .gff 作为 后缀


三、使用 MCScanX 分析共线性及基因复制事件

参考链接:

  • 「生信」共线性分析——MCScanX
  • 基因组共线性工具MCScanX使用说明
  • https://github.com/wyp1125/MCScanX

$ MCScanX fileanme

MCScanX 会读取当前目录下 fileanme.gfffileanme.blast 两个文件,分析数据中由 片段复制(segmentally duplicate)事件 导致的 共线性(collinearity) 和由 基因复制事件 导致的 串联重复(tandemly duplicate) 。在比对结果中,如果一对配对(alignment)序列在染色体上是相连的,MCScanX 认为两序列中一条序列是由另一条序列复制产生的,即存在 1 个基因复制事件;如果多对配对在染色体上成簇存在,MCScanX 认为多对序列中一组是由另一组复制产生的,即存在 1 个片段复制事件。

MCScanX 会产生 2 个输出文件和 1 个输出文件夹:

  • fileanme.collinearity 中记录了片段复制事件
  • fileanme.tandem 中记录了基因复制事件
  • fileanme.html/ 中以染色体为单位,展示了该染色体上基因的共线性事件和串联重复事件。第一列为共线性区段数量;第二列为染色体上基因,其中标红基因表示发生了串联重复(tandemly duplicate),与文件 fileanme.tandem 中内容一致;第 >=3 列表示各共线性区块,与文件 fileanme.collinearity 中内容一致。

在对 Apostasia_shenzhenica 物种内进行共线性分析时,MCScanX 找到了 63 个共线性区段、478 个串联重复。同理在对 Gastrodia_elata、Dendrobium_catenatum、Phalaenopsis_equestris 进行物种内共线性分析时,MCScanX 分别找到了 3、12、12 个共线性区段和 415、10304、8781 个串联重复。MCScanX 发掘的共线性区段较少,可能原因是输入的基因组是 Scaffold 而非拼接好的染色体,大量 Scaffold 中仅包含1个基因,碎片化的 Scaffold 使区块分析变得困难。各物种 Scaffold 数量:Apostasia_shenzhenica = 610,Dendrobium_catenatum = 551,Phalaenopsis_equestris = 4363,Gastrodia_elata = 507。

通过脚本提取 MCScanX 结果中包含 NB-ARC 结构域的蛋白,结果如下:

NB-ARC Apostasia_shenzhenica Gastrodia_elata Dendrobium_catenatum Phalaenopsis_equestris
collinearity 0 0 0 0
tandem 2 0 38 10

4个物种内均无包含 NB-ARC 蛋白的基因组重复事件(segmentally duplicate),但是包含了一些串联重复事件,这与参考文献中结果一致。


$ MCScanX PhGaDe_Ap 

这里以 Apostasia_shenzhenica 蛋白组作为参考,将 Gastrodia_elata、Dendrobium_catenatum、Phalaenopsis_equestris 蛋白组与Apostasia_shenzhenica 蛋白组的比对结果整合成一组文件(PhGaDe_Ap.blast、PhGaDe_Ap.gff)后进行共线性分析,寻找 4 个基因组间的共线性区段。因为共线性区段的存在是相互的,所以改变参考蛋白组(reference)对结果影响不大。MCScan 的运行总时间约为 3 分钟,挖掘出了 1572 个共线性区块。

  • 注意:MCScanX 会根据 gff 文件中染色体号的前缀(前2个字符)将染色体划分为不同的物种,若 MCScanX 识别到输入数据中包含多个物种,则不会生成 tandem 文件。
  • 注意:PhGaDe_Ap 与分别比对(PhAp、GaAp、DeAp)中挖掘到的共线性区块是一致的,但 PhGaDe_Ap 将4个物种间的共线性区块整合在了一起,如 PhGaDe_Ap.html 文件夹中,可以方便的观察在物种间均存在的共线性区块。

通过脚本提取 MCScanX 结果中包含 NB-ARC 蛋白的共线性区块。实验发现了 PKA60334.1 蛋白所在的共线性区块在 Gastrodia_elata、Dendrobium_catenatum、Phalaenopsis_equestris 中也存在,PKA54312.1 蛋白所在的共线性区块在 Dendrobium_catenatum、Phalaenopsis_equestris中也存在。


PS:使用 MCScanX 中的 duplicate_gene_classifier 分析与各种复制事件相关的基因数量

$ duplicate_gene_classifier filename
$ duplicate_gene_classifier ApAp

duplicate_gene_classifier 的输入与MCScanX一致,读取当前目录下 fileanme.gfffileanme.blast 作为输入,输出结果如下:

Type of dup Code Number
Singleton 0 88907
Dispersed 1 13573
Proximal 2 463
Tandem 3 847
WGD or segmental 4 1055

其中 Singleton 表示单拷贝,Proximal 表示在相同染色体上相近但不想连的重复,Dispersed 表示除 Tandem、WGD、Proximal 以外的重复。

注意,duplicate_gene_classifier 输出的是复制事件相关的 基因数,而 MCScanX 输出的是 复制事件的数量。如 ApAp 中总共有 63 个共线性区段,其中包含 1055 个基因;有 478 个串联重复事件,其中包含 847 个基因。


四、使用 TBtools 绘制共线性区段

TBtools 下载地址:

  • https://github.com/CJ-Chen/TBtools/releases

TBtools 功能详细介绍参见:

  • Circos图?太简单,用TBtools画啊
  • 重新认识TBtools,减少你的生信分析烦恼
  • 科研要酷 可用TBtools

Linux 下载 Source code,解压后通过 Java 打开 TBtools。这里通过 TBtools -> Graphics -> Advanced Circos 绘制 PKA60334.1 蛋白所在的共线性区块。Advanced Circos 需要提供三个输入文件:

  1. 染色体长度(chrID\tLength)
  2. 染色体上的基因信息(gff+color:ChrID\tFeatureName\tStartPos\tEndpos\tR,G,B)
  3. 染色体之间的连接信息(ChrID\tStartPos\tEndpos\tChrID\tStartPos\tEndpos\tR,G,B)

通过脚本根据共线性文件(fileanme.collinearity)和注释文件(fileanme.gff),提取出 TBtools 所需的输入文件。将文件输入给 TBtools:

利用 DIAMOND、MCScanX、TBtools 分析物种基因组间的共线性区段与基因复制事件_第1张图片

  • PKA60334.1.chr_length 文件内容如下,记录了要绘制的染色体及长度。

    在这里插入图片描述
  • PKA60334.1.label 文件内容如下,记录了要标注出来的蛋白(与PKA60334.1 比对上的包含 NB-ARC 结构域的蛋白)及位置。

    利用 DIAMOND、MCScanX、TBtools 分析物种基因组间的共线性区段与基因复制事件_第2张图片
  • PKA60334.1.link 文件内容如下,记录了各染色体间连线的起点、终点及颜色。这里将包含 NB-ARC 的蛋白的共线性区块中的所有配对基因进行连线,非 NB-ARC 蛋白间连线为灰色(192,192,192),NB-ARC 蛋白间连线为红色(255,0,0)。注意!这里连线的顺序与 TBtools 的绘图顺序相关!TBtools 从文件 尾行 开始绘图,所以行数越小,图层越高,不想被遮挡的连线需放在文件开始几行

    利用 DIAMOND、MCScanX、TBtools 分析物种基因组间的共线性区段与基因复制事件_第3张图片
  • PKA60334.1.gene 文件内容如下,记录了染色体上各基因的位点及标注颜色。这里将 NB-ARC 蛋白标注为红色,其他蛋白标注为灰色。注意!这里基因标注的顺序与 TBtools 的绘图顺序相关!TBtools 从文件 首行 开始绘图,所以行数越大,图层越高,不想被遮挡的连线需放在文件最后几行

    在这里插入图片描述

PKA60334.1 的 Advanced Circos 输出结果如下。由于在比对的时候只比较了 Gastrodia_elata、Dendrobium_catenatum、Phalaenopsis_equestris 与 Apostasia_shenzhenica 间的关系,所以这里 Gastrodia_elata、Dendrobium_catenatum、Phalaenopsis_equestris 间没有连线。

利用 DIAMOND、MCScanX、TBtools 分析物种基因组间的共线性区段与基因复制事件_第4张图片

  • 这里没有展示 Chr Bar 和 Interval Tick,且 LinkPos = 95。
  • Advanced Circos 中与 Pos 有关的绘图参数都是指与圆心的距离。

你可能感兴趣的:(系统发育树)