内容

1介绍

SummarizedExperiment类是用来存储矩形矩阵的实验结果,通常由测序和微阵列实验。请注意,SummarizedExperiment可以同时管理多个实验结果还是化验只要他们是一样的尺寸。

商店观察每个对象的一个或多个样本,以及额外的元数据描述观测(特性)和样品(表型)。

的一个关键方面SummarizedExperiment类的元数据的协调和构造子集时化验。举个例子,如果你想排除给定样本你可以在一个操作的元数据和分析,确保元数据和观测数据将保持同步。不当占元,观测数据导致了错误的结果和弗雷德这是一个非常理想的性质。

SummarizedExperiment在许多方面类似于历史吗ExpressionSet,主要的区别是,SummarizedExperiment更灵活的行信息,允许两个吗农庄基础以及那些被任意的DataFrame年代。这使它适合各种各样的实验,特别是基于测序实验RNA-Seq和ChIp-Seq等。

2解剖学的SummarizedExperiment

SummarizedExperiment包包含两类:SummarizedExperimentRangedSummarizedExperiment

SummarizedExperiment是一个矩阵像容器,行代表感兴趣的特性(如基因、转录、外显子等)和列代表样本。对象包含一个或多个化验,每个代表一个矩阵像对象的数字或其他模式。的行SummarizedExperiment对象代表感兴趣的特性。关于这些特性存储在一个信息DataFrame对象,可以使用函数rowData ()。的每一行DataFrame提供的信息的功能在相应的行SummarizedExperiment对象。DataFrame列代表不同利益的属性特征,例如,基因或记录id等等。

RangedSummarizedExperiment的孩子是吗SummarizedExperiment类,这意味着所有的方法SummarizedExperiment同样适用于RangedSummarizedExperiment

两个类之间的根本区别是,a的行RangedSummarizedExperiment对象代表基因组范围的利益,而不是DataFrame的功能。的RangedSummarizedExperiment范围的描述农庄或者一个GRangesList对象,可以使用rowRanges ()函数。

下面的图形显示类几何和强调了垂直(列)和水平(行)的关系。

总结了实验

总结了实验

2.1化验

气道包包含一个示例数据集从一个RNA-Seq实验读计数每个基因对气道平滑肌。这些数据存储在一个RangedSummarizedExperiment对象包含64102不同的实验和分析基因的转录。

图书馆(SummarizedExperiment)数据(呼吸道、包=“气道”)se < -气道
# #类:RangedSummarizedExperiment # #暗淡:64102 8 # #元数据(1):“# # # #化验(1):计数rownames (64102): ENSG00000000003 ENSG00000000005……LRG_98 LRG_99构成了rowData名称(0):# # # # colnames (8): SRR1039508 SRR1039509……SRR1039520 SRR1039521 # # colData名称(9):SampleName细胞……样本BioSample

检索实验数据SummarizedExperiment对象可以使用分析()访问器。一个对象可以有多个分析数据集都可以访问使用美元操作符。的气道数据集只包含一个分析(计数)。这里每一行每一列代表一个基因转录和的一个样本。

化验(se)数美元
SRR1039508 SRR1039509 SRR1039512 SRR1039513 SRR1039516 SRR1039517 SRR1039520 SRR1039521
ENSG00000000003 679年 448年 873年 408年 1138年 1047年 770年 572年
ENSG00000000005 0 0 0 0 0 0 0 0
ENSG00000000419 467年 515年 621年 365年 587年 799年 417年 508年
ENSG00000000457 260年 211年 263年 164年 245年 331年 233年 229年
ENSG00000000460 60 55 40 35 78年 63年 76年 60
ENSG00000000938 0 0 2 0 1 0 0 0
ENSG00000000971 3251年 3679年 6177年 4252年 6721年 11027年 5176年 7995年
ENSG00000001036 1433年 1062年 1733年 881年 1424年 1439年 1359年 1109年
ENSG00000001084 519年 380年 595年 493年 820年 714年 696年 704年
ENSG00000001167 394年 236年 464年 175年 658年 584年 360年 269年

2.2“行”(感兴趣的)数据

rowRanges ()访问器是用来查看范围信息RangedSummarizedExperiment。(注意如果这是父SummarizedExperiment类我们使用rowData ())。数据存储在一个GRangesList对象,每个列表元素对应于一个基因转录和范围农庄对应于外显子的成绩单。

rowRanges (se)
# # GRangesList对象长度64102:# # $ ENSG00000000003 # 17 #农庄对象范围和2元数据列:# # seqnames范围链| exon_id exon_name # # < Rle > < IRanges > < Rle > | <整数> <人物> # # [1]X 99883667 - 99884983 | 667145 ENSE00001459322 # # [2] X 99885756 - 99885863 | 667146 ENSE00000868868 # # [3] X 99887482 - 99887565 | 667147 ENSE00000401072 # # [4] X 99887538 - 99887565 | 667148 ENSE00001849132 # # [5] X 99888402 - 99888536 | 667149 ENSE00003554016 # #…………………# # [13]X 99890555 - 99890743 | 667156 ENSE00003512331 # # [14] X 99891188 - 99891686 | 667158 ENSE00001886883 # # [15] X 99891605 - 99891803 | 667159 ENSE00001855382 # # [16] X 99891790 - 99892101 | 667160 ENSE00001863395 # # [17] X 99894942 - 99894988 | 667161 ENSE00001828996 # # - - - - - - - # # seqinfo: 722(1循环)从一个未指明的基因组序列# # # #……# # < 64101 >元素

2.3“列”(样本)的数据

可以使用访问元数据描述样本的样本colData (),是一个DataFrame可以存储任意数量的每个样本描述性的列行。

colData (se)
# # DataFrame 8行9列# # SampleName细胞敏捷albut运行avgLength # # <因素> <因素> <因素> <因素> <因素> <整数> # # SRR1039508 GSM1275862 N61311 untrt untrt SRR1039508 126 # # SRR1039509 GSM1275863 N61311泰爱泰党untrt SRR1039509 126 # # SRR1039512 GSM1275866 N052611 untrt untrt SRR1039512 126 # # SRR1039513 GSM1275867 N052611泰爱泰党untrt SRR1039513 87 # # SRR1039516 GSM1275870 N080611 untrt untrt SRR1039516 120 # # SRR1039517 GSM1275871 N080611泰爱泰党untrt SRR1039517 126 # # SRR1039520 GSM1275874 N061011 untrt untrt SRR1039520 101 # # SRR1039521 GSM1275875 N061011泰爱泰党untrt SRR1039521 98 # #实验样本BioSample # # <因素> <因素> <因素> # # SRR1039508 SRX384345 SRS508568 SAMN02422669 # # SRR1039509 SRX384346 SRS508567 SAMN02422675 # # SRR1039512 SRX384349 SRS508571 SAMN02422678 # # SRR1039513 SRX384350 SRS508572 SAMN02422670 # # SRR1039516 SRX384353 SRS508575 SAMN02422682 # # SRR1039517 SRX384354 SRS508576 SAMN02422673 # # SRR1039520 SRX384357 SRS508579 SAMN02422683 # # SRR1039521 SRX384358 SRS508580 SAMN02422677

这个示例可以使用访问元数据美元访问器使它容易子集整个对象由给定的表型。

#只有那些样品子集用地塞米松治疗se (se美元敏捷= =“泰爱泰党”)
# #类:RangedSummarizedExperiment # #暗淡:64102 4 # #元数据(1):“# # # #化验(1):计数rownames (64102): ENSG00000000003 ENSG00000000005……LRG_98 LRG_99构成了rowData名称(0):# # # # colnames (4): SRR1039509 SRR1039513 SRR1039517 SRR1039521 # # colData名称(9):SampleName细胞……样本BioSample

2.4Experiment-wide元数据

元数据描述实验方法和出版物引用可以访问使用元数据()

元数据(se)
([1])# # # # # #实验数据实验名称:为了是# #实验室:NA # #联系信息:# #标题:RNA-Seq转录组分析识别CRISPLD2糖皮质激素响应基因,调节细胞因子在气道平滑肌细胞功能。# # URL: http://www.ncbi.nlm.nih.gov/pubmed/24926665 # # PMIDs: 24926665 # # # #文摘:一个226字的摘要。使用抽象的方法。

请注意,元数据()只是一个简单的列表,所以它适合吗任何实验广泛用户希望保存元数据,例如存储模型公式。

元数据(se) < - $公式计算~敏捷+ albut元数据(se)
([1])# # # # # #实验数据实验名称:为了是# #实验室:NA # #联系信息:# #标题:RNA-Seq转录组分析识别CRISPLD2糖皮质激素响应基因,调节细胞因子在气道平滑肌细胞功能。# # URL: http://www.ncbi.nlm.nih.gov/pubmed/24926665 # # PMIDs: 24926665 # # # #文摘:一个226字的摘要。使用抽象的方法。# # # # # # $公式计算~敏捷+ albut

3构建一个SummarizedExperiment

通常,SummarizedExperimentRangedSummarizedExperiment函数返回的对象是由其他包。但是可以手动创建它们的调用SummarizedExperiment ()构造函数。

构建一个RangedSummarizedExperiment与一个农庄随着rowRanges论点:

nrows < - 200 ncols < - 6数< -矩阵(runif (e4 nrows * ncols 1 1), nrows) rowRanges < -农庄(代表(c (“chr1”、“chr2”), c (150)), IRanges(地板(runif (1 200、1 e5 e6)),宽度= 100),链=样本(c(“+”,“-”), 200年,真的),feature_id = sprintf (“ID % d 03”, 1:200)) colData < - DataFrame(治疗=代表(c(“芯片”,“输入”),3),row.names =信[1:6])SummarizedExperiment(化验=列表(数量=计数),rowRanges = rowRanges colData = colData)
# #类:RangedSummarizedExperiment # #暗淡:200 6 # #元数据(0):# #化验(1):计数# # rownames:零构成了rowData名称(1):# # # # feature_id colnames(6):一个B…E F # # colData名称(1):治疗

一个SummarizedExperiment可以构造有或没有提供DataFramerowData论点:

SummarizedExperiment(化验=列表(数量=计数),colData = colData)
# #类:SummarizedExperiment # #暗淡:200 6 # #元数据(0):# #化验(1):计数# # rownames:零构成了rowData名称(0):# # # # colnames(6):一个B…E F # # colData名称(1):治疗

4常见的操作SummarizedExperiment

4.1构造子集

  • (进行二维构造子集,就像构造子集矩阵或数据帧。
# 5成绩单和前三个样本子集se (1:5, 1:3)
# # # #类:RangedSummarizedExperiment暗淡:5 3 # #元数据(2):“# #公式分析(1):计数# # rownames (5): ENSG00000000003 ENSG00000000005 ENSG00000000419 # # ENSG00000000457 ENSG00000000460构成了rowData名称(0):# # # # colnames (3): SRR1039508 SRR1039509 SRR1039512 # # colData名称(9):SampleName细胞……样本BioSample
  • 美元作用于colData ()列,以方便样本提取。
se (se细胞美元= =“N61311”]
# #类:RangedSummarizedExperiment # #暗淡:64102 2 # #元数据(2):“# #公式分析(1):计数# # rownames (64102): ENSG00000000003 ENSG00000000005……LRG_98 LRG_99构成了rowData名称(0):# # # # colnames (2): SRR1039508 SRR1039509 # # colData名称(9):SampleName细胞……样本BioSample

4.2getter和setter

  • rowRanges ()/ (rowData ()),colData (),元数据()
计数< -矩阵(一15 5 3 dimnames =列表(字母[1:5],字母[1:3]))日期< - SummarizedExperiment(化验=列表(数量=计数),rowData = DataFrame(月= month.name[1:5],天= 1:5))1 #所有子集化验日期[rowData(日期)月美元= =“1”)
# # # #类:SummarizedExperiment暗淡:1 3 # #元数据(0):# #化验(1):计数# # rownames(1):一个构成了rowData名称(2):# # # #月天colnames (3): A B C # # colData名称(0):
  • 分析()分析()有两个访问器提取化验数据的功能SummarizedExperiment对象。分析()作用于整个列表的试验数据作为一个整体分析()操作一次只有一个试验。试验(x,我)仅仅是一个方便的函数相当于化验(x)[[我]]
化验(se)
# # 1 # #名长度的列表(1):
化验(se) [[1]] [1:5, 1:5)
# # # # SRR1039508 SRR1039509 SRR1039512 SRR1039513 SRR1039516 ENSG00000000003 679 448 873 408 1138 # # ENSG00000000005 0 0 0 0 0 # # ENSG00000000419 467 515 621 365 587 260 211 263 164 245 # # ENSG00000000457 # # ENSG00000000460 60 55 78 35
#分析默认为第一个试验如果没有给我化验(se) (1:5, 1:5)
# # # # SRR1039508 SRR1039509 SRR1039512 SRR1039513 SRR1039516 ENSG00000000003 679 448 873 408 1138 # # ENSG00000000005 0 0 0 0 0 # # ENSG00000000419 467 515 621 365 587 260 211 263 164 245 # # ENSG00000000457 # # ENSG00000000460 60 55 78 35
试验(se, 1) [1:5, 1:5)
# # # # SRR1039508 SRR1039509 SRR1039512 SRR1039513 SRR1039516 ENSG00000000003 679 448 873 408 1138 # # ENSG00000000005 0 0 0 0 0 # # ENSG00000000419 467 515 621 365 587 260 211 263 164 245 # # ENSG00000000457 # # ENSG00000000460 60 55 78 35

4.3基于范围的操作

  • subsetByOverlaps ()SummarizedExperiment支持的所有对象findOverlaps ()方法和相关的功能。这包括subsetByOverlaps (),这使得它容易的一个子集SummarizedExperiment对象的一个区间。
#子集只行在区间100000 - 110000 # 1号染色体的roi < -农庄(seqnames =“1”,范围= 100000:1100000)subsetByOverlaps (se, roi)
# #类:RangedSummarizedExperiment # #暗淡:74 8 # #元数据(2):“# #化验公式(1):计数# # rownames (74): ENSG00000131591 ENSG00000177757……ENSG00000272512 # # ENSG00000273443构成了rowData名称(0):# # # # colnames (8): SRR1039508 SRR1039509……SRR1039520 SRR1039521 # # colData名称(9):SampleName细胞……样本BioSample

5会话信息

sessionInfo ()
# # R版本以下4.4.1(2021-08-10)# #平台:x86_64-pc-linux-gnu(64位)# #下运行:Ubuntu 20.04.3 LTS # # # #矩阵产品:默认# #布拉斯特区:/home/biocbuild/bbs - 3.14 - bioc / R / lib / libRblas。所以# # LAPACK: /home/biocbuild/bbs - 3.14 - bioc / R / lib / libRlapack。# # # #语言环境:# # [1]LC_CTYPE = en_US。utf - 8 LC_NUMERIC = C # #[3]而= 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 = C LC_TELEPHONE = # # [11] LC_MEASUREMENT = en_US。utf - 8 LC_IDENTIFICATION = C附加基本包:# # # # # # [1]stats4统计图形grDevices跑龙套数据集方法# # # # # #[8]基地其他附加包:# # [1]testthat_3.1.0 SummarizedExperiment_1.24.0 # # [3] Biobase_2.54.0 GenomicRanges_1.46.0 # # [5] GenomeInfoDb_1.30.0 IRanges_2.28.0 # # [7] S4Vectors_0.32.0 BiocGenerics_0.40.0 # # [9] MatrixGenerics_1.6.0 matrixStats_0.61.0 # # [11] BiocStyle_2.22.0 # # # #通过加载一个名称空间(而不是附加):# # [1]highr_0.9 bslib_0.3.1 compiler_4.1.1 # # [4] BiocManager_1.30.16 jquerylib_0.1.4 XVector_0.34.0 # # [7] bitops_1.0-7 tools_4.1.1 zlibbioc_1.40.0 # # [10] pkgload_1.2.3 digest_0.6.28 jsonlite_1.7.2 # # [13] evaluate_0.14 lattice_0.20-45 rlang_0.4.12 # # [16] Matrix_1.3-4 DelayedArray_0.20.0 yaml_2.2.1 # # [19] xfun_0.27 fastmap_1.1.0 GenomeInfoDbData_1.2.7 # # [22] withr_2.4.2 stringr_1.4.0 knitr_1.36 # # [25] desc_1.4.0 sass_0.4.0 rprojroot_2.0.2 # # [28] grid_4.1.1 glue_1.4.2 R6_2.5.1 # # [31] rmarkdown_2.11 bookdown_0.24 waldo_0.3.1 # # [34] magrittr_2.0.1 htmltools_0.5.2 stringi_1.7.5 # # [37] rcurl_1.98 - 1.5 crayon_1.4.1