如果你发现BiomFormat和/或其教程有用,请承认和引用BiomFormat在您的出版物中:
Paul J. McMurdie和Joseph N Paulson(2015)。BioMFormat:BIOM文件格式的接口包。R / Biocumond Package 1.0.0版。
PhyloseQ有许多用于与这种数据交互的公用事业,而不是在此I / O导向的包装中提供。
这是一r Markdown文件。Markdown是创作网页的简单格式化语法。进一步的细节在这里r下降。
BIOM文件格式(Cononically发音为“Biome”)被设计为通过观察应急表代表生物样本的一般使用格式。BIOM是一个公认的标准地球微生物项目而且是A.基因组学标准财团候选项目。请参阅BIOM格式主页更多细节。
此演示旨在提供BIOM包的概述,以便您快速使用它。BIOM封装本身旨在成为未来其他套餐将依赖的公用事业套餐。它提供I / O功能,并函数使其更容易使用BIOM格式文件的数据。它没有(并且可能不应该)提供统计分析功能。但是,它确实提供了从BIOM格式文件中访问数据的工具,以r(例如“data.frame”
那“矩阵”
, 和“矩阵”
课程)。
包版本在此构建的时候(5月19日星期三:55:55 2021):
图书馆(“BiomFormat”);PackageVersion(“BioMFormat”)
## [1]'1.21.0'
以下是将不同类型的BIOM格式导入r使用的示例read_biom.
功能。R中的生成的数据对象是名称开始的X
。
min_dense_file = system.file(“extdata”,“min_dense_otu_table.biom”,package =“biomformat”)min_sparse_file = system.file(“extdata”,“min_sparse_otu_table.biom”,package =“biomformat”)rich_dense_file = system.file(“extdata”,“rich_dense_otu_table.biom”,package =“biomformat”)rick_sparse_file = system.file(“extdata”,“rich_sparse_otu_table.biom”,package =“biomformat”)min_dense_file = system.file(“extdata”,“min_dense_otu_table.biom“,package =”biomformat“)rich_dense_char = system.file(”extdata“,”rich_dense_char.biom“,package =”biomformat“)rich_sparse_char = system.file(”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列
很难解释和浪费RAM,以将BIOM格式文件从BIOM格式文件流传输到标准的标准打印
或者表演
方法。相反,显示了内容BIOM数据的简要概述。
要以适合许多标准R功能的熟悉的表单访问数据,我们将需要使用访问器功能,也包含在BIOM包中。
核心“观察”数据在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 ## 1 ## GG_OTU_3 0 0 1 4 2 0#GG_OTU_4 21 1 0 0 1 ## GG_OTU_5 0 1 1 0 0 0
Biom_data(x2)
## 5 x 6类“DGCMATRIX”稀疏矩阵## Sample1 Sample2 Sample3 Sample4 Sample5 Sample6 ## GG_OTU_1。。1。。。## GG_OTU_2 5 1。2 3 1 ## GG_OTU_3。。1 4。2 ## GG_OTU_4 2 1 1。 . 1 ## GG_OTU_5 . 1 1 . . .
正如你可以看到的那样,X1
和X2
通过略微不同的矩阵类以r表示,基于数据自动分配。但是,R中的大多数操作将自动理解,您不应该担心精确的矩阵类。但是,如果您尝试使用的R函数遇到了这些鸽友类的问题,您可以将数据轻松介绍到简单的标准“矩阵”
使用课程使用作为
功能:
AS(BIOM_DATA(X2),“矩阵”)
## Sample1 Sample2 Sample3 Sample4 Sample5 Sample6 Sample6 ## GG_OTU_1 0 0 1 0 0 0 0 ## 1 ## GG_OTU_3 0 0 1 4 0 2#GG_OTU_4 2 1 1 0 0 1 ## GG_OTU_5 0 1 10 0 0.
观察元数据是与在样本中计数/记录的各个单元相关联的元数据,而不是对样本本身的性质的测量。例如,对于微生物组人口普查数据,观察元数据通常是分类学分类以及可能对特定OTU /物种中所知的任何其他内容。对于其他类型的数据,它可能是关于特定基因组,基因家族,途径等所知的元数据在这种情况下,观察结果是OTU的数量,并且元数据是分类分类,如果存在。当我们看到最小的情况时,也支持缺乏观察元数据X1
和X2
,我们看到的地方。
观察_metadata(x1)
## 空值
观察_metadata(x2)
## 空值
观察_metadata(x3)
## taxonomy1 taxonomy2 taxonomy3 ## GG_OTU_1 k__Bacteria p__Proteobacteria c__Gammaproteobacteria ## GG_OTU_2 k__Bacteria p__Cyanobacteria c__Nostocophycideae ## GG_OTU_3 k__Archaea p__Euryarchaeota c__Methanomicrobia ## GG_OTU_4 k__Bacteria p__Firmicutes c__Clostridia ## GG_OTU_5 k__Bacteria p__Proteobacteria c__Gammaproteobacteria ## taxonomy4 taxonomy5 taxonomy6 ## GG_OTU_1 o__Enterobacteriales f__Enterobacteriaceae g__Escherichia ## GG_OTU_2 o__Nostocalesf__Nostocaceae g__Dolichospermum ## GG_OTU_3 o__Methanosarcinales f__Methanosarcinaceae g__Methanosarcina ## GG_OTU_4 o__Halanaerobiales f__Halanaerobiaceae g__Halanaerobium ## GG_OTU_5 o__Enterobacteriales f__Enterobacteriaceae g__Escherichia ## taxonomy7 ## GG_OTU_1 S__ ## GG_OTU_2 S__ ## GG_OTU_3 S__ ## GG_OTU_4 s__Halanaerobiumsaccharolyticum ## GG_OTU_5 S__
观察_metadata(x4)[1:2,1:3]
## caxonomy1分类y2分类术3 ## gg_otu_1 k_bacteria p__proteobacteria c__gammaproteobacteria ## gg_otu_2 k__bacteria p__cyanobacteria c_nostocophycideae
类(观察_metadata(x4))
## [1]“data.frame”
同样,我们可以访问元数据 - 如果可用 - 则描述样本的属性。我们使用该样本元数据访问此示例元数据sample_metadata.
功能。
sample_metadata(x1)
## 空值
sample_metadata(x2)
## 空值
sample_metadata(x3)
## BarcodeSequence LinkerPrimerSequence BODY_SITE说明##样本1 CGCTTATCGAGA CATGCTGCCTCCCGTAGGAGT肠道人体肠道内##样本2 CATACCAGTAGC CATGCTGCCTCCCGTAGGAGT内脏人体内脏样品3 ## CTCTCTACCTGT CATGCTGCCTCCCGTAGGAGT肠道人体肠道内## Sample4 CTCTCGGCCTGT CATGCTGCCTCCCGTAGGAGT皮肤人的皮肤##实例5 CTCTCTACCAAT CATGCTGCCTCCCGTAGGAGT皮肤人的皮肤## Sample6 CTAACTACCAATCatgctgccctcccgtaggagt皮肤人体皮肤
sample_metadata(x4)[1:2,1:3]
## BarcodeSequence LinkerPrimersequence Body_site ## Sample1 CGCTTATCGAGA CatGCTGCCTCCCGTAGGAGT GUT ## Sample2 Catackagtagc CatGCTGCCTCCCGTAGGAGT GUT
类(Sample_metadata(x4))
## [1]“data.frame”
其他R函数可以访问数据。
绘图(BioM_data(x4))
Boxplot(as(bioM_data(x4),“向量”))
Heatmap(如(BioM_data(x4),“矩阵”)))
r中的BIOM对象可以使用r写入文件/连接write_biom.
功能。如果您修改了BIOM对象,这可能仍然可以工作,但没有保证这一点,因为我们仍在研究内部检查。以下示例写入X4
到临时文件,然后使用它读取它read_biom.
并将其存储为变量y
。使用该两个物体的确切比较完全相同的
功能表明它们在R.的情况完全相同。
Outfile = tempfile()write_biom(x4,outfile)y = read_biom(outfile)相同(x4,y)
## [1] false
此外,可以通过r调用标准操作系统命令系统
函数 - 在这种情况下调用差
命令在Unix的系统上可用FC.
Windows上的命令 - 以便直接比较原始和临时文件。请注意,为方便起见,这在此处显示,但由于操作系统依赖性,不会自动使用其余脚本运行。但在开发过程中,私下测试相同的命令,文件之间没有报告差异。
#在UNIX OSS系统(Paste0(“diff”,rich_sparse_file,Outfile)#上Windows系统(Paste0(“FC”,Rich_Sparse_File,Outfile))