у вас когда-нибудь была эта ошибка? -количество левых и правых круглых скобок в строке Ньюика не равно- дерево в R

Aug 20 2020

Вышеупомянутая ошибка возникает при попытке прочитать дерево. 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"))

Ответы

NickFankhauser Sep 06 2020 at 06:53

У меня точно такая же ошибка при загрузке дерева, которое я получил от коллеги. Но я смог загрузить его, используяtree <- DECIPHER::ReadDendrogram(treeFileName)

AlfPascu Nov 26 2020 at 07:42

У меня была такая же проблема, и я не мог ее загрузить DECIPHER, но я сделал это с помощью phytools:

library(phytools)
tree = read.newick(treeFileName)

Изучая загруженный phyloобъект, я понял, что дерево было неправильным, потому что листья дерева содержались в имени точки с запятой, поскольку это является условным обозначением в некоторых таксономических форматах, например

d__Бактерии; p__Proteobacteria; c__Gammaproteobacteria

и проблема в том, что точка с запятой указывает конец дерева в формате newick . Просто преобразуя точку с запятой в другой символ, например

d__Bacteria | p__Proteobacteria | c__Gammaproteobacteria

решил проблему.