内容

1开始

SEtools包是一套方便的函数BioconductorSummarizedExperiment.它有助于合并、熔化和绘图SummarizedExperiment对象。

1.1包安装

如果(!requireNamespace("BiocManager", quiet = TRUE)) install.packages("BiocManager")::install("SEtools")

注意,热图相关的功能已经被移动到一个独立的包,sechm

或者,安装最新的开发版本:

BiocManager:安装(“身为/ SEtools”)

1.2示例数据

为了展示主要功能,我们将使用一个示例对象,其中包含不同压力源后小鼠的整个海马体RNAseq(一个子集):

suppressPackageStartupMessages({library(summarizeexperiment) library(SEtools)}) data("SE", package="SEtools") SE
##类:summarizeexperiment ## dim: 100 20 ##元数据(0):## assays(2):计数logcpm# # rownames(100): Egr1 Nr4a1…CH36-200G6.4 Bhlhe22 ## rowData names(2): meanCPM meanTPM ## colnames(20): HC.Homecage.1HC.Homecage。2…HC.Swim.4HC.Swim。5 ## colData names(2):区域条件

这是从Floriou-Servou等人,生物精神病学2018年

1.3合并和聚合se

se1 <- SE[,1:10] se2 <- SE[,11:20] se3 <- mergeSEs(list(se1=se1, se2=se2)) se3
##类:summarizeexperiment ## dim: 100 20 ##元数据(3):se1 se2 anno_colors ## assays(2):计数logcpm# # rownames(100): AC139063.2 Actr6…Zfp667 Zfp930 ## rowData names(2): meanCPM meanTPM ## colnames(20): se1.HC.Homecage。1 se1.HC.Homecage。2…se2.HC.Swim。游泳。5 ## colData名称(3):数据集区域条件

所有的分析被合并,连同rowData和colData插槽。

默认情况下,在合并时为每个对象计算行z分数。可以通过以下方法预防:

se3 <- merge (list(se1=se1, se2=se2), do.scale=FALSE)

如果存在多个测定方法,可以为每个测定方法指定不同的结垢行为:

se3 <- mergeSEs(list(se1=se1, se2=se2),使用。Assays =c("counts", "logcpm"), do。规模= c(假,真))

1.3.1通过rowData列合并

方法指定的rowData列也可以进行合并mergeBy论点。在这种情况下,可以有一对多映射和多对多映射,在这种情况下可能有两种行为:

  • 默认情况下,将报告所有组合,这意味着一个对象的相同特征可能在输出中出现多次,因为它与另一个对象的多个特征匹配。
  • 如果传递一个函数aggFun,每个对象的特征将被聚合mergeBy在合并之前使用此函数。
rowData(se1)$ metfeature <- sample(LETTERS,nrow(se1),replace = TRUE) rowData(se2)$ metfeature <- sample(LETTERS,nrow(se2),replace = TRUE) se3 <- mergeSEs(list(se1=se1, se2=se2), do。scale=FALSE, mergeBy=" metfeature ", aggFun=median)
通过元特征聚合对象
# #合并……
sechm:: sechm (se3特性= row.names (se3))

1.3.2聚合SE

方法还可以聚合单个SEaggSE功能:

se1b <- aggSE(se1, by = " metfeature ")
##每种检测的聚合方法:##计数:sum;logcpm: expsum
se1b
##类:summarizeexperiment ## dim: 24 10 ##元数据(0):## assays(2):计数logcpm# # rownames(24): A B…rowData name (0): ## colnames(10): hc . home ecage.1HC.Homecage。2…HC.Handling。4 ## hc .处理。5 ## colData names(2):区域条件

如果未指定聚合函数,则aggSE将尝试从化验名称猜出像样的聚合函数。


1.4SE融化

以方便绘制特征ggplot2,meltSE函数结合分析值与行/列数据:

d <- meltSE(SE,基因=row.names(SE)[1:4])头(d)
##特征样本区域条件计数logcpm# # 1 Egr1 HC.Homecage.1HC.Homecage 1581.0 4.4284969 ## 2 Nr4a1 HC.Homecage.1HC Homecage 750.0 3.6958917 ## 3 Fos HC.Homecage.1HC.Homecage 91.4 1.7556317 ## 4 Egr2 HC.Homecage.1HC.Homecage 15.1 0.5826999 ## 5 Egr1 HC.Homecage.2HC.Homecage 1423.0 4.4415828 ## 6 Nr4a1 HC.Homecage.2HC home ecage 841.0 3.9237691
suppressPackageStartupMessages(library(ggplot2)) ggplot(d, aes(Condition, counts, fill=Condition)) + geom_violin() + facet_wrap(~feature, scale="free")
一个从融化的SE创建的ggplot示例。

图1:一个从融化的SE创建的ggplot示例

1.5其他便利功能

计算对控制的对数折叠变化的分析:

SE <- log2FC(SE, fromAssay="logcpm", controls=SE$Condition=="Homecage")



会话信息

## 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统计图形grDevices跑龙套数据集方法# # # # # #[8]基地其他附加包:# # [1]ggplot2_3.3.5 SEtools_1.10.0 # # [3] SummarizedExperiment_1.26.0 Biobase_2.56.0 # # [5] GenomicRanges_1.48.0 GenomeInfoDb_1.32.0 # # [7] IRanges_2.30.0 S4Vectors_0.34.0 # # [9] BiocGenerics_0.42.0 MatrixGenerics_1.8.0 # # [11] matrixStats_0.62.0 BiocStyle_2.24.0 # # # #通过加载一个名称空间(而不是附加):## [13] codetools_0.2-18 splines_4.2.0 doParallel_1.0.17 ## [19] knitr_1. 0.6 sechm_1.4.0 geneplotter_1.74.0 ## [22] annotate_1.74.0 cluster_2.1.3 png_0.1-7 ## [25] BiocManager_1.30.17 compiler_4.2.0 httr_1.4.2 ## [28] assertthat_0.2.1 ## [10] GlobalOptions_0.1.2 clue_0.3-60 farver_2.1.0 ## [10] bit64_4.0.5 annotationdbie_1.58.0 fansi_1.0.3 ## [19] knitr_1. 0.6 sechm_1.4.0Matrix_1.4-1 fastmap_1.1.0 htmltools_0.5.2 ## [34] tools_4.2.0 gtable_0.3.0 glue_1.6.2 ## [37] GenomeInfoDbData_1.2.8 dplyr_1.0.8 V8_4.1.0 ## [40] Rcpp_1.0.8.3 jquerylib_0.1.4 vctrs_0.4.1 ## [43] Biostrings_2.64.0 nlme_1 .1-157 iterators_1.0.14 ## [46] xfun_0.30 string_1 .4.0 openxlsx_4.2.5 ## [49] lifecycle_1.0.1 XML_3.99-0.9 edgeR_3.38.0 ## [55] zlibbioc_1.42.0 scales_1.2.0 TSP_1.2-0 ## [55] parallel_4.2.0 RColorBrewer_1.1-3 ComplexHeatmap_2.12.0 ## [58]yaml_2.3.5 curl_4.3.2 memoise_2.0.1 ## [61] sass_0.4.1 stringi_1.7.6 RSQLite_2.2.12 ## [64] highr_0.9 randomcoloR_1.1.0.1 genefilter_1.78.0 ## [67] foreach_1.5.2 seriation_1.3.5 zip_2.2.0 ## [73] pkgconfig_1 .30.0 shape_1.4.6 rlang_1.0.2 ## [76] pkgconfig_1 .0.3 bitops_1.0-7 evaluate_0.15 ## [76] lattice_0.20-45 purrr_0.3.4 labeling_0.4.2 ## [79] bit_4.0.4 tidyselect_1.1.2 magrittr_2.0.3 ## [82] bookdown_0.26 DESeq2_1.36.0 R6_2.5.1 ## [85] magick_2.7.3 generics_0.1.2 DelayedArray_0.22.0 ## [88]DBI_1.1.2 withr_2.5.0 mgcv_1.8-40 ## [91] pillar_1.7.0 survival_3.3-1 KEGGREST_1.36.0 ## [94] RCurl_1.98-1.6 tibble_3.1.6 crayon_1.5.1 ## [97] utf8_1.2.2 rmarkdown_2.14 GetoptLong_1.0.5 ## [100] locfit_1.5-9.5 grid_4.2.0 sva_3.44.0 ## [103] data.table_1.14.2 blob_1.2.3 digest_0.6.29 ## [106] xtable_1.8-4 munsell_0.5.0 registry_0.5-1 ## [109] bslib_0.3.1