的RaggedExperiment软件包为基因组位置数据的拷贝数、突变和其他不规则阵列模式提供了灵活的数据表示。它的目的是为一组具有不同数量基因组范围的样本提供一个框架。
的RaggedExperiment
类派生自GRangesList
表示,并提供了一个矩形数据集的外观。的行和列尺寸RaggedExperiment
分别对应于整个数据集中范围的数量和数据中表示的样本的数量。
if (!require("BiocManager")) install.packages("BiocManager") BiocManager::install(" raggeexperiment ")
加载包:
库(RaggedExperiment)库(GenomicRanges)
RaggedExperiment
类概述类的几何形状和受支持的转换的示意图RaggedExperiment
类如下所示。转换的主要操作有三种RaggedExperiment
表示:
sparseAssay
compactAssay
qreduceAssay
图1:RaggedExperiment对象示意图
行和列分别代表基因组范围和样本。分析操作可以执行(从左到右)compactAssay, qreduceAssay和sparseAssay。
RaggedExperiment
对象我们从几个开始农庄
对象,每个对象代表一个单独的样本:
sample1 < -农庄(c(=“chr1:1-10: B =“chr1:8-14: +”,c =“chr2:15-18: +”),得分= 3:5)sample2 < -农庄(c (D =“chr1:1-10: E =“chr2:11-18: +”),得分= 1:2)
包括列数据colData
描述样本:
colDat <- DataFrame(id = 1:2)
农庄
对象ragexp <- raggeexperiment (sample1 = sample1, sample2 = sample2, colData = colDat
## class: raggeexperiment ## dim: 5 2 ## assays(1): score ## rownames(5): A B C D e# # colnames(2): sample1 sample2 ## colData names(1): id
GRangesList
实例raggeexperiment (grl, colData = colDat)
## class: raggeexperiment ## dim: 5 2 ## assays(1): score ## rownames(5): A B C D e# # colnames(2): sample1 sample2 ## colData names(1): id
列表
的农庄
raggeexperiment (rangple1 = sample1, sample2 = sample2)
## class: raggeexperiment ## dim: 5 2 ## assays(1): score ## rownames(5): A B C D e# # colnames(2): sample1 sample2 ## colData names(1): id
列表
的农庄
与元数据请注意:当aSimpleGenomicRangesList
与附带的元数据一起提供(由mcols
),元数据作为colData
为RaggedExperiment
.
grList <- List(sample1 = sample1, sample2 = sample2) mcols(grList) <- colDat raggeexperiment (grList)
## class: raggeexperiment ## dim: 5 2 ## assays(1): score ## rownames(5): A B C D e# # colnames(2): sample1 sample2 ## colData names(1): id
rowRanges (ragexp)
## GRanges对象,5个范围和0个元数据列:## seqnames ranges strand ## ## A chr1 1-10 - ## B chr1 8-14 + ## C chr2 15-18 + ## D chr1 1-10 - ## E chr2 11-18 + ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengths
dimnames (ragexp)
# # # #[1]([1])“A”“B”“C”“D”“E " ## ## [[ 2]] # #[1]“sample1”“sample2”
colData
colData (ragexp)
2行1列数据帧## id ## ## sample1 1 ## sample2 2
构造子集的一个RaggedExperiment
类似于将矩阵
对象。行对应基因组范围,列对应样本或标本。它是可能的子集使用整数
,字符
,逻辑
指数。
的overlapsAny
而且subsetByOverlaps
功能可用于RaggedExperiment
.相关文件见RaggedExperiment
而且GenomicRanges
.
RaggedExperiment
控件提供了几个不同的函数来表示矩形矩阵中的远程数据*分析
方法。
a的最直接的矩阵表示RaggedExperiment
将返回一个维度矩阵,其大小等于范围数和样本数的乘积。
暗(ragexp)
## [1] 5 2
减少(‘*’,暗(ragexp))
# # 10 [1]
sparseAssay (ragexp)
sample1 sample2 ## A 3 NA ## B 4 NA ## C 5 NA ## D NA 1 ## E NA 2
长度(sparseAssay (ragexp))
# # 10 [1]
的帮助下,我们提供稀疏矩阵表示矩阵
包中。要获得稀疏表示,用户可以使用稀疏= TRUE
论点。
sparseAssay(ragexp, sparse = TRUE)
## 5 × 2稀疏矩阵类“dgCMatrix”## sample1 sample2 ## A 3。## b## c# # D。1 ## e。2
这种表现是有水准的dgCMatrix
看到矩阵
文档以获取更多详细信息。
具有相同范围的样本被放在同一行中。Non-disjoint范围是不崩溃了。
compactAssay (ragexp)
## sample1 sample2 ## chr1:8-14:+ 4 NA ## chr1:1-10:- 3 1 ## chr2:11-18:+ NA 2 ## chr2:15-18:+ 5 NA
类似地,为了sparseAssay
的compactAssay
函数提供了使用方法获得稀疏矩阵表示的选项稀疏= TRUE
论点。这将返回一个dgCMatrix
类的矩阵
包中。
compactAssay(ragexp, sparse = TRUE)
## 4 × 2稀疏矩阵类“dgCMatrix”## sample1 sample2 ## chr1:1-10:- 3 1 ## chr1:8-14:+ 4。## chr2:15-18:+ 5。# # chr2:11-18: +。2
这个函数返回所有样本的不相交范围的矩阵。通过应用矩阵中的元素来总结矩阵的元素simplifyDisjoin
用于测定重叠范围值的函数参数。
disjoinAssay(ragexp, simplifyDisjoin = mean)
## sample1 sample2 ## chr1:8-14:+ 4 NA ## chr1:1-10:- 3 1 ## chr2:11-14:+ NA 2 ## chr2:15-18:+ 5 2
的qreduceAssay
函数与查询
参数,该参数突出显示结果矩阵的范围窗口。返回的矩阵将有维数长度(查询)
通过ncol (x)
.元素包含的化验值我查询范围和j本样,总结按simplifyReduce
功能参数。
为了演示的目的,我们可以看看原文GRangesList
和相关的分数,从电流ragexp
对象导出:
unlist(grl, use.names = FALSE)
## GRanges对象,5个范围和1个元数据列:## seqnames ranges strand | score ## | ## A chr1 1-10 - | 3 ## B chr1 8-14 + | 4 ## C chr2 15-18 + | 5 ## D chr1 1-10 - | 1 ## E chr2 11-18 + | 2 ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengths
该数据表示为rowRanges
而且化验
在RaggedExperiment
:
rowRanges (ragexp)
## GRanges对象,5个范围和0个元数据列:## seqnames ranges strand ## ## A chr1 1-10 - ## B chr1 8-14 + ## C chr2 15-18 + ## D chr1 1-10 - ## E chr2 11-18 + ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengths
试验(ragexp,“分数”)
sample1 sample2 ## A 3 NA ## B 4 NA ## C 5 NA ## D NA 1 ## E NA 2
这里我们提供了感兴趣的“查询”区域:
(查询< -农庄(c(“chr1:1-14:”、“chr2:11-18: +”)))
## GRanges对象有2个范围和0个元数据列:## seqnames ranges strand ## ## [1] chr1 1-14 - ## [2] chr2 11-18 + ## ------- ## seqinfo: 2个序列来自一个未指定的基因组;没有seqlengths
的simplifyReduce
论点qreduceAssay
允许用户对感兴趣的给定“查询”区域使用自定义方法总结重叠的区域。我们提供一个用于计算每个查询范围的加权平均分,其中权重与重叠范围和查询范围之间的重叠宽度成正比。
请注意这个函数有三个参数。有关其他详细信息,请参阅文档。
加权平均值<- function(scores, ranges, qranges) {isects <- pintersect(ranges, qranges) sum(scores * width(isects)) / sum(width(isects))}
调用qreduceAssay
涉及到RaggedExperiment
,农庄
查询和simplifyReduce
功能参数。
qreduceAssay(ragexp, query, simplifyReduce =加权平均值)
## sample1:1-14:- 3 1 ## chr2:11-18:+ 5
请参阅示意图以获得可视化表示。
的RaggedExperiment
对象的强制转换提供一系列并行函数SummarizedExperiment
类。通过选择特定的化验指数(我
),可实现并行分析强制方法。
下面是函数名列表:
sparseSummarizedExperiment
compactSummarizedExperiment
disjoinSummarizedExperiment
qreduceSummarizedExperiment
详细信息请参见文档。
在特殊情况下,a的行名sparseMatrix
也可强迫的农庄
,RaggedExperiment
提供将稀疏矩阵转换为RaggedExperiment
.可以使用作为
强制方法。下面的示例首先创建一个示例稀疏dgCMatrix
类,然后显示作为
方法的使用为此目的。
库(矩阵)
## ##附加包:“矩阵”
下面的对象从“package:S4Vectors”:## ## expand中被屏蔽
sm <- Matrix::sparseMatrix(i = c(2,3,4,3,4,3,4), j = c(1,1,1,3,3,3,4,4), x = c(2L, 4L, 2L, 2L, 2L, 2L, 2L, 4L, 2L), dims = c(4,4), dimnames = list(c("chr2:1-10", "chr2:3-10", "chr2:4-10"), LETTERS[1:4]) as(sm, " raggeexperiment ")
## class: raggeexperiment ## dim: 7 3 # assays(1): counts ## rownames: NULL ## colnames(3): A C d# # colData names(0):
sessionInfo ()
## R版本4.2.1(22-06-23)##平台:x86_64-pc-linux-gnu(64位)##运行在:Ubuntu 20.04.4 LTS ## ##矩阵产品:default ## BLAS: /home/biocbuild/bbs-3.15-bioc/R/lib/libRblas. #因此## LAPACK: /home/biocbuild/bbs-3.15-bio /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_TELEPHONE= c# [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基本包:## [1]stats4 stats graphics grDevices utils datasets methods ## [8] base ## ##其他附加的包:## [1]Matrix_1.4-1 RaggedExperiment_1.20.1 genomic icranges_1 .48.0 ## [4] GenomeInfoDb_1.32.3 IRanges_2.30.1 S4Vectors_0.34.0 ## [7] BiocGenerics_0.42.0 BiocStyle_2.24.0 ## ##通过命名空间加载(并没有附加):## [5] jquerylib_0.2.1 BiocManager_1.30.18 ## [5] jquerylib_0.1.4 XVector_0.36.0 ## [9] MatrixGenerics_1.8.1 bitops_1.0-7 ## [9] tools_4.2.1 zlibbioc_1.42.0 ## [11] digest_0.6.29 lattice_0.20-45 ## [13] jsonlite_1.8.0 evaluate_0.16 ## [15] rlang_1.0.5 DelayedArray_0.22.0 ## [17] cli_3.3.0 yaml_2.3.5 ## [15] xfun_0.3.0 fastmap_1.1.0 ## [23] GenomeInfoDbData_1.2.8 stringgr_1 .4.1 ## [25] grid_4.2.1 Biobase_2.56.0 ## [27] R6_2.5.1rmarkdown_2.16 ## [29] bookdown_0.28 magrittr_2.0.3 ## [31] htmltools_0.5.3 matrixStats_0.62.0 ## [33] SummarizedExperiment_1.26.1 stringi_1.7.8 ## [35] RCurl_1.98-1.8 cachem_1.0.6