内容

0.1保罗·j·麦克默迪和约瑟夫·n·保尔森

如果你发现biomformat和/或其教程有用,请确认并引用biomformat在你们的出版物中:

保罗·j·麦克默迪和约瑟夫·N·保尔森(2015)。biomformat: BIOM文件格式的接口包。R/Bioconductor软件包1.0.0版本。

0.2phyloseq主页

与这个面向I/ o的包相比,phyloseq有更多用于与这类数据交互的实用程序。

0.3生物格式包的动机

这是一个R计价文件.Markdown是一种简单的网页格式语法。进一步详情这里的R markdown

BIOM文件格式(通常发音为“biome”)被设计为一种通用格式,用于通过观察列联表表示生物样本。BIOM是公认的标准地球微生物组计划并且是基因组学标准联盟候选项目。请参阅生物格式的主页欲知详情。

本演示旨在提供biom包的概述,以便快速开始使用它。biom包本身是一个实用程序包,将来其他包将依赖它。它提供了I/O功能,以及更容易处理生物格式文件中的数据的函数。它没有(可能也不应该)提供统计分析功能。但是,它确实提供了一些工具来以R中非常常见的方式访问BIOM格式文件中的数据(例如“data.frame”“矩阵”,“矩阵”类)。

包版本在这个版本的时间(Tue april 26 16:06:20 2022):

图书馆(“biomformat”);packageVersion(“biomformat”)
## [1] '1.24.0'

1阅读BIOM格式

方法将不同类型的BIOM格式导入到R中read_biom函数。R中的结果数据对象的名称以x

Min_dense_file = system。文件(“extdata”、“min_dense_otu_table。Biom ", package = "biomformat") min_sparse_file =系统。文件(“extdata”、“min_sparse_otu_table。Biom ", package = "biomformat") rich_dense_file = system。文件(“extdata”、“rich_dense_otu_table。Biom ", package = "biomformat") rich_sparse_file = system。文件(“extdata”、“rich_sparse_otu_table。Biom ", package = "biomformat") min_dense_file =系统。文件(“extdata”、“min_dense_otu_table。Biom ", package = "biomformat")文件(“extdata”、“rich_dense_char。Biom ", package = "biomformat")文件(“extdata”、“rich_sparse_char。Biom ", package = "biomformat") x1 = read_biom(min_dense_file) x2 = read_biom(min_sparse_file) x3 = read_biom(rich_dense_file) x4 = read_biom(rich_sparse_file) x5 = read_biom(rich_dense_char) x6 = read_biom(rich_sparse_char) x1
## biom对象。##类型:OTU表## matrix_type:密集## 5行,6列

在打印时,将所有数据从BIOM格式文件传输到标准输出将很难解释,并且会浪费RAM打印显示方法。取而代之的是BIOM数据内容的简要摘要。

2访问BIOM数据

为了以适合于许多标准R函数的熟悉形式访问数据,我们将需要使用访问器函数,它也包含在biom包中。

2.0.1岩心观测数据

核心“观测”数据存储在BIOM格式文件中的稀疏矩阵或密集矩阵中,并在R侧通过矩阵包.的变量x1而且x2,上面从BIOM文件分配的,具有相似(但不相同)的数据。它们足够小,可以直接作为R会话的标准输出中的表来观察:

biom_data (x1)
## 5 x 6矩阵类“dgeMatrix”## Sample1 Sample2 Sample3 Sample4 Sample5 Sample6 ## GG_OTU_1 0 0 1 0 0 0 0 0 0 0 ## GG_OTU_2 5 1 0 2 3 1 ## GG_OTU_3 0 0 1 4 2 0 ## GG_OTU_4 2 1 1 0 0 1 ## GG_OTU_5 0 1 1 0 0 0 0 0 0 0 0 0 0 0
biom_data (x2)
## 5 x 6稀疏矩阵类“dgCMatrix”## Sample1 Sample2 Sample3 Sample4 Sample5 Sample6 ## GG_OTU_1 .。1 .……## gg_otu_2 52 3 1 ## gg_otu_3 . .14 .答案解析:2 ## gg_otu_4 2 1 1 . .1 ## gg_otu_5;11 . .

如上图所示,x1而且x2在R中由略有不同的矩阵类表示,根据数据自动分配。然而,R中的大多数操作将自动理解这一点,您不必担心精确的矩阵类。但是,如果您试图使用的R函数在这些花哨的类上有问题,您可以很容易地将数据强制到简单的标准“矩阵”类使用作为功能:

(biom_data (x2)、“矩阵”)
## Sample1 Sample2 Sample3 Sample4 Sample5 Sample6 ## GG_OTU_1 0 0 1 0 0 0 0 0 0 ## GG_OTU_2 5 1 0 2 3 1 ## GG_OTU_3 0 0 1 4 0 2 ## GG_OTU_4 2 1 1 0 0 1 1 0 0 0 0 0 0 0 0

2.0.2观察元数据

观测元数据是与样本中被计数/记录的单个单元相关的元数据,而不是对样本本身属性的测量。例如,对于微生物组普查数据,观察元数据通常是分类学分类和可能知道的关于特定OTU/物种的任何其他信息。对于其他类型的数据,它可能是关于特定基因组、基因家族、途径等的元数据。在本例中,观测值是OTUs的计数,元数据是分类学分类(如果有的话)。也支持没有观测元数据,就像我们看到的最小情况一样x1而且x2,在那里我们反而看到了。

observation_metadata (x1)
# #空
observation_metadata (x2)
# #空
observation_metadata (x3)
细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌,细菌_ methanosarcinales f__Methanosarcinaceae g__Methanosarcina ## GG_OTU_4 o__halanaerobium ## GG_OTU_5 o__Enterobacteriales f__Enterobacteriaceae g__Escherichia ##分类学_ GG_OTU_1 s_ GG_OTU_2 s_ GG_OTU_3 s_ GG_OTU_4 s_ halanaerobiumsaccharolyticum ## GG_OTU_5 s__
observation_metadata (x4) [1:2, 1:3)
细菌p__变形菌门c__Gammaproteobacteria ## GG_OTU_2 k__细菌p__蓝藻菌门c__Nostocophycideae
类(observation_metadata (x4))
## [1] "data.frame"

2.0.3元数据样本

类似地,我们可以访问描述样本属性的元数据(如果可用的话)。方法访问此样例元数据sample_metadata函数。

sample_metadata (x1)
# #空
sample_metadata (x2)
# #空
sample_metadata (x3)
#样品1 CGCTTATCGAGA CATGCTGCCTCCCGTAGGAGT肠道人肠道##样品2 CATACCAGTAGC CATGCTGCCTCCCGTAGGAGT肠道人肠道##样品3 CTCTCTACCTGT CATGCTGCCTCCCGTAGGAGT皮肤人皮肤##样品5 CTCTCTACCAAT CATGCTGCCTCCCGTAGGAGT皮肤人皮肤##样品6 CTAACTACCAAT CATGCTGCCTCCCGTAGGAGT皮肤人皮肤
sample_metadata (x4) [1:2, 1:3)
样本1 CGCTTATCGAGA CATGCTGCCTCCCGTAGGAGT gut ##样本2 CATACCAGTAGC CATGCTGCCTCCCGTAGGAGT gut
类(sample_metadata (x4))
## [1] "data.frame"

2.0.4情节

数据可以被其他R函数访问。

情节(biom_data (x4))

箱线图((biom_data (x4),“矢量”))

热图((biom_data (x4),“矩阵”))

3.编写BIOM格式

属性可以将R中的biom对象写入文件/连接write_biom函数。如果你修改了biom对象,这可能仍然有效,但不能保证这一点,因为我们仍在进行内部检查。下面的示例如下x4到临时文件,然后使用read_biom并将其存储为变量y.这两个对象的精确比较使用相同的函数表明它们在R中是完全相同的。

Outfile = tempfile() write_biom(x4, Outfile) y = read_biom(Outfile) same (x4, y)
## [1] false

此外,还可以通过R系统函数——在本例中调用diff命令在类unix系统或足球俱乐部命令,以便直接比较原始文件和临时文件。请注意,为了方便起见,这里显示了这一点,但由于依赖于操作系统,因此不会自动与脚本的其余部分一起运行。但是,在开发过程中,将私下测试这个命令,并且在文件之间没有报告差异。

#在Unix操作系统上(paste0("diff ", rich_sparse_file, outfile)) #在windows系统上(paste0("FC ", rich_sparse_file, outfile))