基于IBS矩阵 在R语言中构建NJ进化树 写出nwk文件

这篇具有很好参考价值的文章主要介绍了基于IBS矩阵 在R语言中构建NJ进化树 写出nwk文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

构建系统发育树有很多方法,但是mega太慢,DNAman太丑。

当时,小Y还有30分钟进行工作汇报,眼瞅着来不及,在友人小湖的指点下,第一次在R语言上进行了进化树的绘制。随后下载nwk文件,在itol网站上进行美化。

一个小白的分享哈

流程:

  1、使用plink进行IBS矩阵的构建;

  2、基于IBS矩阵,在R语言构建nj进化树,并写出nwk文件;

  3、将nwk文件在itol网站上进行美化。

1、使用plink进行IBS矩阵的构建;

 plink --bfile 45_zk -recode -out 45_zk ## 转换二进制文件45_zk 为文本格式

 plink --file 45_zk --cluster --matrix --noweb ##构建IBS矩阵

基于IBS矩阵 在R语言中构建NJ进化树 写出nwk文件

 会出现如上图所示的文件。接下来,我们会使用plink.mibs 和 plink.mibs.id

2、基于IBS矩阵,在R语言构建nj进化树,并写出nwk文件;

#包的安装与读取  

install.packages("age")
install.packages("phangorn")
install.packages("seqinr")

library(ape)
library(phangorn)
library(seqinr)


##读入plink.mibs文件
dir()
m<-as.matrix(read.table("plink.mibs"))

基于IBS矩阵 在R语言中构建NJ进化树 写出nwk文件

 这是小Y的一个数据,可以看到读入IBS矩阵后,共有个体366


m<-as.matrix(read.table("plink.mibs"))
dimnames(m) <- list(1:366, 1:366) #366为个体数


#构建单位矩阵g
g=matrix(1,nrow=366,ncol=366,byrow=FALSE)#记得更新个体数

#计算遗传距离 D=1-IBS,
D=g-m 
           

此时有的一些数据情况如下图

基于IBS矩阵 在R语言中构建NJ进化树 写出nwk文件

ID_number <- read.table("plink.mibs.id")
rownames(D) <- ID_number$V1  #补充每分支的ID

tr2 <- bionj(D) #使用bionj函数进行建树

write.tree(tr,file="tr.nwk")  #写出nwk文件,可在itol中美化树

如果直接在R 中出图,可以用以下命令

plot(tr2,cex =0.5) #输出系统发育树

plot(tr2,type="unrooted") #输出系统发育树

但是小Y半瓶子咣当当,不会调参数,就直接在itol 中进行了美化

3、将nwk文件在itol网站上进行美化。

 https://itol.embl.de/

这个网站,简单方便又免费,又好看。就不班门弄斧了,推荐一个小Y当时学习的教程吧

https://www.jianshu.com/p/d93c2a6d9d10

补充一个无根树图

基于IBS矩阵 在R语言中构建NJ进化树 写出nwk文件文章来源地址https://www.toymoban.com/news/detail-502960.html

到了这里,关于基于IBS矩阵 在R语言中构建NJ进化树 写出nwk文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【特征选择】CMA-ES(协方差矩阵适应进化策略)

    当将模型拟合到数据集时,可能需要执行特征选择:由于多种原因,仅保留某些特征子集来拟合模型,而丢弃其余特征具有一定的必要性,如下: 保持模型的可解释性(特征太多会使解释变得更加困难) 避免维度过大 最大化/最小化与模型相关的一些目标函数(R 平方、AIC

    2024年04月12日
    浏览(27)
  • 【C语言】如何写出好的代码?

    哈喽,大家好,今天我们来学习如何才能写出优秀的代码,主要讲的是 assert 和 const 的用法。  首先,什么样的代码才算的上是优秀的代码呢?应该符合下面的要求: 1. 代码运行正常 2. bug很少 3. 效率高 4. 可读性高 5. 可维护性高 6. 注释清晰 7. 文档齐全  常见的coding技巧:

    2024年02月09日
    浏览(33)
  • C语言——如何写出好的代码?

    哈喽,大家好,今天我们来学习如何才能写出优秀的代码,主要讲的是 assert 和 const 的用法。  首先,什么样的代码才算的上是优秀的代码呢?应该符合下面的要求: 1. 代码运行正常 2. bug很少 3. 效率高 4. 可读性高 5. 可维护性高 6. 注释清晰 7. 文档齐全  常见的coding技巧:

    2024年02月06日
    浏览(26)
  • 协方差矩阵自适应调整的进化策略(CMA-ES)

    关于CMA-ES,其中 CMA 为协方差矩阵自适应(Covariance Matrix Adaptation),而进化策略(Evolution strategies, ES)是一种无梯度随机优化算法。CMA-ES 是一种随机或随机化方法,用于非线性、非凸函数的实参数(连续域)优化。 作者Nikolaus Hansen于2016年在Machine Learning上发布了关于CMA-ES详细教

    2024年01月17日
    浏览(53)
  • 矩阵操作万能函数 einsum 详细解析(通法教你如何看懂并写出einsum表达式)

    可能你在某个地方听说了einsum,然后不会写,或者看不懂。这篇文章将会一步一步教会你如何使用(通法哦,只要学会方法就全会了)。 ein 就是爱因斯坦的ein,sum就是求和。einsum就是爱因斯坦求和约定,其实作用就是把求和符号省略,就这么简单。举个例子: 我们现在有一

    2023年04月08日
    浏览(29)
  • 【C语言】指针进化 !!!

    前言 🎈 大家好,我是何小侠 🎈 🍃 大家可以叫我 小何或者小侠 🍃 💐 希望能通过写博客加深自己对于学习内容的理解 💐 🌸 也能帮助更多人理解和学习 🌸 兰生幽谷,不为莫服而不芳。舟在江海,不为莫乘而不浮。君子行义,不为莫知而止休。— 出自《淮南子·说山训

    2024年02月13日
    浏览(31)
  • C语言数据结构课设:矩阵的运算(转置.求和.求差.矩阵相乘.求逆.数乘),文件读取矩阵

      #include stdio.h #include string.h #includestdlib.h #includemath.h // 定义一个结构体类型,表示一个矩阵 typedef struct matrix {     int nrow; // 矩阵的行数     int ncol; // 矩阵的列数     double data[10][10]; // 矩阵的数据,最大为 10 x 10 } matrix; // 定义一个函数,用于显示一个矩阵的内容  void dis

    2024年03月27日
    浏览(44)
  • 手把手教你写出第一个C语言程序

    大家好,我是努力学习游泳的鱼。这篇文章将手把手带你写出人生中第一个C语言程序, Hello, World 。在阅读本文之前,建议先百度 visual studio ,在微软官网下载并安装VS的最新版本,安装时记得勾选“C++桌面开发”选项。 2.1 环境 工欲善其事必先利其器,我们需要写C语言代码

    2024年02月10日
    浏览(41)
  • 短视频矩阵源码开源搭建--基于PHP语言

    短视频矩阵系统是一种基于云计算和大数据技术的智能化视频分发系统,旨在为用户提供个性化的短视频推荐和播放服务。该系统通过对用户行为数据和视频内容进行深度分析和计算,实现了智能化的推荐算法和视频分发机制,使用户能够快速、便捷地找到自己喜欢的视频并

    2024年02月21日
    浏览(28)
  • [七]【开源】基于PyQt的图像算法开发软件——手动图像配准[通过可交互的四个点构建仿射矩阵]

    [一] 【开源】基于PyQt的图像算法开发软件——如何让你开发效率翻倍 [二] 【开源】基于PyQt的图像算法开发软件——输入来源[如何导入视频进行目标检测] [三] 【开源】基于PyQt的图像算法开发软件——步骤列表[低代码实现图像算法开发] [四] 【开源】基于PyQt的图像算法开发

    2024年02月22日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包