Phyloxml:在fi中查找和替换

2024-04-29 12:14:45 发布

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

我正在尝试编辑phyloxml文件中的提示标签,以便它们仅由4位数字组成。例如,我目前在phyloxml文件的name下有左边的id。我想要的是右边的ID:

ACOM042150-PA ACOM
AQUA008971-PA AQUA
AGAP002137-PA AGAP
AARA006802-PA AARA

到目前为止,我的代码可以使用replace方法提取出我想要的字符:

tree = Phylo.read("GSCGT000003.xml", "phyloxml")
for i, clade in enumerate(tree.find_clades(name=True)):
    print clade.name.replace(clade.name, clade.name[0:4])

这会将所需的名称打印到终端,但我不确定如何在文件中替换,或者如何用更改写入新文件。我可以使用Phylo.write写入一个新文件,但是我似乎无法写入带有更改的文件。有什么想法吗?谢谢。你知道吗


Tags: 文件nameidtree编辑数字标签replace
1条回答
网友
1楼 · 发布于 2024-04-29 12:14:45

必须更改每个分支的名称,然后将树保存到新文件中:

tree = Phylo.read("GSCGT000003.xml", "phyloxml")

for clade in tree.find_clades(name=True):
    # This changes the clade name to only the first four chars
    clade.name = clade.name[:4]

# At this point all clade names has been changed in-place
Phylo.write(tree, "GSCGT000003_modified.xml", "phyloxml")

相关问题 更多 >