- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我有一个 csv 文件,其中每一行代表以下形式的分层数据:'门','类','目','科','属','种','亚种','unique_gi'
我想将其转换为经典 Newick tree format没有距离。无论是新颖的方法还是 python 包都会很棒。谢谢!
最佳答案
您可以使用一些简单的 Python 从 CSV 构建树,然后将其写入 Newick 树。不确定这是否是您想要做的。
import csv
from collections import defaultdict
from pprint import pprint
def tree(): return defaultdict(tree)
def tree_add(t, path):
for node in path:
t = t[node]
def pprint_tree(tree_instance):
def dicts(t): return {k: dicts(t[k]) for k in t}
pprint(dicts(tree_instance))
def csv_to_tree(input):
t = tree()
for row in csv.reader(input, quotechar='\''):
tree_add(t, row)
return t
def tree_to_newick(root):
items = []
for k in root.iterkeys():
s = ''
if len(root[k].keys()) > 0:
sub_tree = tree_to_newick(root[k])
if sub_tree != '':
s += '(' + sub_tree + ')'
s += k
items.append(s)
return ','.join(items)
def csv_to_weightless_newick(input):
t = csv_to_tree(input)
#pprint_tree(t)
return tree_to_newick(t)
if __name__ == '__main__':
# see https://docs.python.org/2/library/csv.html to read CSV file
input = [
"'Phylum','Class','Order','Family','Genus','Species','Subspecies','unique_gi'",
"'Phylum','Class','Order','example'",
"'Another','Test'",
]
print csv_to_weightless_newick(input)
示例输出:
$ python ~/tmp/newick_tree.py
(((example,((((unique_gi)Subspecies)Species)Genus)Family)Order)Class)Phylum,(Test)Another
此外,这个库看起来很酷,可以让您可视化您的树:http://biopython.org/wiki/Phylo
关于python - 将 csv 转换为 Newick 树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26146623/
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我通过读取 FASTA 文件创建了一个距离矩阵,现在我被要求编写一个函数来生成 newick 字符串格式的系统发育树。该函数将采用一个参数作为距离矩阵。你能帮我一些代码开始吗? 格式示例: 打印(up
如何将 scipy 生成的树状图保存到 Newick format 中? 最佳答案 您需要链接矩阵 Z,它是 scipy 树状图函数的输入,并将其转换为 Newick 格式。此外,您需要一个包含叶子名
如何为给定外群的一组物种生成所有可能的 Newick 树排列? 对于那些不知道 Newick 树格式是什么的人,可以在以下位置找到很好的描述: https://en.wikipedia.org/wik
有谁知道我可以用来轻松解析 Newick 文件的优秀 Java 库吗?或者如果您有一些经过测试的源代码我可以使用? 我想读取 newick 文件:http://en.wikipedia.org/wik
我有一个像这样的字符串: (A\2009_2009-01-04:0.2,(A\name2\human\2007_2007:0.3,A\chicken\ird16\2016_20016:0.4)A\na
我在 networkx 中创建了一个图并获取了它的 bfs 树。 G = nx.Graph() # build a graph tree = nx.bfs_tree(G, '1') 现在我想把树保存在
所以我有一个 csv 文件,其中每一行代表以下形式的分层数据:'门','类','目','科','属','种','亚种','unique_gi' 我想将其转换为经典 Newick tree format
我正在为我正在从事的项目构建一个语法来使用 ParseKit 解析 Newick 树,我已经走到这一步了。它基于此处的语法:http://en.wikipedia.org/wiki/Newick_fo
我在 python 中有一个列表,其中包含一个项目,它是以 Newick 格式编写的树,如下所示: ['(BMNH833953:0.16529463651919140688,(((BMNH833883
我在将二叉树转换为 newick 格式时遇到问题。这种格式的完整解释可以找到: http://code.google.com/p/mrsrf/wiki/NewickTree newick 格式的示例如
我想将 newick 的树转换为像 graphml 这样的格式,我可以用 cytoscape 打开它。 所以,我有一个文件“small.newick”,其中包含: ((raccoon:1,bear:6
我有一组基因,它们已根据 DNA 序列进行比对和聚类,并且我在 Newick 树表示中有这组基因 (https://en.wikipedia.org/wiki/Newick_format)。有谁知道如
我正在尝试使用 boost::spirit 库解析 Newick 语法(定义为 here)。 我已经制作了自己的解析器,可以正确识别语法。这是代码: #define BOOST_SPIRIT_DEBU
我想使用 Interactive Tree of Life web-based tool (iTOL) 制作一棵树(簇)。作为输入文件(或字符串),此工具使用 Newick format,这是一种使用
我正在尝试弄清楚如何读取许多动物物种的 Newick 文件,但我一直无法找到一种“逻辑方法/过程”来用简单的编程语言对 Newick 字符串进行排序。我可以阅读 C#、AS、JS、GLSL 和 HLS
我有一个通过运行创建的向量列表: import hcluster import numpy as np from ete2 import Tree vecs = [np.array(i) for i
我是一名优秀的程序员,十分优秀!