0

我正在尝试使用以下命令创建一个包含 OTU 表、分类群名称、样本数据和系统发育树的 phyloseq 类对象

ps <- phyloseq(otu_table(seqtab.nochim, taxa_are_rows=F),
           tax_table(taxa),
           sample_data(Metadata))

physeq = merge_phyloseq(ps, treefile)

我可以创建刚刚找到的 ps 对象,但我无法将系统发育树添加到该对象。这似乎失败了,因为我的 OTU 表和树(从 SILVA 数据库下载)上的名称不匹配。使用分类名称,我可以看到树按预期分配了分类名称,但我的 OTU 表具有每个序列读取的名称。

OTU 表(seqtab.nochim)、分类分配和示例数据都是完全按照dada2 管道教程制作的,到目前为止我所阅读的所有内容都表明OTU 表将序列作为列是正常的名字。

我很困惑,因为我的分类群对象已经为每个序列读取分配了从王国到属的分类,但是我看不到使用这些分配与系统发育树匹配的方法,而不是从 OTU 表中读取的序列。

我敢肯定,我缺少的可能是一些简单而明显的东西,但是非常感谢您提供任何帮助!

4

1 回答 1

0

你是对的,树和 OTU 表和税表需要具有相同的名称。不过,通常情况下,人们不会直接从 SILVA 下载树,而是从一个人的 dada2 序列中制作一棵本地树。在Callihan 等人的这篇论文中。,作者讨论使用 PHANGORN 来制作这样的树。这应该会生成一个树文件,其中包含与其余数据兼容的分支名称序列。如果您有其他问题,请尝试发布您的数据的可重现子集,例如,将 ps 对象二次采样到仅几个样本和五个最丰富的分类群,也许我们互联网人员可以识别问题。

于 2018-05-18T00:27:37.277 回答