将 R 中的现有数据转换为 Phyloseq OTU table
Converting existing data in R into Phyloseq OTU table
我一直在尝试 "phyloseq-ize" 我的 asv_table、asv_id 和用于 16S 分析的元数据,使用 qiime2 创建并使用 read.table()
上传到 R。我已经能够成功导入我的 asv_id 和元数据(分别使用 tax_table()
和 sample_data()
),但我正在努力处理我的 asv_table。
我的 asv_table 的结构是一个包含我的分类群的 header 的数据框,我的行是样本(我也尝试过使用转置数据,其中我的分类群是行,我的样本是列)。我最初的尝试很简单:
ps <- phyloseq(otu_table(asv_table, taxa_are_rows = FALSE))
然而这产生了:
Error in validObject(.Object) : invalid class “otu_table” object:
Non-numeric matrix provided as OTU table.
Abundance is expected to be numeric.
这导致我尝试将数据的 class 更改为数字,然后再次尝试导入:
asv_table_num <- data.matrix(asv_table, rownames.force = NA)
ps <- phyloseq(otu_table(otumat_num, taxa_are_rows = FALSE))
Error in validObject(.Object) : invalid class “phyloseq” object:
Component taxa/OTU names do not match.
Taxa indices are critical to analysis.
Try taxa_names()
我担心这会陷入困境,因为一个更简单的解决方案让我眼前一亮(我很难在互联网上研究我的问题...通常表明我创建了一个独特的问题没有人遇到过)。
我将不胜感激关于该主题的任何指导或帮助!
提前致谢。
我最终能够解决我的问题,所以我将 post 我的解决方案供可能遇到相同问题的任何人使用。
library(tidyverse)
devtools::install_github("jbisanz/qiime2R")
library(qiime2R)
asv_table <- read_qza("table.qza")
library(phyloseq)
ps <- qza_to_phyloseq(features = "table.qza")
我一直在尝试 "phyloseq-ize" 我的 asv_table、asv_id 和用于 16S 分析的元数据,使用 qiime2 创建并使用 read.table()
上传到 R。我已经能够成功导入我的 asv_id 和元数据(分别使用 tax_table()
和 sample_data()
),但我正在努力处理我的 asv_table。
我的 asv_table 的结构是一个包含我的分类群的 header 的数据框,我的行是样本(我也尝试过使用转置数据,其中我的分类群是行,我的样本是列)。我最初的尝试很简单:
ps <- phyloseq(otu_table(asv_table, taxa_are_rows = FALSE))
然而这产生了:
Error in validObject(.Object) : invalid class “otu_table” object:
Non-numeric matrix provided as OTU table.
Abundance is expected to be numeric.
这导致我尝试将数据的 class 更改为数字,然后再次尝试导入:
asv_table_num <- data.matrix(asv_table, rownames.force = NA)
ps <- phyloseq(otu_table(otumat_num, taxa_are_rows = FALSE))
Error in validObject(.Object) : invalid class “phyloseq” object:
Component taxa/OTU names do not match.
Taxa indices are critical to analysis.
Try taxa_names()
我担心这会陷入困境,因为一个更简单的解决方案让我眼前一亮(我很难在互联网上研究我的问题...通常表明我创建了一个独特的问题没有人遇到过)。
我将不胜感激关于该主题的任何指导或帮助!
提前致谢。
我最终能够解决我的问题,所以我将 post 我的解决方案供可能遇到相同问题的任何人使用。
library(tidyverse)
devtools::install_github("jbisanz/qiime2R")
library(qiime2R)
asv_table <- read_qza("table.qza")
library(phyloseq)
ps <- qza_to_phyloseq(features = "table.qza")