1简介

RaggedExperiment软件包为基因组位置数据提供了灵活的拷贝数、突变等不规则阵列模式的数据表示。它旨在为一组具有不同数量基因组范围的样本提供一个框架。

RaggedExperiment类派生自GRangesList表示,并提供类似于矩形数据集的功能。属性的行和列维RaggedExperiment分别对应于整个数据集中的范围数量和数据中表示的样本数量。

2安装

if (!require("BiocManager")) install.packages("BiocManager")

装载包:

库(RaggedExperiment)库(GenomicRanges)

3.RaggedExperiment类概述

类的类几何结构和支持的转换的示意图RaggedExperiment类如下所示。转换的主要操作有三种RaggedExperiment表示:

  1. sparseAssay
  2. compactAssay
  3. qreduceAssay
raggeexperiment对象示意图。行和列分别表示基因组范围和样本。分析操作可以使用(从左到右)compactAssay, qreduceAssay和sparseAssay进行。

图1:raggeexperiment对象示意图
行和列分别表示基因组范围和样本。分析操作可以使用(从左到右)compactAssay, qreduceAssay和sparseAssay进行。

4构建一个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)

4.1使用农庄对象

ragexp <- raggeexperiment (sample1 = sample1, sample2 = sample2, colData = colDat
##类:raggeexperiment ## dim: 5 2 ## assays(1):评分## rownames(5): A B C D E ## colnames(2): sample1 sample2 ## colData names(1): id

4.2使用一个GRangesList实例

grl <- GRangesList(sample1 = sample1, sample2 = sample2) raggeexperiment (grl, colData = colDat)
##类:raggeexperiment ## dim: 5 2 ## assays(1):评分## rownames(5): A B C D E ## colnames(2): sample1 sample2 ## colData names(1): id

4.3使用一个列表农庄

rangeList <- list(sample1 = sample1, sample2 = sample2)
##类:raggeexperiment ## dim: 5 2 ## assays(1):评分## rownames(5): A B C D E ## colnames(2): sample1 sample2 ## colData names(1): id

4.4使用一个列表农庄与元数据

请注意:在aSimpleGenomicRangesList与附带的元数据一起提供(由mcols),该元数据被用作colDataRaggedExperiment

grList <- List(sample1 = sample1, sample2 = sample2) mcols(grList) <- colDat raggeexperiment (grList)
##类:raggeexperiment ## dim: 5 2 ## assays(1):评分## rownames(5): A B C D E ## colnames(2): sample1 sample2 ## colData names(1): id

5访问器

5.1范围的数据

rowRanges (ragexp)
## 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

5.2维度名称

dimnames (ragexp)
# # # #[1]([1])“A”“B”“C”“D”“E " ## ## [[ 2]] # #[1]“sample1”“sample2”

5.3colData

colData (ragexp)
##数据帧2行1列## id ## <整数> ## sample1 1 ## sample2 2

6构造子集

6.1通过维度

构造子集的一个RaggedExperiment类似于子集矩阵对象。行对应基因组范围,列对应样本或标本。子集使用是可能的整数字符,逻辑指数。

6.2通过基因组范围

overlapsAny而且subsetByOverlaps功能可用于RaggedExperiment.请参阅RaggedExperiment而且GenomicRanges

7*分析功能

RaggedExperiment包提供了几个不同的函数,用于在矩形矩阵中表示远程数据*分析方法。

7.1sparseAssay

a最直接的矩阵表示RaggedExperiment将返回一个维数等于范围数和样本数的乘积的矩阵。

暗(ragexp)
## [1] 5 2
减少(‘*’,暗(ragexp))
## [1]
sparseAssay (ragexp)
##样本1样本2 ## A 3 NA ## B 4 NA ## C 5 NA ## D NA 1 ## E NA 2
长度(sparseAssay (ragexp))
## [1]

安装7.1.1支持稀疏矩阵输出

的帮助下,我们提供了稀疏矩阵表示矩阵包中。要获得稀疏表示,用户可以使用稀疏= TRUE论点。

sparseAssay(ragexp, sparse = TRUE)
## 5 x 2稀疏矩阵类“dgCMatrix”## sample14 .选b。5 .选c。## d。1 ## e。2

这种表现是一流的dgCMatrix看到矩阵文档获取更多详细信息。

7.2compactAssay

具有相同范围的样本放置在同一行中。非不相交范围是崩溃了。

compactAssay (ragexp)
## sample1:8-14:+ 4 NA ## chr1:1-10:- 3 1 ## chr2:11-18:+ NA 2 ## chr2:15-18:+ 5 NA

类似地,为了sparseAssaycompactAssay函数提供了获取稀疏矩阵表示的选项稀疏= TRUE论点。这将返回一个dgCMatrix类的矩阵包中。

compactAssay(ragexp, sparse = TRUE)
## 4 x 2稀疏矩阵类“dgCMatrix”## sample1 sample2 ## chr1:1-10:- 3 1 ## chr1:8-14:+ 4。## chr2:15-18:+ 5。## chr2:11-18:+。2

7.3disjoinAssay

该函数返回所有样本的不连续范围的矩阵。矩阵的元素通过应用simplifyDisjoin重叠范围化验值的功能参数。

disjoinAssay(ragexp, simplifyDisjoin = mean)
## sample1 sample2 ## chr1:1-10:- 3 1 ## chr2:11-14:+ NA 2 ## chr2:15-18:+ 5 2

7.4qreduceAssay

qreduceAssay函数与查询参数,该参数突出显示结果矩阵的范围窗口。返回的矩阵将有维数长度(查询)通过ncol (x).元素包含的化验值查询范围和j第Th样,根据总结simplifyReduce功能参数。

为了演示,我们可以看看原文GRangesList和相关的分数,从目前ragexp对象的派生:

unlist(grl, use.names = FALSE)
## 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)
## 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,“分数”)
##样本1样本2 ## A 3 NA ## B 4 NA ## C 5 NA ## D NA 1 ## E NA 2

这里我们提供了感兴趣的“查询”区域:

(查询< -农庄(c(“chr1:1-14:”、“chr2:11-18: +”)))
## 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 sample2 ## chr1:1-14:- 3 1 ## chr2:11-18:+ 5
有关可视化表示,请参阅示意图。

回到顶部

8强迫

RaggedExperiment对象的强制转换提供一系列并行函数SummarizedExperiment类。通过选择特定的分析指标(),可实现并行分析强制方法。

下面是函数名列表:

  • sparseSummarizedExperiment
  • compactSummarizedExperiment
  • disjoinSummarizedExperiment
  • qreduceSummarizedExperiment

详细信息请参见文档。

8.1从dgCMatrix到raggeexperiment

在特殊情况下,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,4,4), x = c(2L, 4L, 2L, 2L, 2L, 2L, 2L, 4L, 2L), dims = c(4,4), dimnames = list(c("chr2:1-10", "chr2:2-10", "chr2:3-10", "chr2:4-10"), LETTERS[1:4]) as(sm, " raggeexperiment ")
##类:raggeexperiments ## dim: 7 3 ## assays(1):计数## rownames: NULL ## colnames(3): C d# # colData names(0):

9会话信息

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]Matrix_1.4-1 RaggedExperiment_1.20.0 GenomicRanges_1.48.0 ## [4] GenomeInfoDb_1.32.0 IRanges_2.30.0 S4Vectors_0.34.0 ## [7] BiocGenerics_0.42.0 BiocStyle_2.24.0 ## ##通过命名空间加载(且未附加):## [5] jquerylib_1.8.0 BiocManager_1.30.17 ## [9] tools_4.2.0 zlibbioc_1.42.0 ## [11] digest_0.6.29 lattice_0.20-45 ## [13] jsonlite_1.8.0 evaluate_0.15 ## [15] rlang_1.0.2 DelayedArray_0.22.0 ## [17] cli_3.3.0 yaml_2.3.5 ## bbbxfun_0.30 fastmap_1.1.0 ## [23] knitr_1.38 sass_0.4.1 ## [25] grid_4.2.0 Biobase_2.56.0 ## [27] R6_2.5.1 ##rmarkdown_14 ## [29] bookdown_0.26 magrittr_2.0.3 ## [31] htmltools_0.5.2 matrixStats_0.62.0 ## [33] SummarizedExperiment_1.26.0 stringi_1.7.6 ## [35] RCurl_1.98-1.6