依赖关系
库(MultiAssayExperiment)图书馆(HDF5Array)图书馆(SummarizedExperiment)
的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]
注意,一个大矩阵从一个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
目前,rhdf5
包不存储dimnames
在h5
默认文件。请求这个功能已经被派往的维护者rhdf5
包和任何进一步的发展HDF5Array
包是取决于这种低水平维度名称存储。
DelayedMatrix
与MultiAssayExperiment
一个DelayedMatrix
独自一人符合MultiAssayExperiment
API要求。如下所示,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行和列
SummarizedExperiment
与DelayedMatrix
后端更多的信息丰富DelayedMatrix
当结合使用可以创建SummarizedExperiment
类,它甚至可以包括rowRanges
。的灵活性MultiAssayExperiment
API支持类以最小的需求。此外,这SummarizedExperiment
与DelayedMatrix
后端可以更大的一部分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
。