今天介绍两个基于R语言的共进化分析软件ParaFit和PACo,其中,ParaFit来自于ape包,PACo本身就是一个软件包。所以在分析之前要先下载ape和PACo这两个软件包。另外,共进化分析所用到的cophenetic(用于计算谱系距离)和导入.tre数据的功能也在ape包里,所以不用额外下载。
共进化分析所需的三个文件为:宿主之间的谱系距离.csv、寄生物之间的谱系距离.csv和寄生物-宿主之间的关系.csv(0/1文件),我在这里以冠状病毒和蝙蝠宿主的共进化关系为例进行演示。
ParaFit
1.打开R软件,首先设置工作空间,然后下载软件,代码如下:)
2. 首先,获取宿主和寄生物的谱系距离,需要将先前使用RaxML获得的.tre文件导入R软件中,并使用ape中的cophenetic功能计算谱系距离,代码如下:
于是可以在工作空间获得两个以.csv结尾的文件,它们分别是冠状病毒和蝙蝠的谱系距离。
文件的基本的内容的基本形式如下
3.接下来要准备一个Host-parasite(HP)文件将宿主和寄生物(冠状病毒)关联起来,这要靠手动编辑。首行为蝙蝠物种名,首列为病毒名(按照说明书说的)。
当某物种携带某种病毒时,在相应的表格处填1,没有则为0。注意:这里的名称要跟谱系距离文件里的名称一一对应,不能有误,否则关联不上,编辑好后以.csv格式保存。
4. 接下来将这三个文件导入R软件中进行计算,代码如下:
5. 由于ParaFit要求导入的文件应为矩阵格式,因此我们 在执行分析命令前要把导入的文件用as.matrix() 进行转换,在用t()命令倒置HP矩阵,代码如下:
6.接下来执行ParaFit的分析功能,在ape说明书的178页有ParaFit的说明和案例。分析代码如下:
如果不想倒置HP文件,代码可以改为如下:
# nperm 为指定置换次数,test.links=T表示计算寄生物-宿主共进化关系的p值,correction = "lingoes"表示数据矫正方法为"lingoes"#
7.等待片刻之后运行res可以显示结果,当p<0.05时,共进化关系显著。
8.用sink()命令保存结果,代码如下:
PACo
PACo的共进化分析需要的同样是上面说的那三个文件(宿主的谱系距离.csv、冠状病毒谱系距离.csv、宿主-病毒关联文件.csv),导入文件后同样需要把文件转化为矩阵格式。
注意:如果宿主、寄生物名称太复杂,PACo运行时可能会无法与HP文件关联,我在这里把宿主名和冠状病毒的名字都改成了基因登陆号。
1. 加载PACo并导入文件。导入的方法和上面一样。代码如下:
2. 用命令as.matrix()将导入的文件转位矩阵格式,再用命令t()倒置HP矩阵,代码如下:
如果你不想倒置hp矩阵也可以在执行PACo分析时调换mh和mp位置。
3. 执行PACo共进化分析,代码如下
4. 执行“D”,可以查看PACo共进化分析结果,当p<0.05时,共进化关系显著。
5. 用sink()将结果保存为.txt文件即可,方法参考ParaFit教程中的步骤8。
end
注:本推文未经许可禁止转载。
更多精彩内容请进入“科研日精进”公众号查看
工具篇丨用R绘制基因组共线性图是这么做的?
工具篇丨利用Rseqcombo程序包绘制DNA序列变异信息
工具篇丨Momocs:用R进行表型变化分析
课程篇丨18天直播课:R语言统计编程与科研发表级绘图
页面更新:2024-05-18
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号