0

我正在尝试运行 Tax4Fun 从 16S 数据中预测功能。由于到目前为止的分析是在 Mothur 中进行的,因此我无法使用 biom 作为输入(我事先知道 biom 版本之间的不兼容)。

我将 mothur biom 文件转换为 tsv 文件,如下所示: biom convert -i *biom -o otu_table.txt --header-key taxonomy --table-type "OTU table" --to-tsv otu_table.txt 文件随后与 Tax4Fun 一起使用: data<-importQIIMEData("otu_table.txt") folderReferenceData<- "/nobackup/shared/cgebm/r_packages/Tax4Fun/SILVA119/" results <- Tax4Fun(data,folderReferenceData)

但是我收到以下错误消息:rownames<-( *tmp*, value = c("NC-1.S34", "NC-2.S48", "PC-1.S27", : length of 'dimnames' [1] not等于数组范围

我已经广泛搜索了谷歌,但没有找到解决方案!文本文件具有我期望的尺寸,并且在加载到 R 时似乎没问题。

欢迎所有建议!

4

1 回答 1

1

我有同样的问题索菲。你能找到解决办法吗?

编辑:我找到了解决这个问题的方法。

问题是分类列的格式。

当您使用 Silva 参考数据库(我使用 Silva119)时,您将像这样运行您的脚本:

pick_closed_reference_otus.py -i CombinedFasta_soil/combined_seqs.fna 
-r Silva119_release/rep_set/97/Silva_119_rep_set97.fna 
-t Silva119_release/taxonomy/97/taxonomy_97_raw_taxa.txt 
-o Soil_ClosedRef_Silva/

关键是使用原始分类文件。就我而言,它是“taxonomy_97_raw_taxa.txt”。如果您使用任何其他分类文件,它将不起作用。运行 pick_open_reference_otus.py 后,您可能应该只转换 biom 文件以确保安全。

biom convert -i Soil_ClosedRef_Silva/otu_table.biom 
-o Soil_ClosedRef_Silva/otu_table.txt --to-tsv --header-key taxonomy

最终的 R 代码如下所示:

file <- "otu_table.txt"
QiimeData <- importQIIMEData(file)
print(QiimeData)
# SO is my dir for SO answer work
folderReferenceData <- "~/Downloads/Tax4FunData/SILVA119/"
Tax4FunOutput <- Tax4Fun(QiimeData, folderReferenceData, fctProfiling 
=TRUE, refProfile = "UProC", shortReadMode = TRUE, normCopyNo = TRUE)
print(Tax4FunOutput)
Tax4FunProfile <- Tax4FunOutput$Tax4FunProfile
Tax4FunProfile <- data.frame(t(Tax4FunOutput$Tax4FunProfile))
View(Tax4FunProfile)
#save to excel 
write.table(Tax4FunProfile,"Tax4FunProfile_Export.csv",sep="\t")

如果生成的 .csv 文件在 Excel 中看起来不正确,您可能需要将其文件扩展名更改为 .txt。

于 2016-03-27T01:49:11.760 回答