过了很长时间,我找到了一个解决办法:

据我所知,在PhylogenticPython库中没有内置函数来扩展树。这很奇怪,我希望我错了。在

然而,一旦你了解了它们的数据结构,就有了一种简单的方法:你只需要遍历树的所有边,然后将它们乘以所需的因子。这是不同的,这取决于您使用的库。

以下是两个示例,如何使用dendropy和ete3拉伸两倍大小的树:from ete3 import Tree

import dendropy as dp

original_tree = "(2azaa:0.1871453443,1dz0a:0.1944528747,(((1joi:0.1917345578,1nwpa:0.206793251):0.2050584423,"\

"(1jzga:0.3027313573,1rkra:0.2710518895):0.08148637118):0.06756061176,(1cuoa:0.2959705289,"\

"((1qhqa:0.585997308,1gy1a:2.509606787):0.1590837051,(1kdj:0.9427371887,"\

"((1iuz:0.1918780006,7pcy:0.2035503755):0.1750205426,((2plt:0.2727097306,(2b3ia:0.6259053315,"\

"(((1bawa:0.3036227494,1nin:0.5134587308):0.1375675558,((2raca:0.4617882857,1id2a:0.3274320042):0.7764884063,"\

"(1pmy:0.7017063073,(1bqk:0.2214168026,(1adwa:0.4171298259,1paz:0.4214910379):0.08599165577):0.2074622534):0.9354371144):0.4486761297)"\

":0.1105387947,(1m9wa:0.4551681561,1bxva:0.3931722476):0.06879588421):0.1131812572):0.4242876607):0.1447393581,"\

"(1plb:0.2176281022,(1byoa:0.2314554253,(9pcy:0.2456728049,(1ag6:0.1776514893,1plc:0.318467746):0.02728470893)"\

":0.07383541027):0.1260361833):0.2659408726):0.05013755844):0.2637791318):1.001560925):1.018869112):0.4609302267):0.1807238866);"

#dendropy test

print("These are the dendropy results:")

t1 = dp.Tree.get_from_string(original_tree,"newick")

t2 = dp.Tree.get_from_string(original_tree,"newick")

for edge in t2.levelorder_edge_iter():

if(edge.length == None):

continue

edge.length *=2

print(t1)

print(t2)

#ete3 test

print("These are the ete3 results:")

t3 = Tree(original_tree)

t4 = Tree(original_tree)

for node in t4.iter_descendants():

node.dist*=2

print(t3.write())

print(t4.write())

从这个例子中我们可以学到的另一个教训-在搜索内置函数之前,一定要对所使用的数据结构做功课。。。在

python 进化树_Python ete3有没有一种方法来扩展系统进化树的分支?相关推荐

  1. python 重载_python模块重载的五种方法

    环境准备 新建一个 foo 文件夹,其下包含一个 bar.py 文件 bar.py 的内容非常简单,只写了个 print 语句 只要 bar.py 被导入一次,就被执行一次 print 禁止重复导入 ...

  2. python字符串百分号_Python字符串格式化的2种方法

    本文介绍了Python字符串格式化,主要有两种方法,分享给大家,具体如下 用于字符串的拼接,性能更优. 字符串格式化有两种方式:百分号方式.format方式. 百分号方式比较老,而format方式是比 ...

  3. python 获取csv的列数_Python读取excel的两种方法

    excel是什么 Microsoft Excel是一个使用非常广泛的电子表格程序.它的用户友好性和吸引人的功能使其成为数据科学中常用的工具.对于excel来说,整个excel文件称为工作簿,工作簿中的 ...

  4. python怎么复制字符串_python字符串复制的几种方法

    >>> list1 = [1,2] >>> id(list1) 50081032 >>> list2 = list1.copy() >> ...

  5. bufferedreader读取中文乱码_Python读取excel的两种方法

    excel是什么 Microsoft Excel是一个使用非常广泛的电子表格程序.它的用户友好性和吸引人的功能使其成为数据科学中常用的工具.对于excel来说,整个excel文件称为工作簿,工作簿中的 ...

  6. python csv库,Python 中导入csv数据的三种方法

    Python 中导入csv数据的三种方法,具体内容如下所示: 1.通过标准的Python库导入CSV文件: Python提供了一个标准的类库CSV文件.这个类库中的reader()函数用来导入CSV文 ...

  7. python打开文件不存在-Python判断文件是否存在的三种方法

    原标题:Python判断文件是否存在的三种方法 通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件 ...

  8. python调用shell命令-在Python中执行shell命令的6种方法,你都知道吗?

    原标题:在Python中执行shell命令的6种方法,你都知道吗? Python经常被称作"胶水语言",因为它能够轻易地操作其他程序,轻易地包装使用其他语言编写的库.今天我们就讲解 ...

  9. python 命令-python解析命令行参数的三种方法详解

    这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...

  10. python使用教程cmd啥意思-对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

最新文章

  1. 基于python和OpenCV构建智能停车系统
  2. 【手把手教你全文检索】Apache Lucene初探
  3. python字典属于无序序列_Python序列结构--字典
  4. WordPress添加背景音乐
  5. python爬虫学习:电商数据分析
  6. 實驗項目wordcount
  7. 半岛电视台员工遭iOS iMessage app零点击0day 漏洞利用攻击
  8. MOQL-复杂事件处理(CEP)
  9. Django表单系统
  10. 多源信息融合中的一些名词及知识点
  11. Excel:筛选后序号自动排序。
  12. 【刷题-每天一算法】赛马
  13. icloud与mysql_ICloud 应用实例(一)
  14. 软件设计师近10年上午真题解析知识点(并非绝对完整版)
  15. javascript使用小技巧
  16. Doctrine浅析
  17. ipad协议827版技术分析
  18. android 图片分析,Android ImageView圆形头像 图片完全解析
  19. Linux内核中断系统处理机制-详细分析
  20. Activiti7工作流介绍及使用

热门文章

  1. Koo叔说Shader—UV旋转
  2. ftp 服务器 性能,Xlight FTP服务器网络性能测试
  3. 如何修改github博客主题
  4. windows10更新服务器修改,Windows 10彻底关闭自动更新(Windows Update和Windows Update Medic Service)...
  5. dw中css制作导航,四点告诉你Dreamweaver中制作漂亮导航条的方法
  6. 重装系统——最纯净的windows10系统安装方法
  7. 饿了么Redis Cluster集群化演进
  8. Java Duration类和Period类
  9. raspberry(树莓派)的简介及实验
  10. 排序算法之python实现(上)