群体遗传学基因组组装DNA-seq学习

选择压力分析,从序列下载到结果绘图

2021-01-29  本文已影响0人  byemax

选择压力及基因在进化过程中所受到的压力,也称自然选择。

具体知识我不作赘述,感兴趣的可以去看其他文章,本文主要介绍选择压力分析具体的流程及方法。这方面网上的教程很少,我也只是在各种网上的教程里自己摸索整理出的方法,方法不一定对,仅供参考。

1. 物种选择及序列下载

  1. NCBI Genome Database,这个是大家平时可能最常用的基因数据库。

    image.png
  2. 中国国家基因库,这个数据库回定期同步国际数据库的资源,网络加载速度比 NCBI 快很多且中文界面比较友好。

    image.png

2. 序列去冗余及格式调整

然后对序列最长CDS序列进行提取,并将物种名称加到ID的前面,得到如下格式:


image.png

3. 直系单拷贝同源基因筛选及系统发育树构建

这里使用OrthoFinder寻找同源基因并建树,得到直系单拷贝同源基因和物种系统发育树结果。

4. 多序列比对及格式转换

  1. 首先将所有的直系单拷贝同源基因进行多序列比对,这里我这了很多软件,发现常规的mafft, muscle 等软件比对后会改变密码子序列。于是使用了PhyloSuite中的mafft多序列比对,选择密码子(codon)模式。

    image.png
  2. 最后使用PhyloSuite的格式转换工具,转换比对完成后的序列为Paml所需要的格式。到这里,所有的数据准备就完成了,就可以开始选择压力分析了。

    image.png

5. 选择压力分析

目前我们有了选择压力分析所必须的文件:

  1. 比对好的Paml格式密码子序列。
  2. 物种的系统发育树。(计算时要在选择的物种名后加上 #1

选择压力分析使用的是Paml中的codeml软件包。EasyCodeML做了很好的可视化界面,但是不能批量运算,只能一次分析一个,并且容易卡死(Mac 和 windows上都遇到过)。

所以我自己写了一个脚本callCodeml(使用方法:python3 callCodeml.py 序列文件夹 物种发育树文件)来计算前景枝受到的选择压力,调用codeml批量运算枝位点模型(Branch site model),并使用chi2检验,只输出 P < 0.05 的结果,最终将结果自动整理成表格。

image.png

至此,选择压力分析完成,我们只需要根据OrthoFinder的文件即可找到OG00XXXX同源组所对应的基因名称。

6. 绘图

困了,睡觉,改天有缘再写。

上一篇下一篇

猜你喜欢

热点阅读