このエラーが発生したことはありますか?-Newick文字列の左括弧と右括弧の数が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__プロテオバクテリア; c__ガンマプロテオバクテリア

問題は、セミコロンがツリーの終わりをnewick形式で示していることです。セミコロンを他の記号に変換するだけです。

d__バクテリア| p__プロテオバクテリア| c__ガンマプロテオバクテリア

問題を解決しました。