内容

1整合MultiAssayExperiment HDF5后端

依赖关系

库(MultiAssayExperiment)图书馆(HDF5Array)图书馆(SummarizedExperiment)

1.1HDF5Array和DelayedArray构造函数

HDF5Array包提供了一个大型数据集的磁盘上表示不需要加载到内存中。方便懒惰评价操作允许用户操纵如此大规模的基于元数据的数据文件。的DelayedMatrix类的DelayedArray包提供了一种方法来连接到一个大型矩阵存储在磁盘上。

首先,我们创建一个小矩阵构造DelayedMatrix类。

smallMatrix < -矩阵(rnorm (10 e5), ncol = 20)

我们添加rownames和列名为兼容矩阵对象MultiAssayExperiment表示。

rownames (smallMatrix) < - paste0(“基因”,seq_len (nrow (smallMatrix))) colnames (smallMatrix) < - paste0 (“SampleID seq_len (ncol (smallMatrix)))

在这里,我们使用DelayedArray构造函数创建一个DelayedMatrix对象。

smallMatrix < - DelayedArray (smallMatrix)类(smallMatrix)
# # [1]“DelayedMatrix”# # attr(“包”)# # [1]“DelayedArray”
头(smallMatrix)
# # < 6 x 20 >矩阵类DelayedMatrix和类型的“双重”:# # SampleID1 SampleID2 SampleID3……SampleID19 SampleID20 # # GENE1 -1.26140808 0.51796963 -3.22942353。0.18867938 - -0.27656609 # # GENE2 0.60973814 -1.14132770 -0.82771432。0.46931717 - 0.19725989 # # GENE3 1.82710653 0.90432719 0.63621424。0.36233127 - 1.16858836 # # GENE4 -0.14053842 -1.60262078 -1.06252780。0.61923870 - 0.70009043 # # GENE5 0.57244026 -1.68501427 -0.13466779。0.48603563 - -0.24370970 # # GENE6 1.19403083 0.05344144 1.22200337。-0.02488824 - -0.27241550
暗(smallMatrix)
20 # # 50000年[1]

1.2进口HDF5文件

注意,一个大矩阵从一个HDF5文件也可以加载使用HDF5Array函数。

例如:

dataLocation < -系统。文件(“extdata”、“exMatrix。h5", package = "MultiAssayExperiment", mustWork = TRUE) h5ls(dataLocation)
# #组名otype dclass昏暗的# # 0 / exMatrix H5I_DATASET浮动5000 x 20
hdf5Data < - HDF5ArraySeed(文件= dataLocation name = " exMatrix ") newDelayedMatrix < - DelayedArray (hdf5Data)类(newDelayedMatrix)
# # [1]“HDF5Matrix”# # attr(“包”)# # [1]“HDF5Array”
头(newDelayedMatrix)
# # < 6 x 20 >矩阵类DelayedMatrix和类型的“双重”:# # [1][2][3]…[19][20]# # (1)0.3261516 0.4149151 0.8154378。-0.1876063 - 0.4156044 # # (2)0.7243018 -0.9416687 -1.1290878。-1.2820178 - -0.3591841 # # (3)1.5073255 0.7597899 -0.2756298。-1.5666680 - -0.1523462 # # (4)0.1668286 1.2684049 0.9082990。0.3486139 - 1.8019041 # # (5)0.5640491 -2.0222537 0.2881079。0.1210501 - -1.4873598 # #(6日)-0.3504778 -0.4149494 0.9145470。0.4291890 - -0.4986399

1.2.1 "Dimnames从HDF5文件

目前,rhdf5包不存储dimnamesh5默认文件。请求这个功能已经被派往的维护者rhdf5包和任何进一步的发展HDF5Array包是取决于这种低水平维度名称存储。

1.3使用一个DelayedMatrixMultiAssayExperiment

一个DelayedMatrix独自一人符合MultiAssayExperimentAPI要求。如下所示,DelayedMatrix可以放在一个命名列表和传递到MultiAssayExperiment构造函数。

HDF5MAE < - MultiAssayExperiment(实验=列表(smallMatrix = smallMatrix)) sampleMap (HDF5MAE)
# # DataFrame 20行3列# #试验主要colname # # <因素> <人物> <人物> # # 1 smallMatrix SampleID1 SampleID1 # # 2 smallMatrix SampleID2 SampleID2 # # 3 smallMatrix SampleID3 SampleID3 # # 4 smallMatrix SampleID4 SampleID4 # # 5 smallMatrix SampleID5 SampleID5 # #……# # 16 smallMatrix SampleID16 SampleID16 # # 17 smallMatrix SampleID17 SampleID17 # # 18 smallMatrix SampleID18 SampleID18 # # 19 smallMatrix SampleID19 SampleID19 # # 20 smallMatrix SampleID20 SampleID20
colData (HDF5MAE)
0 # # DataFrame 20行和列

1.3.1SummarizedExperimentDelayedMatrix后端

更多的信息丰富DelayedMatrix当结合使用可以创建SummarizedExperiment类,它甚至可以包括rowRanges。的灵活性MultiAssayExperimentAPI支持类以最小的需求。此外,这SummarizedExperimentDelayedMatrix后端可以更大的一部分MultiAssayExperiment对象。下面是一个最小的例子,这将是如何工作的:

HDF5SE < - SummarizedExperiment(化验= smallMatrix)试验(HDF5SE)
# # < 50000 x 20 >矩阵类DelayedMatrix和类型的“双重”:# # SampleID1 SampleID2 SampleID3……SampleID19 SampleID20 # # GENE1 -1.2614081 0.5179696 -3.2294235。0.1886794 - -0.2765661 # # GENE2 0.6097381 -1.1413277 -0.8277143。0.4693172 - 0.1972599 # # GENE3 1.8271065 0.9043272 0.6362142。0.3623313 - 1.1685884 # # GENE4 -0.1405384 -1.6026208 -1.0625278。0.6192387 - 0.7000904 # # GENE5 0.5724403 -1.6850143 -0.1346678。0.4860356 - -0.2437097 # #……# # GENE49996 0.6206606 0.1024747 1.5922409。1.47735532 - -1.24286313 # # GENE49997 -1.2544982 -0.1966683 -1.2666870。-0.02663156 - 0.95112583 # # GENE49998 0.7330015 -0.1144405 -0.4230417。 -1.35270260 0.92871578 ## GENE49999 1.4790735 0.6468762 -0.2599957 . -0.48291000 -1.73458808 ## GENE50000 -0.1881613 -1.5129953 -0.7367874 . 0.81166740 0.77426377
MultiAssayExperiment(列表(HDF5SE = HDF5SE))
# # MultiAssayExperiment对象1 # #列出实验与一个用户定义的名称和各自的类。包含ExperimentList类对象的长度是1 # #:# # [1]HDF5SE: SummarizedExperiment 20 50000行和列# #特点:# # # #实验()——获得ExperimentList实例colData()——主/表型DFrame # # sampleMap()——样本可用性DFrame # #“美元”,“[”、“[[-提取colData列,子集,或实验# # *()——格式转换成一个长或宽DFrame # #化验()——ExperimentList SimpleList的转换矩阵

目前正在开发一个额外的场景HDF5Matrix远程托管。存在许多机会在考虑磁盘上的数据和从磁盘表示MultiAssayExperiment