多模态数据格式MuData- - - - - -已经介绍过了解决大规模多模态组学数据共享的跨平台标准需求。重要的是,它发展了思想,并与AnnData存储单模态数据集的原始数据和派生数据的标准。
在Bioconductor中,多模态数据集已存储在MultiAssayExperiment(美)对象。这MuData
包提供了从MuData文件读取数据到MAE对象以及将MAE对象保存到H5MU文件的功能。
最新的开发版本可以从GitHub安装:
库(遥控器)遥控器:install_github(“ilia-kats / MuData”)
稳定版MuData
将可在未来的生物导体版本。
库(MuData)库(MultiAssayExperiment)库(rhdf5)
方法中的简单MAE对象MultiAssayExperiment
然后我们将其保存在一个H5MU文件中。
MultiAssayExperiment对象,包含5个列出的#>实验,用户自定义名称和各自的类。>包含一个长度为5的ExperimentList类对象:#> [1]RNASeq2GeneNorm: 198行79列的总结实验#> [2]gistict: 198行90列的总结实验#> [3]RPPAArray: 33行46列的总结实验#>[4]突变:矩阵97行90列#> [5]miRNASeqGene: 471行80列的总结实验#>功能:#> experiments() -获取ExperimentList实例#> colData() -主/表型DataFrame #> sampleMap() -样本协调DataFrame #> ' $ ', '[', '[[' -提取colData列,子集,或实验#> *Format() -转换成一个长或宽的DataFrame #> assays() -转换ExperimentList为一个矩阵的SimpleList #> exportClass() -保存数据到平面文件
我们现在将其内容写入一个H5MU文件WriteH5MU
:
writeH5MU (miniACC“miniacc.h5mu”)
我们可以手动检查文件结构的顶层:
rhdf5: h5ls(“miniacc。h5mu", recursive = FALSE) #>组名otype dclass dim # b> 0 / mod H5I_GROUP # b> 1 / obs H5I_GROUP # b> 2 / obsm H5I_GROUP #> 3 / obsmap H5I_GROUP #> 4 / uns H5I_GROUP #> 5 / var H5I_GROUP #> 5 / var H5I_GROUP #> 5 / var H5I_GROUP #> 4 / uns H5I_GROUP #> 5
或者深入挖掘文件:
h5 <- rhdf5::H5Fopen("miniacc.h5mu") h5&'mod' #> HDF5 GROUP #> name /mod #> filename #> #> name otype dclass dim #> 0 Mutations H5I_GROUP #> 1 RNASeq2GeneNorm H5I_GROUP #> 2 RPPAArray H5I_GROUP #> 3 gistict H5I_GROUP #> 4 miRNASeqGene H5I_GROUP rhdf5::H5close()
这个包提供了ReadH5MU
用H5MU文件中的数据创建一个对象。由于H5MU结构被设计为容纳比MAE更多的结构化信息,因此只有一些数据将被读取。例如,MAE不支持加载多模态嵌入或成对图。
acc <- readH5MU("miniacc.h5mu") #>读取为singlecel实验,其中原始对象类是矩阵acc #>一个MultiAssayExperiment对象,包含5个列出的#>实验,具有自定义名称和各自的类。>包含一个长度为5的ExperimentList类对象:#> [1]RNASeq2GeneNorm: 198行79列的总结实验#> [2]gistict: 198行90列的总结实验#> [3]RPPAArray: 33行46列的总结实验#>[4]突变:97行90列的singlecel实验#> [5]miRNASeqGene: 471行80列的总结实验#>功能:#> experiments() -获取ExperimentList实例#> colData() -主/表型DataFrame #> sampleMap() -样本协调DataFrame #> ' $ ', '[', '[[' -提取colData列,子集,或实验#> *Format() -转换成一个长或宽的DataFrame #> assays() -转换ExperimentList为一个矩阵的SimpleList #> exportClass() -保存数据到平面文件
重要的是,我们从原始MAE对象中恢复信息:
head(colData(miniACC)[,1:4]) #> 6行4列数据框#> patientID years_to_birth vitital_status days_to_death #> #> TCGA-OR-A5J1 TCGA-OR-A5J1 58 1 1355 #> TCGA-OR-A5J2 TCGA-OR-A5J2 44 1 1677 #> TCGA-OR-A5J3 TCGA-OR-A5J4 23 1 423 #> TCGA-OR-A5J5 TCGA-OR-A5J5 30 1 365 # b> TCGA-OR-A5J6 TCGA-OR-A5J6 29 0 NA head(colData(acc)[,1:4]) #> patientID years_to_birth vitital_statusdays_to_death #> #> TCGA-OR-A5J1 TCGA-OR-A5J1 58 1 1355 #> TCGA-OR-A5J2 TCGA-OR-A5J2 44 1 1677 #> TCGA-OR-A5J3 TCGA-OR-A5J3 23 0 NA #> TCGA-OR-A5J4 TCGA-OR-A5J4 23 1 423 #> TCGA-OR-A5J5 TCGA-OR-A5J5 30 1 365 #> TCGA-OR-A5J6 TCGA-OR-A5J6 29 0 NA
功能元数据也可以恢复:
head(rowData(miniACC[["gistict"]])) #> 6行3列的数据帧#>基因。象征轨迹。ID细胞带#> <字符> <字符> <字符> #> DIRAS3 DIRAS3 9077 1p31.3 #> MAPK14 MAPK14 1432 6p21.31 #> YAP1 YAP1 10413 11q22.1 #> CDKN1B CDKN1B 1027 12p13.1 #> ERBB2 ERBB2 2064 17q12 #> G6PD G6PD 2539 Xq28 head(rowData(acc[["gistict"]])) #> 6行3列数据框架#>基因。象征轨迹。ID细胞带#> <字符> <字符> <字符> #> DIRAS3 DIRAS3 9077 1p31.3 #> MAPK14 MAPK14 1432 6p21.31 #> YAP1 YAP1 10413 11q22.1 #> CDKN1B CDKN1B 1027 12p13.1 #> ERBB2 ERBB2 2064 17q12 #> G6PD G6PD 2539 Xq28
可以在保持矩阵的同时读取H5MU文件(两者都可以)以下方式
而且.layers
)在磁盘上。
acc_b <- readH5MU("miniacc。5mu",背= TRUE) #>读取为singlecel实验,其中原始对象类是矩阵化验(acc_b, "RNASeq2GeneNorm")[1:5,1:3] #> <5 x 3>矩阵类DelayedMatrix和类型"double":#> tcga-or-a5j1-01a-11r-a29s-07 #> diras3 1487.0317 9.6631 #> mapk14 778.5783 2823.6469 #> yap1 1009.6061 2305.0590 #> cdkn1b 2101.3449 4248.9584 #> erbb2 651.2968 246.4098 #> tcga-or-a5j3-01a-11r-a29s-07 #> diras3 18.9602 #> mapk14 1061.7686 #> yap1 1561.2502 #> cdkn1b 1348.5410 #> erbb2 90.0607
试验数据为aDelayedMatrix
对象:
class(化验(acc_b, "RNASeq2GeneNorm")) #> [1] "DelayedMatrix" #> attr(,"package") #> [1] "DelayedArray"
这与acc
对象,该对象在内存中有矩阵:
> TCGA-OR-A5J1-01A-11R-A29S-07 TCGA-OR-A5J2-01A-11R-A29S-07 #> DIRAS3 1487.0317 9.6631 #> MAPK14 778.5783 2823.6469 #> YAP1 1009.6061 2305.9590 #> CDKN1B 2101.3449 4246.4098 #> TCGA-OR-A5J3-01A-11R-A29S-07 #> DIRAS3 18.9602 #> MAPK14 1061.7686 #> YAP1 1561.2502 #> CDKN1B 1348.5410 #>[1]“矩阵”“阵列”
mudata(Python)文档
sessionInfo() #> R正在开发中(不稳定)(2022-10-25 r83175) #>平台:x86_64-pc-linux-gnu(64位)#>运行在:Ubuntu 22.04.1 LTS #> #>矩阵产品:默认#> BLAS: /home/biocbuild/bbs-3.17-bioc/R/lib/libRblas。so #> LAPACK: /usr/lib/x86_64-linux-gnu/ LAPACK /liblapack.so.3.10.0 #> #> locale: #> [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# > [3] LC_TIME=en_GB LC_COLLATE= c# > [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 #> [7] LC_PAPER=en_US。UTF-8 LC_NAME= c# > [9] LC_ADDRESS=C LC_TELEPHONE= c# > [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION= c# > #>附加基础包:#> [1]stats4 stats graphics grDevices utils datasets methods #>[8]基础#> #>其他附加包:# > [1] SingleCellMultiModal_1.9.1 scater_1.27.0 # > [3] ggplot2_3.3.6 scuttle_1.9.0 # > [5] CiteFuse_1.11.0 MultiAssayExperiment_1.25.0 # > [7] SingleCellExperiment_1.21.0 SummarizedExperiment_1.29.0 # > [9] Biobase_2.59.0 GenomicRanges_1.51.0 # > [11] GenomeInfoDb_1.35.0 IRanges_2.33.0 # > [13] MatrixGenerics_1.11.0 matrixStats_0.62.0 # > [15] MuData_1.3.0 rhdf5_2.43.0 # > [17] S4Vectors_0.37.0 BiocGenerics_0.45.0 # > [19] Matrix_1.5-1 BiocStyle_2.27.0 # > # >加载通过名称空间(而不是附加):#> [1] splines_4.3.0 later_1.3.0 #> [3] bitops_1.0-7 filelock_1.0.2 #> [5] r .oo_1. 0 tibble_3.1.8 #> b[7] polyclip_1.10-4 lifecycle_1.0.3 #> [9] edgeR_3.41.0 lattice_0.20-45 #> [11] MASS_7.3-58.1 magrittr_2.0.3 #> [13] limma_3.55.0 sass_0.4.2 #> [15] rmarkdown_2.17 jquerylib_0.1.4 #> [17] yaml_2.3.6 metapod_1.7.0 #> [19] httpuv_1.6.6 cowplot_1.1.1 #> [21] DBI_1.1.3 rcolorbrewer_1 .1.1 -3 #> [23] zlibbioc_1.45.0 Rtsne_0.16 #>[29] rcurl_1.98 - 1.9 tweenr_2.0.2 # > [31] rappdirs_0.3.3 GenomeInfoDbData_1.2.9 # > [33] ggrepel_0.9.1 irlba_2.3.5.1 # > [35] pheatmap_1.0.12 dqrng_0.3.0 # > [37] DelayedMatrixStats_1.21.0 DropletUtils_1.19.0 # > [39] codetools_0.2-18 DelayedArray_0.25.0 # > [41] ggforce_0.4.1 tidyselect_1.2.0 # > [43] farver_2.1.1 ScaledMatrix_1.7.0 # > [45] viridis_0.6.2 BiocFileCache_2.7.0 # > [47] jsonlite_1.8.3 BiocNeighbors_1.17.0 # > [49] ellipsis_0.3.2 tidygraph_1.2.2 # > [51] ggridges_0.5.4 survival_3.4-0 # > [53]dbscan_1. 11 segmented_1.6-0 #> [55] tools_4.3.0 Rcpp_1.0.9 #> [57] glue_1.6.2 BiocBaseUtils_1.1.0 #> [59] gridExtra_2.3 xfun_0.34 #> [61] HDF5Array_1.27.0 dplyr_1.0.10 #> [63] withr_2.5.0 BiocManager_1.30.19 #> [65] fastmap_1.1.0 rhdf5filters_1.11.0 #> [67] bluster_1.9.0 fansi_1.0.3 #> [69] digest_0.6.30 rsvd_1.0.5 #> [71] R6_2.5.1 mime_0.12 #> [73] colorspace_2.0-3 RSQLite_2.2.18 #> [75] R.methodsS3_1.8.2 utf8_1.2.2 #> [77] tidyr_1.2.1 generics_0.1.3 #> [79] graphlayouts_0.8.3 httr_1.4.4 #>[81] uwot_0.1.14 pkgconfig_1 .0.3 #> [83] gtable_0.3.1 blob_1.2.3 #> [85] XVector_0.39.0 htmltools_0.5.3 #> [87] bookdown_0.29 scales_1.2.1 #> [89] png_0.1-7 SpatialExperiment_1.9.0 #> [91] scran_1.27.0 knitr_1.40 #> [93] rjson_0.2.21 reshape2_1.4.4 #> [95] nlme_1 .1-160 curl_4.3.3 #> [97] cachem_1.0.6 string_1 .4.1 #> [101] vipor_0.4.5 AnnotationDbi_1.61.0 #> [103] pillar_1.8.1 grid_4.3.0 #> [105] vctrs_0.5.0 promises_1.2.0.1 #> [107] randomForest_4.7-1.1BiocSingular_1.15.0 #> [109] dbplyr_2.2.1 beachmat_2.15.0 #> [111] xtable_1.8-4 cluster_2.1.4 #> [113] beeswarm_0.4.0 evaluate_0.17 #> [115] magick_2.7.3 cli_3.4.1 #> [117] locfit_1.5-9.6 compiler_4.3.0 #> [119] crayon_1.5.2 rlang_1.0.6 #> [121] labeling_0.4.2 plyr_1.8.7 #> [123] ggbeeswarm_0.6.0 stringi_1.7.8 #> [125] viridisLite_0.4.1 BiocParallel_1.33.0 #> [127] assertthat_0.2.1 propr_4.2.6 #> [129] Biostrings_2.67.0 munsell_0.5.0 #> [131] ExperimentHub_2.7.0 sparseMatrixStats_1.11.0 #> [133] bit64_4.0.5 Rhdf5lib_1.21.0 #> [135] KEGGREST_1.39.0 statmod_1.4.37 #> [137] shiny_1.7.3 interactiveDisplayBase_1.37.0 #> [139] highr_0.9 AnnotationHub_3.7.0 #> [141] kernlab_0.9-31 igraph_1.3.5 #> [143] memoise_2.0.1 bslib_0.4.0 #> [145] bit_4.0.4