我正在尝试使用以下命令创建一个包含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数据库下载)上的名称不匹配。使用taxa_names,我可以看到像预期的那样为树分配了分类群名称,但是我的OTU表具有读取的每个序列的名称。
OTU表(seqtab.nochim)、分类法分配和示例数据都是完全按照dada2管道教程编写的,到目前为止,我读到的所有内容都表明,OTU表将序列作为列名是很正常的。
我很困惑,因为我的分类对象已经将从王国到属的分类法分配给每个序列读取,但是我看不到一种方法来使用这些分配来匹配系统发生树,而不是从OTU表读取的序列。
我相信这可能是我错过的一些简单而明显的东西,但任何帮助都是非常感谢的!
发布于 2018-05-18 08:27:37
您说得对,树、OTU表和tax表需要具有相同的名称。通常,人们不会直接从席尔瓦下载树,而是从自己的dada2序列生成本地树。在本文中,作者讨论了用by Callihan et al.制作这样一棵树。这应该会产生一个树文件,其中序列作为分支的名称,它与您的其余数据兼容。如果你有其他问题,试着发布你的数据的一个可重复的子集,例如ps对象被下采样到几个样本和五个最丰富的分类群,也许我们网民可以发现问题。
https://stackoverflow.com/questions/48953141
复制相似问题