2014-12-12 2 views
2

Я построить дерево по mothur, он произвел Newick формат файла здесь дерево файл:не в состоянии импортировать mothur дерево в R

(((X32:0.077342,(X13:0.030507,X5:0.032193):0.081108):0.009719,((((((((((X7:0.011658,X16:0.020922):0.004990,X9:0.011395):0.026780,X23:0.044775):0.091180,X100:0.154611):0.041705,((((X8:0.020255,X42:0.008695):0.029872,(X19:0.025754,X61:0.020516):0.036208):0.084498,X218:0.111857):0.022793,X239:0.176169):0.011033):0.063911,(X18:0.070163,X146:0.072237):0.050456):0.014607,(X24:0.065513,X78:0.067187):0.052101):0.010160,X25:0.105835):0.011914,X45:0.130995):0.009387,((X10:0.021955,(X4:0.016382,X1236:0.016838):0.004625):0.036976,X128:0.056704):0.033204):0.006892),(((X6:0.020583,X11:0.012977):0.062459,(X1:0.030791,X22:0.025639):0.033446):0.009294,(X49:0.049533,X3:0.048877):0.011889):0.010353); 

Когда я пытался импортировать его в R с использованием import_mothur {phyloseq }, это дало мне ошибку

Error in `taxa_names<-`(`*tmp*`, value = c("X32", "X13", "X5", "X7", "X16", : 
    taxa_names<-: You are attempting to assign duplicated taxa_names 

Я посмотрел этот файл дерева и не нашел дубликатов имен. Я использовал другой набор данных (данные последовательности), но тот же метод в mothur, это сработало. Я просто не понимаю, что неправильно с этим файлом?

спасибо !!!!

ответ

1

Файл фактически считывается read.tree с пакета ape. По какой-то причине ему не нравится формат этого файла. Я признаю, что я не знаком с этим форматом файла, но если вы импортировать его с

xtree <- read.tree("test.tree") 
plot(xtree) 

enter image description here

вы видите, что есть некоторые неназванные советы. Это вызывает проблему. Функция read.table назначает значения NODE, а не значения TIP. Вы можете «исправить» дерево и получить тот же результат, как вы бы из import_mothur с

xtree$tip.label[c(26,28,30)]<-paste0("X", c(6,1,49)) 
phyloseq(xtree) 

Так что я предполагаю, что есть что-то не так с файлом формата Newick или есть ошибка в функции ape::read.tree.

3

Я только что наткнулся на эту ошибку. Решение, которое работало для меня, состояло в том, чтобы использовать команду read.newick() из пакета phytools для чтения в древовидном файле в R. Оттуда вы можете импортировать дерево в phyloseq с помощью phy_tree() и merge_phyloseq. По какой-то причине команде read.tree в ape не нравятся форматированные новые файлы clearcut.

xtree <- read.newick("test.tree") phy_xtree <- phy_tree(xtree) # Constructor for phy_tree object physeq_merged <- merge_phyloseq(physeq, phy_xtree) # Merge tree into phyloseq object