的HighlyReplicatedRNASeq包提供了从大量RNA-seq研究中访问计数矩阵的功能。例如,Schurch et al.(2016)的研究有86个S。酵母有两种情况。
要加载数据集,请调用Schurch16 ()
函数。它返回一个SummarizedExperiment:
schurch_se <- HighlyReplicatedRNASeq::Schurch16() #> snapshotDate(): 2022-10-24 #>见?HighlyReplicatedRNASeq和browseVignettes('HighlyReplicatedRNASeq')为文档#>加载从缓存#>见?HighlyReplicatedRNASeq和browseVignettes('HighlyReplicatedRNASeq')为文档#>加载从缓存schurch_se #>类:摘要实验#> dim: 7126 86 #>元数据(0):#> assays(1):数#> rownames(7126): 15S_rRNA 21S_rRNA…tY(GUA)O tY(GUA)Q #> rowData names(0): #> colnames(86): wildtype_01 wildtype_02…knockout_47 knockout_48 #> colData names(4): file_name条件复制名称
另一种完全相同的方法是直接从ExperimentHub加载数据
library(ExperimentHub) eh <- ExperimentHub() #> snapshotDate(): 2022-10-24记录<- query(eh,“HighlyReplicatedRNASeq”)记录[1]##显示第一个资源的元数据#> ExperimentHub带1记录#> # snapshotDate(): 2022-10-24 #> # names(): EH3315 #> # package(): HighlyReplicatedRNASeq #> # $dataprovider: Geoff Barton的组在GitHub #> # $species: Saccharomyces cerevisiae BY4741 #> # $rdataclass: matrix #> # $rdatadateadded: 2020-04-03 #> # $title:Schurch S. cerevesiae高复制批量rna -测序计数#> # $描述:86 S. cerere批量rna -测序数据集的计数矩阵…#> # $genome: Ensembl release 68 #> # $sourcetype: tar.gz #> # $sourceurl: https://github.com/bartongroup/profDGE48 #> # $sourcesize: NA #> # $tags:c("ExperimentHub", "ExperimentData", "ExpressionData", #> # "SequencingData", "RNASeqData") #> #检索记录与'对象[["EH3315"]]' count_matrix <- records[["EH3315"]]] ##加载计数矩阵的ID #>见?HighlyReplicatedRNASeq和browseVignettes('HighlyReplicatedRNASeq')为文档#>加载从缓存count_matrix[1:10,1:5] #> wildtype_01 wildtype_02 wildtype_03 wildtype_04 wildtype_05 #> 15S_rRNA 2 12 31 8 21 #> 21S_rRNA 20 76 101 99 128 #> HRA1 32 2 2 23 #> ICR1 75 123 107 157 98 #> LSR1 60 163 233 163 193 #> NME1 13 14 23 13 29 #> PWR1 00 00 00 #> Q0010 00 00 00 0 #> Q0032 00 00 00 00 0
它有7126个基因和86个样本。计数在0到467000之间。
summary(c(化验(schurch_se,“计数”)))#>最小第一曲度中位数平均第三曲度最大值#> 0 89 386 1229 924 467550
为了使数据更容易处理,我将对数据进行“规范化”。首先,我将其除以每个样本的平均值,以解释不同的测序深度。然后,我应用日志()
变换后加一个小数,避免取0的对数。
norm_counts <- assay(schurch_se, "counts") norm_counts <- log(norm_counts / colMeans(norm_counts) + 0.001)
转换后的数据的直方图看起来非常平滑:
Hist (norm_counts, breaks = 100)
最后,让我们来看看数据的ma图和火山图:
wt_mean <- rowMeans(norm_counts[, schurch_se$condition == "wildtype"]) ko_mean <- rowMeans(norm_counts[, schurch_se$condition == "knockout"]) plot((wt_mean+ ko_mean) / 2, wt_mean - ko_mean, pch = 16, cex = 0.4, col = "#00000050",帧。plot = FALSE) abline(h = 0)
pvalues <- sapply(seq_len(nrow(norm_counts)), function(idx){tryCatch(t.t etest (norm_counts[idx, schurch_se$condition == "wildtype"], norm_counts[idx, schurch_se$condition == "knockout"])$p。value, error = function(err) NA)}) plot(wt_mean - ko_mean, - log10(pvalues), pch = 16, cex = 0.5, col = "#00000050",帧。plot = FALSE)
sessionInfo() #> R version 4.2.1(2022-06-23) #>平台:x86_64-pc-linux-gnu (64-bit) #>运行在:Ubuntu 20.04.5 LTS #> #>矩阵产品:默认#> BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas。所以#> LAPACK: /home/biocbuild/bbs-3.16-bio /R/lib/libRlapack。so #> #> 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]基础#> #>其他附加包:#> [3] AnnotationHub_3.6.0 BiocFileCache_2.6.0 #> [5] dbplyr_2.2.1 SummarizedExperiment_1.28.0 #> [7] Biobase_2.58.0 genome icranges_1 .50.0 #> [11] [11] S4Vectors_0.36.0 BiocGenerics_0.44.0 #> [13] MatrixGenerics_1.10.0 matrixStats_0.62.0 #> [15] BiocStyle_2.26.0 #> #>通过命名空间加载(并且没有附加):# > [1] httr_1.4.4 sass_0.4.2 # > [3] bit64_4.0.5 jsonlite_1.8.3 # > [5] bslib_0.4.0 shiny_1.7.3 # > [7] assertthat_0.2.1 interactiveDisplayBase_1.36.0 # > [9] highr_0.9 BiocManager_1.30.19 # > [11] blob_1.2.3 GenomeInfoDbData_1.2.9 # > [13] yaml_2.3.6 BiocVersion_3.16.0 # > [15] lattice_0.20-45 pillar_1.8.1 # > [17] RSQLite_2.2.18 glue_1.6.2 # > [19] digest_0.6.30 promises_1.2.0.1 # > [21] XVector_0.38.0 htmltools_0.5.3 # > [23] httpuv_1.6.6 Matrix_1.5-1 # > [25] pkgconfig_2.0.3 magick_2.7.3 # > [27]bookdown_0.29 zlibbioc_1.44.0 #> [29] purrr_0.3.5 xtable_1.8 #> [31] later_1.3.0 tibble_3.1.8 #> [33] KEGGREST_1.38.0 generics_0.1.3 #> [35] ellipsis_0.3.2 withr_3 .4.1 #> [39] magrittr_2.0.3 crayon_1.5.2 #> [41] mime_0.12 memoise_2.0.1 #> [45] tools_4.2.1 lifecycle_1.0.3 #> [47] string_1 .4.1 DelayedArray_0.24.0 #> [49] AnnotationDbi_1.60.0 Biostrings_2.66.0 #> [51] compiler_4.2.1 jquerylib_0.1.4 #> [53] rlang_1.0.6 grid_4.2.1 #>[55] RCurl_1.98-1.9 rappdirs_0.3.3 #> [57] bitops_1.0-7 rmarkdown_2.17 #> [59] DBI_1.1.3 curl_4.3.3 #> [61] R6_2.5.1 knitr_1.40 #> [63] dplyr_1.0.10 fastmap_1.1.0 #> [65] bit_4.0.4 utf8_1.2.2 #> [67] filelock_1.0.2 stringi_1.7.8 #> [69] Rcpp_1.0.9 vctrs_0.5.0 #> [71] png_0.1-7 tidyselect_1.2.0 #> [73] xfun_0.34