使用python将newick转换为graphml

2024-05-13 04:10:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把一棵树从newick转换成graphml格式,我可以用cytoscape打开它。在

所以,我有一份文件“小纽克“包含:

((raccoon:1,bear:6):0.8,((sea_lion:11.9, seal:12):7,((monkey:100,cat:47):20, weasel:18):2):3,dog:25);

到目前为止,我是这样做的(python3.6.5 |Python):

^{pr2}$

image1

Clade有一个问题,我可以使用以下代码修复:

^{3}$

给我一些看起来不错的东西:

image2

我的问题是:

  • 这是个好办法吗?在我看来,这个函数不处理内部节点名

  • 如果用足够长的字符串替换一个节点名,则命令Phylo.to\u网络(树)。如何避免呢?

示例:用“测试字符串”替换“狗”,该字符串会产生一些问题

image3


Tags: 文件字符串节点格式catmonkeybeargraphml
2条回答

经过一番研究,我实际上找到了一个可行的解决方案。 我决定在这里为您提供链接,亲爱的读者: going to github

看来你已经在这方面做得很好了。我只能对你的方法提出一些替代/扩展。。。在

  1. 不幸的是,我找不到一个可以读取这种格式的Cytoscape应用程序。我试着找PHYLIP,NEWICK和PHYLO。你可能会更幸运:

  2. 有一个旧的Cytoscape 2.x插件可以读取这种格式,但要运行它,您需要安装Cytoscape 2.8.3,导入网络,然后导出为xGMML(或另存为CYS),然后尝试在Cytoscape 3.7中打开,以便迁移回生活的代码。再说一次,如果2.8.3满足了您在这种特定情况下所需的功能,那么您可能不需要迁移:

  3. 最好的方法是程序化的,您已经探讨过了。找到一个R或Python包将NEWICK转换为iGraph或GraphML是一个可靠的策略。请注意,这些语言中也有更新和流畅的Cytoscape库,因此您可以在脚本环境中执行所有标签清理、布局、数据可视化、分析、导出等操作:

相关问题 更多 >