尝试读取树时会发生上述错误。
tree <- read.tree(paste0(table_dir,'tree.19.08.tre'))
我尝试重现该错误,但对于其他树,例如使用 iris
示例数据集,它工作得很好。该树是用 write.tree(tree, file='C:/Users/J/Desktop/proj/d/t/tree.19.08.tre',append = FALSE)
生成的。我可以在FigTree程序(基于javascript)中查看tree
。也许看起来有点奇怪,但为什么我不能在 R 中打开它?这是无花果树中
tree
的剪纸,以防有帮助;)
这是完整的错误:
Fehler in FUN(X[[i]], ...) : numbers of left and right parentheses in Newick string not equal
3.
FUN(X[[i]], ...)
2.
lapply(STRING, .treeBuild)
1.
read.tree(paste0(table_dir, "tree.19.08.tre"))
我也遇到了同样的问题,我也无法用
DECIPHER
加载它,但我用phytools
做到了:
library(phytools)
tree = read.newick(treeFileName)
探索加载的
phylo
对象我意识到树不正确,原因是树的叶子包含在名称分号中,因为它在某些分类格式中是通用的,例如
d__细菌;p__变形菌;c__伽马变形菌
问题是分号以 newick 格式表示树的结尾。只需将分号转换为其他符号,例如
d__细菌|p__变形菌|c__伽马变形菌
解决了问题。
加载从同事那里得到的树时,我遇到了完全相同的错误。 但我能够使用加载它
tree <- DECIPHER::ReadDendrogram(treeFileName)
这可能是因为您的 ID 有“'”、“`”、“;” 您可以使用它来编辑您的树文件
sed“s/'//g”树