у вас когда-нибудь была эта ошибка? -количество левых и правых круглых скобок в строке Ньюика не равно- дерево в R
Вышеупомянутая ошибка возникает при попытке прочитать дерево. 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)
. Могу посмотреть tree
в программе FigTree (на основе javascript). Может это выглядит немного странно, но почему я не могу открыть его в 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"))
Ответы
У меня точно такая же ошибка при загрузке дерева, которое я получил от коллеги. Но я смог загрузить его, используяtree <- DECIPHER::ReadDendrogram(treeFileName)
У меня была такая же проблема, и я не мог ее загрузить DECIPHER
, но я сделал это с помощью phytools
:
library(phytools)
tree = read.newick(treeFileName)
Изучая загруженный phylo
объект, я понял, что дерево было неправильным, потому что листья дерева содержались в имени точки с запятой, поскольку это является условным обозначением в некоторых таксономических форматах, например
d__Бактерии; p__Proteobacteria; c__Gammaproteobacteria
и проблема в том, что точка с запятой указывает конец дерева в формате newick . Просто преобразуя точку с запятой в другой символ, например
d__Bacteria | p__Proteobacteria | c__Gammaproteobacteria
решил проблему.