LoomExperiment 1.14.0
LoomExperiment
类的LoomExperiment
类族继承自主类LoomExperiment
以及以它们命名的实验班。例如,SingleCellLoomExperiment
类从两者继承LoomExperiment
而且SingleCellExperiment
.
的目的LoomExperiment
班是Bioconductor的实验班和Linnarson实验室的织机文件格式(http://linnarssonlab.org/loompy/index.html).织机文件格式使用HDF5存储实验数据。
的LoomExperiment
类族包含以下插槽。
colGraphs
rowGraphs
这两个槽都是LoomGraphs
对象,用于描述col_graph
而且row_graph
属性指定的织机文件格式。
类型的实例有几种创建方法LoomExperiment
对象的类。可以将现有的summarizeexperiment类型类插入适当的构造函数中:
library(LoomExperiment) counts <- matrix(rpois(100, lambda =10), ncol=10, nrow=10) sce <- SingleCellLoomExperiment(assays = list(counts = counts)) scale <- SingleCellLoomExperiment(sce) ## OR scale <- LoomExperiment(sce)
也可以简单地将参数插入到适当的构造函数中,因为所有LoomExperiment
构造函数调用适用类的构造函数
- SingleCellLoomExperiment(assays = list(counts = counts))
此外,还可以创建一个LoomExperiment
通过强制扩展类:
量表<- as(sce, "SingleCellLoomExperiment")量表
##类:SingleCellLoomExperiment ## dim: 10 10 ##元数据(0):## assays(1):计数## rownames: NULL ## rowData names(0): ## colnames: NULL ## colData names(0): ## reducedDimNames(0): ## mainExpName: NULL ## altExpNames(0): ## rowGraphs(0): NULL ## colGraphs(0): NULL
最后,我们可以创建一个LoomExperiment
对象从导入织机文件。
我们将使用以下方法SingleCellLoomExperiment
剩下的部分。
L1_file <- system。文件(“extdata”、“L1_DRG_20_example。- import(l1_file, type="SingleCellLoomExperiment")规模
##类:SingleCellLoomExperiment ## dim: 20 20 ##元数据(4):CreatedWith LOOM_SPEC_VERSION LoomExperiment-class ## MatrixName ## assays(1):矩阵## rownames: NULL ## rowData names(7):接入基因…X_Total X_Valid ## colnames: NULL ## colData names(103): Age AnalysisPool…cDNA_Lib_Ok ngperul_cDNA ## reducedDimNames(0): ## mainExpName: NULL ## altExpNames(0): ## rowGraphs(0): NULL ## colGraphs(2): KNN MKNN
以下所有方法都适用于所有LoomExperiment
类。
LoomGraph
类的colGraphs
而且rowGraphs
LoomExperiments的槽对应于col_graphs
而且row_graphs
字段的织机文件格式。这两个槽都需要LoomGraphs
对象。
一个LoomGraph
类扩展了SelfHits
类的S4Vectors
包装的要求是aLoomGraph
对象必须:
整数
和非负LoomExperiment
对象(如果附加到LoomExperiment
对象)列来
而且从
对应于任何一个行
或上校
的索引LoomExperiment
对象而w
是指定权重的可选列。
LoomGraph可以用两种方式构造:
a <- c(1,2,3) b <- c(3,2,1) w <- c(100,10,1) df <- DataFrame(a, b, w) lg <- as(df, "LoomGraph") ## OR lg <- LoomGraph(a, b, weight = w) lg
## from to | w# # | ## [1] 1 3 | 100 ## [2] 2 2 | 10 ## [3] 3 1 | 1 ## ------- ## nnode: 3
LoomGraph
对象可以是' row ' / ' col '索引的子集。
lg (c(1、2))
## from to | w# # | ## [1] 1 3 | 100 ## [2] 2 2 | 10 ## ------- ## nnode: 3
lg (- c (2))
## from to | w# # | ## [1] 1 3 | 100 ## [2] 3 1 | 1 ## ------- ## nnode: 3
LoomGraphs
类一个LoomGraphs
对象扩展了S4Vectors: SimpleList
对象。它包含多个LoomGraph
对象,其唯一要求是必须包含LoomGraph
对象。
它可以通过使用简单地创建LoomGraph
对象中的LoomGraphs
构造函数
lgs <- LoomGraphs(lg, lg) names(lgs) <- c('lg1', 'lg2') lgs
长度为2的LoomGraphs名称(2):lg1 lg2
LoomExperiment
的LoomGraphs
分配给这些人colGraphs
而且rowGraphs
槽位的获取方法如下:
colGraphs (scle)
长度为2的LoomGraphs (2): KNN MKNN
rowGraphs (scle)
长度为0的LoomGraphs
同样的符号也可以用来代替各自的LoomGraphs
colGraphs(scale) <- lgs rowGraphs(scale) <- lgs colGraphs(scale)
长度为2的LoomGraphs名称(2):lg1 lg2
rowGraphs (scle)
长度为2的LoomGraphs名称(2):lg1 lg2
colGraphs (scle) [[1]]
## from to | w# # | ## [1] 1 3 | 100 ## [2] 2 2 | 10 ## [3] 3 1 | 1 ## ------- ## nnode: 20
rowGraphs (scle) [[1]]
## from to | w# # | ## [1] 1 3 | 100 ## [2] 2 2 | 10 ## [3] 3 1 | 1 ## ------- ## nnode: 20
LoomExperiment
对象可以以这样一种方式进行子集设置化验
,colGraphs
,rowGraphs
都将被细分。化验
Will Will会被归类为any矩阵
会。的我
元素将对rowGraphs
槽和j
元素将对colGraphs
槽,就像我们从subset方法中看到的LoomGraphs
.
scle2 <- scale [c(1,3), 1:2] colGraphs(scle2)[[1]]
## from to | w# # | ## [1] 2 2 | 10 ## ------- ## nnode: 2
rowGraphs (scle2) [[1]]
## from to | w# # | ## [1] 1 2 | 100 ## [2] 2 1 | 1 ## ------- ## nnode: 2
Scle3 <- rbind(scale, scale) Scle3
##类:SingleCellLoomExperiment ## dim: 40 20 ##元数据(8):CreatedWith LOOM_SPEC_VERSION…LoomExperiment-class ## MatrixName ## assays(1):矩阵## rownames: NULL ## rowData names(7):接入基因…X_Total X_Valid ## colnames: NULL ## colData names(103): Age AnalysisPool…cDNA_Lib_Ok ngperul_cDNA ## reducedDimNames(0): ## mainExpName: NULL ## altExpNames(0): ## rowGraphs(2): lg1 lg2 ## colGraphs(4): lg1 lg2 lg1 lg2
colGraphs (scle3)
长度为4的LoomGraphs名称(4):lg1 lg2 lg1 lg2
rowGraphs (scle3)
长度为2的LoomGraphs名称(2):lg1 lg2
colGraphs (scle3) [[1]]
## from to | w# # | ## [1] 1 3 | 100 ## [2] 2 2 | 10 ## [3] 3 1 | 1 ## ------- ## nnode: 20
rowGraphs (scle3) [[1]]
## from to | w ## | ## [1] 1 3 | 100 ## [2] 22 b| 10 ## [3] 3 1 | 1 ## [4] 21 23 | 100 ## [5] 22 22 | 10 ## [6] 23 21 | 1 ## ------- ## nnode: 40
最后,LoomExperiment
对象可以导出。
Temp <- tempfile(fileext='.loom') export(scle2, Temp)
sessionInfo ()
## R版本4.2.0 RC (2022-04-19 r82224) ##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.4 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.15-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.15-bioc/R/lib/libRlapack。所以## ## 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_phone = c# # [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基本包:## [1]stats4 stats graphics grDevices utils datasets methods ##[8]基础## ##其他附加包:[1] LoomExperiment_1.14.0 BiocIO_1.6.0 ## [3] rhdf5_2.40.0 SingleCellExperiment_1.18.0 ## [5] SummarizedExperiment_1.26.0 Biobase_2.56.0 ## [7] GenomicRanges_1.48.0 GenomeInfoDb_1.32.0 ## [9] IRanges_2.30.0 MatrixGenerics_1.8.0 ## [11] matrixStats_0.62.0 S4Vectors_0.34.0 ## [13] BiocGenerics_0.42.0 BiocStyle_2.24.0 ## ##通过命名空间加载(并且没有附加):## [1] bslib_string_1 .4.0 knitrr_1 . 1.5.1 hdf5filters_1.8.0 ## [7] bitops_1.0-7 tools_4.2.0 zlibbioc_1.42.0 ## [10] digest_0.6.29 jsonlite_1.8.0 evaluate_0.15 ## [13] lattice_0.20-45 rlang_1.0.2 Matrix_1.4-1 ## [13] DelayedArray_0.22.0 cli_3.3.0 yaml_2.3.5 ## [19] xfun_0.30 fastmap_1.1.0 GenomeInfoDbData_1.2.8 ## [25] grid_4.2.0 R6_2.5.1 HDF5Array_1.24.0 ## [28] rmarkdown_2.14 bookdown_0.26Rhdf5lib_1.18.0 ## [31] magrittr_2.0.3 htmltools_0.5.2 stringi_1.7.6 ## [34] RCurl_1.98-1.6