问题标签 [ete3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
385 浏览

python - Python ete3 - 有没有办法拉伸系统发育树的分支?

我正在尝试阅读系统发育树并将其分支伸展到比原来更大或更小,但我没有找到如何。拉伸需要在树本身上 - 而不是在它的可视化上。

例如,以下代码读取一棵树并呈现它:

以下链接讨论了如何使用该库,但我没有找到我要查找的内容:

http://etetoolkit.org/docs/latest/tutorial/tutorial_trees.html

任何人都可以帮忙吗?

编辑:如果有其他 Python 库可以做到这一点,我很想听听是哪一个以及它是如何完成的。

Edit2:我知道在 R 中有一个名为“ape”的库,然后可以非常简单地做到这一点......也许使用它的人知道某些 python 库中的并行操作?

0 投票
0 回答
112 浏览

python - 在 python 中使用渲染函数 ete3 时出错

我尝试在 python 中使用 ete3 渲染树。这是我的基本代码:

我收到此错误消息:

似乎渲染功能不起作用,但我看不出问题出在哪里。有人有线索吗?会不会是版本问题?

谢谢!

0 投票
1 回答
465 浏览

python - ete3:如何从分类 id 中获取分类等级名称?

我想用它来转换一堆标识符,但我需要确切地知道为每个分类代码分配了哪个分类等级。下面显示的是一个有意义的转换示例,但我不知道如何标记一些分类调用。基本分类等级是:(域、界、门、类、目、科、属和种) https://en.wikipedia.org/wiki/Taxonomic_rank

在大多数情况下,这很容易,但如果有细菌的亚种和菌株,这可能会让人感到困惑。

如何让 ete3 指定谱系 ID 在分类等级中对应的等级?

0 投票
0 回答
386 浏览

python - 如何在没有 __hash__ 的情况下删除对象列表中的重复项

我有一个自定义对象列表,我想从中删除重复项。通常,您可以通过为您的对象定义__eq____hash__,然后获取set对象列表中的 来完成此操作。我已经定义__eq__了,但我想不出一个好的实现方法,__hash__以便它为相等的对象返回相同的值。

更具体地说,我有一个派生自ete3 toolkitTree的类的类。如果两个对象的Robinson-Foulds距离为零,我将它们定义为相等。

两者都print len(trees)返回print len(set(trees))12,但这不是我想要的,因为有几个对象彼此相等:

返回:

所以我的问题是:

  • 对于我的案例来说,什么是一个好的__hash__实施方案,这样才set(trees)有效?
  • 或者如何在__hash__未定义的情况下从列表中删除相等的对象?
0 投票
0 回答
70 浏览

python - 使用 ete3 包渲染树会弄乱 tkinter 中的菜单

我正在使用 tkinter 为 GUI 设计一个桌面应用程序。该应用程序生成了一些我想以图形方式呈现为树的嵌套数据结构。为此,我使用的是 ete3 包。但是,当我将树渲染成图像文件时,tkinter 根窗口中的菜单会变得混乱。树被正确渲染到图像中。

这是代码的简化版本,它有同样的问题:

在渲染树之前,应用程序如下所示: image1

在渲染树之后: image2

此外,如果我删除该tree.render(direction)行,则不会出现问题。有什么想法可能导致这种情况吗?

0 投票
1 回答
2856 浏览

python - python3 上的 ete3 模块 - 无法导入 TreeStyle、faces、AttrFace、NodeStyle

我是一个 linux 用户,到目前为止,我已经成功地在 python2 中使用了 ete3。

我为python3安装了ete3,python3找不到某些模块。我相信我已经按照说明安装了所有依赖项。

我可以从 ete3 导入 ete3 和 Tree,但不能导入我目前使用的任何其他东西。

关于如何解决这个问题的任何线索?

0 投票
2 回答
16171 浏览

python - expected str, bytes or os.PathLike object, not InMemoryUploadedFile

I have a method to read a Newick file and return a String in Django framework which is the following:

Which works fine for normal Newick files but i also have some files which have a string at the beginning of the file. I'm trying to make another method which checks if the file has the following String before it (which is the case in some files): "newick;" and removes the string if found. It works locally but i can't seem to merge them. This is how it locally looks like:

which works perfectly when i specify the path just in python so i tried combining them in Django like this:

Which doesn't work and it gives the following error:

I've been working on it for two days already and couldn't figure out why the error is popping up.

0 投票
0 回答
144 浏览

python - 如何将带有元数据的 Dendropy 对象传递给 python3 中的 ete3?

如果我有一个用一些元数据注释的 dendropy 树,例如一些分类法,我如何将带有元数据的整个树转换为 ete3 对象?

我试图直接通过它:

我还尝试编写为 nexml 格式并使用 nexml 解析器表单 ete3 读取它:

但是,nexml 中的树似乎是奇怪的格式,因为 ete3 的 xml 解析器无法识别它。

0 投票
0 回答
35 浏览

python - 如何使用 newick 格式的树字符串 [Python] 正确更新空的 ete3.Tree 对象?

我正在创建一个继承自ete3.Tree. 我想向newick对象添加格式化字符串,但我无法找出更新对象的正确方法。 我希望t2下面的结构t1与我的结构相同,我的意思是与我构建t2对象一样,t1但从一个空ete3.Tree对象开始。

我怎样才能做到这一点?我知道它们不会是相同的哈希,但_children两个实例之间的属性看起来不同。

0 投票
2 回答
1452 浏览

python - 如何从 NetworkX 图形转换为 ete3 树对象?

我试图弄清楚如何ete3.Tree从有向图构建对象networkx?我以我认为会产生预期结果的方式添加了每一个child,但我遇到了麻烦。

在此处输入图像描述

我也尝试了以下方法,但没有奏效: