进化树构建

进化树构建的问题是推断可能产生给定基因序列数据的进化树的拓扑结构和分支长度。推断树中叶节点的数量应等于给定数据中基因序列的数量。

Neighbor-Joining Algorithm

Neighbor-Joining (NJ)树推理方法最初是由 Saitou 和 Nei 于 1987 年编写的。

它属于一类基于距离的方法用于构建进化树。 NJ 方法采用给定序列之间的成对进化距离矩阵来构建进化树。Neighbor-Joining是一种***bottom-up*** 的聚类方法,常被用于系统发育树 (phylogenetic tree) 的构建当中。

成对距离通常从序列比对算法中获得,例如 Smith-WatermanBLAST ,它们将每个基因序列与每个其他基因序列进行比对。比对得分可用作序列之间进化距离的估计。

可用于计算距离的程序包括:用于 DNA MSADNADIST 和用于 Protein MSAPROTDIST 。这些程序是 PHYLIP 包的一部分。

我们得到的输出是一棵树以及分支长度

01

使用基于23种遗传信息的邻接法构建的18个人类群体的遗传距离图。 由日本国立遗传学研究所教授 Saitou Naruya 于 2002 年制作。

在每个阶段,树的两个最近的节点被选择并定义为我们树中的“邻居( neighbors )”。 邻居被定义为一对 OTU(Operational taxonomic units) ,它们有一个节点连接它们,其中 OTU为分类单元,换句话说是树的节点。 操作次数与 n3 成正比,其中 n 是序列数。

例子

使用 Neighbor Joining Algorithm 构建一个进化树。 我们将使用 n=6 个分类群的假设距离矩阵。

A B C D E
B 5
C 4 7
D 7 10 7
E 6 9 6 5
F 8 11 8 9 8
  1. 计算每个分类群与所有其他分类群的净分化距离r
r(i) = total distance of taxa i from all other taxa's = d(i, 1) + d(i, 2) + ... d(i, n)
A B C D E
B 5
C 4 7
D 7 10 7
E 6 9 6 5
F 8 11 8 9 8

eg: r(D) = 7 + 10 + 7 + 5 + 9 = 41

r(A) = 5 + 4 + 7 + 6 + 8 = 30
r(B) = 5 + 7 + 10 + 9 + 11 = 42
r(C) = 4 + 7 + 7 + 6 + 8 = 32
r(D) = 7 + 10 + 7 + 5 + 9 = 41
r(E) = 6 + 9 + 6 + 5 + 8 = 34
r(F) = 8 + 11 + 8 + 9 + 8 = 44
  1. 使用以下公式为每对分类群计算新的距离矩阵 (M):
M(i,j) = d(i,j) – (r(i) + r(j))/(n - 2)
  • M(A, B) 的计算示例
M(A,B) = d(A,B) – (r(A) + r(B))/(n - 2)= 5 - (30 + 42)/(6-2)= -13

计算完的结果如下图

A B C D E
B -13
C -11.5 -11.5
D -10 -10
E -10 -10 -10.5 -13
F -10.5 -10.5 -11 -11.5 -11.5
  1. 使用这个新矩阵找到最接近的分类群 i, j 。考虑最小距离并将 u 指定为该对的连接节点。然后使用公式计算分支长度
S(i,u) = d(i,j)/2 + (r(i)-r(j))/2(n-2)
S(j,u) = d(i,j) - S(i,u)

例子: 根据矩阵 M,最接近的分类群对是:AB = -13。从 U 到 A 和 U 到 B 的距离计算如下:

S(A,U) = d(A,B)/2 + (r(A)-r(B))/2(n-2)= 5/2 + (30-42)/2(6-2)= 1
S(B,U) = d(A,B) - S(A,U)= 5 - 1= 4where, d(A,B) = 5, r(A) = 30, r(B) = 42 and n = 6.
  1. 计算从 U 到所有其他分类群的新距离。 u 和分类群 k 之间的距离 d(u, k) 由下式给出
d(u,k) = [d(i,k) + d(j,k) - d(i,j)]/2
d(U,C) = [d(A,C) + d(B,C) - d(A,B)]/2= [4+7-5]/2 = 3d(U,D) = [d(A,D]+d(B,D) - d(A,B)]/2= [4+7-5]/2 = 6d(U,E) = [d(A, E) + d(B,E) - d(A,B)]/2= [6+9-5]/2 = 5d(U,F) = [(d(A,F) + d(B,F) - d(A,B)]/2= [8+11-5]/2 = 7

其他距离保持原样。因此,新的矩阵距离矩阵将是:

U C D E
C 3
D 6 7
E 5 6 5
F 7 8 9 8

在每一轮中使用新的距离矩阵重复步骤 1 到 4。 在递归地完成每一步之后,得到最终结果:

优缺点

好处:

  • 它的计算速度很快,因此可用于大型数据集。

  • 它不假设所有谱系都以相同的速度进化,即分子钟假设。

  • 它不要求也不假定距离数据是超度量或可加的。

缺点:

它通常为某些分支分配负长度。
尽管一些实现尝试了“最小进化法( minimal evolution )”,但缺乏明确的最优性标准。

进化树构建之邻接法(Neighbor-Joining)的介绍相关推荐

  1. linux下phylip软件构建NJ树,进化树构建-NJ法lpar;megarpar;

    进化树构建-NJ法 V1.2 By ZHAO Yangguo, email: sunshine.zhao@yahoo.com.cn 通过长期的分析认为对于16S rDNA序列的进化(Phyligene ...

  2. 2.系统发生树构建(非加权分组平均法、邻接法python实现)

    文章目录 算法描述 设计思想 源代码及运行成果 1.运行成果 2.源代码 遇到的问题及总结 问题 总结 算法描述 分子进化与系统发生:计算分子进化--利用算法在分子水平上构建物种的进化树.这里说的分子 ...

  3. 基因家族分析⑤:进化树构建

    在④中,我们已经得到了甘蓝中的几丁质酶基因家族序列,用任意一个序列在NCBI上对拟南芥数据库进行BlastP,在EnsemblPlants数据库中对白菜数据库进行BlastP(Brassica_rap ...

  4. 系统进化树构建及数据分析的简介

    本文引用地址:http://blog.sciencenet.cn/blog-344534-352797.html 1.涉及基本概念 例如,"分子进化与生物进化是不是一个概念",&q ...

  5. 重测序群体遗传进化分析之进化树构建

    tree 重测序大家都不陌生,它是检测样本基因组变异(SNP,indel,SV,CNV)的主要手段之一,有了这些变异信息,后续可以做很多分析工作,例如: 遗传群体可以进行遗传图谱构建.BSA分析等:大 ...

  6. GTDB:基因组分类数据库,物种注释和进化树构建工具GTDB-tk

    简介 基因组分类数据库:GENOME TAXONOMY DATABASE 网址:https://gtdb.ecogenomic.org/ 该数据库已经于2018/2020连续发表两篇Nature Bi ...

  7. vbn中使用的3种流程控制结构是_细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定...

    细菌进化树 • 构 建 细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定 对于细菌新种或者新属的发现,总是那么让人期待,但是当我们批量获得16S序列后,逐一对这些尚不知分类地位的序列进行比对并 ...

  8. linux 建树软件,FastTree:速度最快的最大似然法进化树构建软件

    欢迎关注"生信修炼手册"! FastTree 是基于最大似然法构建进化树的软件,它最大的特点就是运行速度快,支持几百万条序列的建树任务.官方的说法是,对于大的比对数据集,FastT ...

  9. A律十三折线法G711编解码介绍

    A律十三折线法G711编解码介绍 简介 G711国际电信联盟ITU-T定制出来的一套语音压缩标准,主要用于对PCM音频数据编码,将PCM16bit数据压缩为为8Bit,它是主流的波形音频编码器,相当于 ...

最新文章

  1. kafka消费者命令行的使用方法
  2. Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理
  3. 互链网-未来世界的连接方式 (1)央行数字货币CBDC模型
  4. r中汇率市场_如何在Word 2013表中汇总行和列
  5. 询问HTG:白噪声屏幕保护程序,有效的文件命名以及从密码泄露中恢复
  6. 【Redis】redis 主从复制
  7. nginx(三)status状态页面的相关信息及配置,以及nginx的访问控制配置
  8. 安装adb、选择合适的 adb 版本
  9. 汇川plc c语言,汇川小型PLC梯形图编程教程(十):输入输出继电器X和Y元件及常开常闭触点介绍...
  10. R语言使用pROC包绘制ROC曲线并在ROC曲线上显示特异度和敏感度的置信区间(通过阴影区域以及线条显示)
  11. 互联网发展阶段的三阶段是什么?从门户到搜索,到移动互联网
  12. 5v继电器模块实物接线_一秒看懂基础继电器电路图解
  13. 请求转发 tomcat 404错误
  14. linux修改文件:E212 can't open file for writing
  15. RxSwift核心原理探究
  16. 苹果 macbookpro m2 pro、m2 max、m1 pro和 m1 max区别
  17. 基于原生JS写的异形轮播图--效果如网易云、QQ音乐播放器中轮播图
  18. TokenGazer评级丨MakerDao:去中心化金融趋势确立,项目治理恐有中心化风险
  19. form表单提交数据到服务器
  20. mes java_MES项目简单总结(技术篇)

热门文章

  1. docker daemon调试
  2. 堆内存(3)——分配函数_int_malloc
  3. 谷歌2022学术指标出炉!Nature继续霸榜,CVPR第4,计算机5顶会入Top20
  4. Thinkphp 自动生成页码 分页显示
  5. C++加载PNG图片
  6. 如何做好笔记以及记好笔记的好处
  7. 微博html5版打不开,PC端网页版微博就是打不开是什么问题啊!缓 – 手机爱问
  8. 用python解决经典羊车门问题
  9. 3w最简单led灯电路图_一款简单实用的LED灯驱动电路
  10. 北邮php,周琳娜-北京邮电大学网络空间安全学院