From 9dad280080157c99107b84ae8298ef33a2b06cab Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 11 Nov 2024 16:51:54 +0000 Subject: [PATCH] markdown source builds Auto-generated via `{sandpaper}` Source : 88338949ef1f12b6b559586d5447424489e60370 Branch : main Author : Andrew Ghazi <6763470+andrewGhazi@users.noreply.github.com> Time : 2024-11-11 15:28:31 +0000 Message : comments --- ...-21_81720bcf9caf24fb5eaa8c1c7e296ee8.RData | Bin 3162 -> 0 bytes ...-21_da82ef66c6f5760ce3fcf73e906cfa36.RData | Bin 0 -> 5706 bytes ...k-21_da82ef66c6f5760ce3fcf73e906cfa36.rdb} | 0 ...k-21_da82ef66c6f5760ce3fcf73e906cfa36.rdx} | Bin cell_type_annotation.md | 234 +++++++------- eda_qc.md | 110 +++++++ ...lti-sample-rendered-unnamed-chunk-23-1.png | Bin 0 -> 37068 bytes ...lti-sample-rendered-unnamed-chunk-24-1.png | Bin 37068 -> 6955 bytes ...lti-sample-rendered-unnamed-chunk-24-2.png | Bin 0 -> 4901 bytes hca.md | 136 ++++++++ intro-sce.md | 89 ++++++ large_data.md | 290 +++++++++--------- md5sum.txt | 12 +- multi-sample.md | 205 +++++++------ 14 files changed, 705 insertions(+), 371 deletions(-) delete mode 100644 cache/unnamed-chunk-21_81720bcf9caf24fb5eaa8c1c7e296ee8.RData create mode 100644 cache/unnamed-chunk-21_da82ef66c6f5760ce3fcf73e906cfa36.RData rename cache/{unnamed-chunk-21_81720bcf9caf24fb5eaa8c1c7e296ee8.rdb => unnamed-chunk-21_da82ef66c6f5760ce3fcf73e906cfa36.rdb} (100%) rename cache/{unnamed-chunk-21_81720bcf9caf24fb5eaa8c1c7e296ee8.rdx => unnamed-chunk-21_da82ef66c6f5760ce3fcf73e906cfa36.rdx} (100%) create mode 100644 fig/multi-sample-rendered-unnamed-chunk-23-1.png create mode 100644 fig/multi-sample-rendered-unnamed-chunk-24-2.png diff --git a/cache/unnamed-chunk-21_81720bcf9caf24fb5eaa8c1c7e296ee8.RData b/cache/unnamed-chunk-21_81720bcf9caf24fb5eaa8c1c7e296ee8.RData deleted file mode 100644 index 23da18f83e45a701fc3e4d7c4c5199bfeb4fd64d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3162 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 ALjV8( diff --git a/cache/unnamed-chunk-21_da82ef66c6f5760ce3fcf73e906cfa36.RData b/cache/unnamed-chunk-21_da82ef66c6f5760ce3fcf73e906cfa36.RData new file mode 100644 index 0000000000000000000000000000000000000000..778a46b32b341dc6c46c3b52e5419f8bf50c56ad GIT binary patch literal 5706 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 literal 0 HcmV?d00001 diff --git a/cache/unnamed-chunk-21_81720bcf9caf24fb5eaa8c1c7e296ee8.rdb b/cache/unnamed-chunk-21_da82ef66c6f5760ce3fcf73e906cfa36.rdb similarity index 100% rename from cache/unnamed-chunk-21_81720bcf9caf24fb5eaa8c1c7e296ee8.rdb rename to cache/unnamed-chunk-21_da82ef66c6f5760ce3fcf73e906cfa36.rdb diff --git a/cache/unnamed-chunk-21_81720bcf9caf24fb5eaa8c1c7e296ee8.rdx b/cache/unnamed-chunk-21_da82ef66c6f5760ce3fcf73e906cfa36.rdx similarity index 100% rename from cache/unnamed-chunk-21_81720bcf9caf24fb5eaa8c1c7e296ee8.rdx rename to cache/unnamed-chunk-21_da82ef66c6f5760ce3fcf73e906cfa36.rdx diff --git a/cell_type_annotation.md b/cell_type_annotation.md index 3686ea5..35abf72 100644 --- a/cell_type_annotation.md +++ b/cell_type_annotation.md @@ -98,17 +98,15 @@ which the cells truly reside. After annotation based on marker genes, the clusters can be treated as proxies for more abstract biological concepts such as cell types or states. -Popularized by its use in -[Seurat](https://cran.r-project.org/web/packages/Seurat/index.html), -graph-based clustering is a flexible and scalable technique for -clustering large scRNA-seq datasets. We first build a graph where each -node is a cell that is connected to its nearest neighbors in the -high-dimensional space. Edges are weighted based on the similarity -between the cells involved, with higher weight given to cells that are -more closely related. We then apply algorithms to identify "communities" -of cells that are more connected to cells in the same community than -they are to cells of different communities. Each community represents a -cluster that we can use for downstream interpretation. +Graph-based clustering is a flexible and scalable technique for identifying +coherent groups of cells in large scRNA-seq datasets. We first build a graph +where each node is a cell that is connected to its nearest neighbors in the +high-dimensional space. Edges are weighted based on the similarity between the +cells involved, with higher weight given to cells that are more closely related. +We then apply algorithms to identify "communities" of cells that are more +connected to cells in the same community than they are to cells of different +communities. Each community represents a cluster that we can use for downstream +interpretation. Here, we use the `clusterCells()` function from the [scran](https://bioconductor.org/packages/scran) package to perform @@ -867,113 +865,6 @@ AUCell_exploreThresholds(cell.aucs[10:18], plotHist = TRUE, assign = TRUE) :::: -## Session Info - - -``` r -sessionInfo() -``` - -``` output -R version 4.4.1 (2024-06-14) -Platform: x86_64-pc-linux-gnu -Running under: Ubuntu 22.04.5 LTS - -Matrix products: default -BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 -LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0 - -locale: - [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 - [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 - [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C -[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C - -time zone: UTC -tzcode source: system (glibc) - -attached base packages: -[1] stats4 stats graphics grDevices utils datasets methods -[8] base - -other attached packages: - [1] GSEABase_1.66.0 graph_1.82.0 - [3] annotate_1.82.0 XML_3.99-0.16.1 - [5] AnnotationDbi_1.66.0 pheatmap_1.0.12 - [7] scran_1.32.0 scater_1.32.0 - [9] ggplot2_3.5.1 scuttle_1.14.0 -[11] bluster_1.14.0 SingleR_2.6.0 -[13] MouseGastrulationData_1.18.0 SpatialExperiment_1.14.0 -[15] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -[17] Biobase_2.64.0 GenomicRanges_1.56.0 -[19] GenomeInfoDb_1.40.1 IRanges_2.38.0 -[21] S4Vectors_0.42.0 BiocGenerics_0.50.0 -[23] MatrixGenerics_1.16.0 matrixStats_1.3.0 -[25] AUCell_1.26.0 BiocStyle_2.32.0 - -loaded via a namespace (and not attached): - [1] RColorBrewer_1.1-3 jsonlite_1.8.8 - [3] magrittr_2.0.3 ggbeeswarm_0.7.2 - [5] magick_2.8.3 farver_2.1.2 - [7] rmarkdown_2.27 zlibbioc_1.50.0 - [9] vctrs_0.6.5 memoise_2.0.1 - [11] DelayedMatrixStats_1.26.0 htmltools_0.5.8.1 - [13] S4Arrays_1.4.1 AnnotationHub_3.12.0 - [15] curl_5.2.1 BiocNeighbors_1.22.0 - [17] SparseArray_1.4.8 htmlwidgets_1.6.4 - [19] plotly_4.10.4 cachem_1.1.0 - [21] igraph_2.0.3 mime_0.12 - [23] lifecycle_1.0.4 pkgconfig_2.0.3 - [25] rsvd_1.0.5 Matrix_1.7-0 - [27] R6_2.5.1 fastmap_1.2.0 - [29] GenomeInfoDbData_1.2.12 digest_0.6.35 - [31] colorspace_2.1-0 dqrng_0.4.1 - [33] irlba_2.3.5.1 ExperimentHub_2.12.0 - [35] RSQLite_2.3.7 beachmat_2.20.0 - [37] labeling_0.4.3 filelock_1.0.3 - [39] fansi_1.0.6 httr_1.4.7 - [41] abind_1.4-5 compiler_4.4.1 - [43] bit64_4.0.5 withr_3.0.0 - [45] BiocParallel_1.38.0 viridis_0.6.5 - [47] DBI_1.2.3 highr_0.11 - [49] R.utils_2.12.3 MASS_7.3-60.2 - [51] rappdirs_0.3.3 DelayedArray_0.30.1 - [53] rjson_0.2.21 tools_4.4.1 - [55] vipor_0.4.7 beeswarm_0.4.0 - [57] R.oo_1.26.0 glue_1.7.0 - [59] nlme_3.1-164 grid_4.4.1 - [61] cluster_2.1.6 generics_0.1.3 - [63] gtable_0.3.5 R.methodsS3_1.8.2 - [65] tidyr_1.3.1 data.table_1.15.4 - [67] BiocSingular_1.20.0 ScaledMatrix_1.12.0 - [69] metapod_1.12.0 utf8_1.2.4 - [71] XVector_0.44.0 ggrepel_0.9.5 - [73] BiocVersion_3.19.1 pillar_1.9.0 - [75] limma_3.60.2 BumpyMatrix_1.12.0 - [77] splines_4.4.1 dplyr_1.1.4 - [79] BiocFileCache_2.12.0 lattice_0.22-6 - [81] survival_3.6-4 FNN_1.1.4 - [83] renv_1.0.10 bit_4.0.5 - [85] tidyselect_1.2.1 locfit_1.5-9.9 - [87] Biostrings_2.72.1 knitr_1.47 - [89] gridExtra_2.3 edgeR_4.2.0 - [91] xfun_0.44 mixtools_2.0.0 - [93] statmod_1.5.0 UCSC.utils_1.0.0 - [95] lazyeval_0.2.2 yaml_2.3.8 - [97] evaluate_0.23 codetools_0.2-20 - [99] kernlab_0.9-32 tibble_3.2.1 -[101] BiocManager_1.30.23 cli_3.6.2 -[103] uwot_0.2.2 xtable_1.8-4 -[105] segmented_2.1-0 munsell_0.5.1 -[107] Rcpp_1.0.12 dbplyr_2.5.0 -[109] png_0.1-8 parallel_4.4.1 -[111] blob_1.2.4 sparseMatrixStats_1.16.0 -[113] viridisLite_0.4.2 scales_1.3.0 -[115] purrr_1.0.2 crayon_1.5.2 -[117] rlang_1.1.3 cowplot_1.1.3 -[119] KEGGREST_1.44.0 -``` - ## Exercises ::: challenge @@ -1158,3 +1049,110 @@ Remember, this is an exploratory diagnostic, not the final word! At this point i - The *[AUCell](https://bioconductor.org/packages/3.19/AUCell)* package provides an enrichment test to identify curated marker sets that are highly expressed in each cell. ::: + +## Session Info + + +``` r +sessionInfo() +``` + +``` output +R version 4.4.1 (2024-06-14) +Platform: x86_64-pc-linux-gnu +Running under: Ubuntu 22.04.5 LTS + +Matrix products: default +BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 +LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0 + +locale: + [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 + [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 + [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C +[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C + +time zone: UTC +tzcode source: system (glibc) + +attached base packages: +[1] stats4 stats graphics grDevices utils datasets methods +[8] base + +other attached packages: + [1] GSEABase_1.66.0 graph_1.82.0 + [3] annotate_1.82.0 XML_3.99-0.16.1 + [5] AnnotationDbi_1.66.0 pheatmap_1.0.12 + [7] scran_1.32.0 scater_1.32.0 + [9] ggplot2_3.5.1 scuttle_1.14.0 +[11] bluster_1.14.0 SingleR_2.6.0 +[13] MouseGastrulationData_1.18.0 SpatialExperiment_1.14.0 +[15] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 +[17] Biobase_2.64.0 GenomicRanges_1.56.0 +[19] GenomeInfoDb_1.40.1 IRanges_2.38.0 +[21] S4Vectors_0.42.0 BiocGenerics_0.50.0 +[23] MatrixGenerics_1.16.0 matrixStats_1.3.0 +[25] AUCell_1.26.0 BiocStyle_2.32.0 + +loaded via a namespace (and not attached): + [1] RColorBrewer_1.1-3 jsonlite_1.8.8 + [3] magrittr_2.0.3 ggbeeswarm_0.7.2 + [5] magick_2.8.3 farver_2.1.2 + [7] rmarkdown_2.27 zlibbioc_1.50.0 + [9] vctrs_0.6.5 memoise_2.0.1 + [11] DelayedMatrixStats_1.26.0 htmltools_0.5.8.1 + [13] S4Arrays_1.4.1 AnnotationHub_3.12.0 + [15] curl_5.2.1 BiocNeighbors_1.22.0 + [17] SparseArray_1.4.8 htmlwidgets_1.6.4 + [19] plotly_4.10.4 cachem_1.1.0 + [21] igraph_2.0.3 mime_0.12 + [23] lifecycle_1.0.4 pkgconfig_2.0.3 + [25] rsvd_1.0.5 Matrix_1.7-0 + [27] R6_2.5.1 fastmap_1.2.0 + [29] GenomeInfoDbData_1.2.12 digest_0.6.35 + [31] colorspace_2.1-0 dqrng_0.4.1 + [33] irlba_2.3.5.1 ExperimentHub_2.12.0 + [35] RSQLite_2.3.7 beachmat_2.20.0 + [37] labeling_0.4.3 filelock_1.0.3 + [39] fansi_1.0.6 httr_1.4.7 + [41] abind_1.4-5 compiler_4.4.1 + [43] bit64_4.0.5 withr_3.0.0 + [45] BiocParallel_1.38.0 viridis_0.6.5 + [47] DBI_1.2.3 highr_0.11 + [49] R.utils_2.12.3 MASS_7.3-60.2 + [51] rappdirs_0.3.3 DelayedArray_0.30.1 + [53] rjson_0.2.21 tools_4.4.1 + [55] vipor_0.4.7 beeswarm_0.4.0 + [57] R.oo_1.26.0 glue_1.7.0 + [59] nlme_3.1-164 grid_4.4.1 + [61] cluster_2.1.6 generics_0.1.3 + [63] gtable_0.3.5 R.methodsS3_1.8.2 + [65] tidyr_1.3.1 data.table_1.15.4 + [67] BiocSingular_1.20.0 ScaledMatrix_1.12.0 + [69] metapod_1.12.0 utf8_1.2.4 + [71] XVector_0.44.0 ggrepel_0.9.5 + [73] BiocVersion_3.19.1 pillar_1.9.0 + [75] limma_3.60.2 BumpyMatrix_1.12.0 + [77] splines_4.4.1 dplyr_1.1.4 + [79] BiocFileCache_2.12.0 lattice_0.22-6 + [81] survival_3.6-4 FNN_1.1.4 + [83] renv_1.0.11 bit_4.0.5 + [85] tidyselect_1.2.1 locfit_1.5-9.9 + [87] Biostrings_2.72.1 knitr_1.47 + [89] gridExtra_2.3 edgeR_4.2.0 + [91] xfun_0.44 mixtools_2.0.0 + [93] statmod_1.5.0 UCSC.utils_1.0.0 + [95] lazyeval_0.2.2 yaml_2.3.8 + [97] evaluate_0.23 codetools_0.2-20 + [99] kernlab_0.9-32 tibble_3.2.1 +[101] BiocManager_1.30.23 cli_3.6.2 +[103] uwot_0.2.2 xtable_1.8-4 +[105] segmented_2.1-0 munsell_0.5.1 +[107] Rcpp_1.0.12 dbplyr_2.5.0 +[109] png_0.1-8 parallel_4.4.1 +[111] blob_1.2.4 sparseMatrixStats_1.16.0 +[113] viridisLite_0.4.2 scales_1.3.0 +[115] purrr_1.0.2 crayon_1.5.2 +[117] rlang_1.1.3 formatR_1.14 +[119] cowplot_1.1.3 KEGGREST_1.44.0 +``` diff --git a/eda_qc.md b/eda_qc.md index cb0e14a..e91f10c 100644 --- a/eda_qc.md +++ b/eda_qc.md @@ -1109,3 +1109,113 @@ Mathematically, this would require the data to fall on a two-dimensional plane ( [^2]: [Vallejos (2017)](learners/reference.md#litref) [^3]: [Lun (2016)](learners/reference.md#litref) +## Session Info + + +``` r +sessionInfo() +``` + +``` output +R version 4.4.1 (2024-06-14) +Platform: x86_64-pc-linux-gnu +Running under: Ubuntu 22.04.5 LTS + +Matrix products: default +BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 +LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0 + +locale: + [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 + [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 + [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C +[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C + +time zone: UTC +tzcode source: system (glibc) + +attached base packages: +[1] stats4 stats graphics grDevices utils datasets methods +[8] base + +other attached packages: + [1] scDblFinder_1.18.0 scran_1.32.0 + [3] scater_1.32.0 scuttle_1.14.0 + [5] EnsDb.Mmusculus.v79_2.99.0 ensembldb_2.28.0 + [7] AnnotationFilter_1.28.0 GenomicFeatures_1.56.0 + [9] AnnotationDbi_1.66.0 ggplot2_3.5.1 +[11] DropletUtils_1.24.0 MouseGastrulationData_1.18.0 +[13] SpatialExperiment_1.14.0 SingleCellExperiment_1.26.0 +[15] SummarizedExperiment_1.34.0 Biobase_2.64.0 +[17] GenomicRanges_1.56.0 GenomeInfoDb_1.40.1 +[19] IRanges_2.38.0 S4Vectors_0.42.0 +[21] BiocGenerics_0.50.0 MatrixGenerics_1.16.0 +[23] matrixStats_1.3.0 BiocStyle_2.32.0 + +loaded via a namespace (and not attached): + [1] jsonlite_1.8.8 magrittr_2.0.3 + [3] ggbeeswarm_0.7.2 magick_2.8.3 + [5] farver_2.1.2 rmarkdown_2.27 + [7] BiocIO_1.14.0 zlibbioc_1.50.0 + [9] vctrs_0.6.5 memoise_2.0.1 + [11] Rsamtools_2.20.0 DelayedMatrixStats_1.26.0 + [13] RCurl_1.98-1.14 htmltools_0.5.8.1 + [15] S4Arrays_1.4.1 AnnotationHub_3.12.0 + [17] curl_5.2.1 BiocNeighbors_1.22.0 + [19] xgboost_1.7.7.1 Rhdf5lib_1.26.0 + [21] SparseArray_1.4.8 rhdf5_2.48.0 + [23] cachem_1.1.0 GenomicAlignments_1.40.0 + [25] igraph_2.0.3 mime_0.12 + [27] lifecycle_1.0.4 pkgconfig_2.0.3 + [29] rsvd_1.0.5 Matrix_1.7-0 + [31] R6_2.5.1 fastmap_1.2.0 + [33] GenomeInfoDbData_1.2.12 digest_0.6.35 + [35] colorspace_2.1-0 dqrng_0.4.1 + [37] irlba_2.3.5.1 ExperimentHub_2.12.0 + [39] RSQLite_2.3.7 beachmat_2.20.0 + [41] labeling_0.4.3 filelock_1.0.3 + [43] fansi_1.0.6 httr_1.4.7 + [45] abind_1.4-5 compiler_4.4.1 + [47] bit64_4.0.5 withr_3.0.0 + [49] BiocParallel_1.38.0 viridis_0.6.5 + [51] DBI_1.2.3 highr_0.11 + [53] HDF5Array_1.32.0 R.utils_2.12.3 + [55] MASS_7.3-60.2 rappdirs_0.3.3 + [57] DelayedArray_0.30.1 bluster_1.14.0 + [59] rjson_0.2.21 tools_4.4.1 + [61] vipor_0.4.7 beeswarm_0.4.0 + [63] R.oo_1.26.0 glue_1.7.0 + [65] restfulr_0.0.15 rhdf5filters_1.16.0 + [67] grid_4.4.1 Rtsne_0.17 + [69] cluster_2.1.6 generics_0.1.3 + [71] gtable_0.3.5 R.methodsS3_1.8.2 + [73] data.table_1.15.4 metapod_1.12.0 + [75] BiocSingular_1.20.0 ScaledMatrix_1.12.0 + [77] utf8_1.2.4 XVector_0.44.0 + [79] ggrepel_0.9.5 BiocVersion_3.19.1 + [81] pillar_1.9.0 limma_3.60.2 + [83] BumpyMatrix_1.12.0 dplyr_1.1.4 + [85] BiocFileCache_2.12.0 lattice_0.22-6 + [87] FNN_1.1.4 renv_1.0.11 + [89] rtracklayer_1.64.0 bit_4.0.5 + [91] tidyselect_1.2.1 locfit_1.5-9.9 + [93] Biostrings_2.72.1 knitr_1.47 + [95] gridExtra_2.3 ProtGenerics_1.36.0 + [97] edgeR_4.2.0 xfun_0.44 + [99] statmod_1.5.0 UCSC.utils_1.0.0 +[101] lazyeval_0.2.2 yaml_2.3.8 +[103] evaluate_0.23 codetools_0.2-20 +[105] tibble_3.2.1 BiocManager_1.30.23 +[107] cli_3.6.2 uwot_0.2.2 +[109] munsell_0.5.1 Rcpp_1.0.12 +[111] dbplyr_2.5.0 png_0.1-8 +[113] XML_3.99-0.16.1 parallel_4.4.1 +[115] blob_1.2.4 sparseMatrixStats_1.16.0 +[117] bitops_1.0-7 viridisLite_0.4.2 +[119] scales_1.3.0 purrr_1.0.2 +[121] crayon_1.5.2 rlang_1.1.3 +[123] formatR_1.14 cowplot_1.1.3 +[125] KEGGREST_1.44.0 +``` + + diff --git a/fig/multi-sample-rendered-unnamed-chunk-23-1.png b/fig/multi-sample-rendered-unnamed-chunk-23-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e0aea8941255a15b607f0672fac7b8ed9bf5e14a GIT binary patch literal 37068 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 literal 37068 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 L3;M-+*Y5uX;LWUe literal 0 HcmV?d00001 diff --git a/hca.md b/hca.md index 2c2048e..aecacaa 100644 --- a/hca.md +++ b/hca.md @@ -545,3 +545,139 @@ You can see we don't get very many cells given the strict set of conditions we u :::::::::::::::::::::::::::::::::::::::::::::::: +## Session Info + + +``` r +sessionInfo() +``` + +``` output +R version 4.4.1 (2024-06-14) +Platform: x86_64-pc-linux-gnu +Running under: Ubuntu 22.04.5 LTS + +Matrix products: default +BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 +LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0 + +locale: + [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 + [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 + [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C +[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C + +time zone: UTC +tzcode source: system (glibc) + +attached base packages: +[1] stats4 stats graphics grDevices utils datasets methods +[8] base + +other attached packages: + [1] dplyr_1.1.4 CuratedAtlasQueryR_1.2.0 + [3] scDblFinder_1.18.0 scran_1.32.0 + [5] scater_1.32.0 ggplot2_3.5.1 + [7] scuttle_1.14.0 EnsDb.Mmusculus.v79_2.99.0 + [9] ensembldb_2.28.0 AnnotationFilter_1.28.0 +[11] GenomicFeatures_1.56.0 AnnotationDbi_1.66.0 +[13] DropletUtils_1.24.0 MouseGastrulationData_1.18.0 +[15] SpatialExperiment_1.14.0 SingleCellExperiment_1.26.0 +[17] SummarizedExperiment_1.34.0 Biobase_2.64.0 +[19] GenomicRanges_1.56.0 GenomeInfoDb_1.40.1 +[21] IRanges_2.38.0 S4Vectors_0.42.0 +[23] BiocGenerics_0.50.0 MatrixGenerics_1.16.0 +[25] matrixStats_1.3.0 BiocStyle_2.32.0 + +loaded via a namespace (and not attached): + [1] spatstat.sparse_3.0-3 ProtGenerics_1.36.0 + [3] bitops_1.0-7 httr_1.4.7 + [5] RColorBrewer_1.1-3 tools_4.4.1 + [7] sctransform_0.4.1 utf8_1.2.4 + [9] R6_2.5.1 HDF5Array_1.32.0 + [11] uwot_0.2.2 lazyeval_0.2.2 + [13] rhdf5filters_1.16.0 withr_3.0.0 + [15] sp_2.1-4 gridExtra_2.3 + [17] progressr_0.14.0 cli_3.6.2 + [19] formatR_1.14 spatstat.explore_3.2-7 + [21] fastDummies_1.7.3 Seurat_5.1.0 + [23] spatstat.data_3.0-4 ggridges_0.5.6 + [25] pbapply_1.7-2 Rsamtools_2.20.0 + [27] R.utils_2.12.3 parallelly_1.37.1 + [29] limma_3.60.2 RSQLite_2.3.7 + [31] generics_0.1.3 BiocIO_1.14.0 + [33] spatstat.random_3.2-3 ica_1.0-3 + [35] Matrix_1.7-0 ggbeeswarm_0.7.2 + [37] fansi_1.0.6 abind_1.4-5 + [39] R.methodsS3_1.8.2 lifecycle_1.0.4 + [41] yaml_2.3.8 edgeR_4.2.0 + [43] rhdf5_2.48.0 SparseArray_1.4.8 + [45] BiocFileCache_2.12.0 Rtsne_0.17 + [47] grid_4.4.1 blob_1.2.4 + [49] promises_1.3.0 dqrng_0.4.1 + [51] ExperimentHub_2.12.0 crayon_1.5.2 + [53] miniUI_0.1.1.1 lattice_0.22-6 + [55] beachmat_2.20.0 cowplot_1.1.3 + [57] KEGGREST_1.44.0 magick_2.8.3 + [59] pillar_1.9.0 knitr_1.47 + [61] metapod_1.12.0 rjson_0.2.21 + [63] xgboost_1.7.7.1 future.apply_1.11.2 + [65] codetools_0.2-20 leiden_0.4.3.1 + [67] glue_1.7.0 data.table_1.15.4 + [69] vctrs_0.6.5 png_0.1-8 + [71] spam_2.10-0 gtable_0.3.5 + [73] assertthat_0.2.1 cachem_1.1.0 + [75] xfun_0.44 S4Arrays_1.4.1 + [77] mime_0.12 survival_3.6-4 + [79] statmod_1.5.0 bluster_1.14.0 + [81] fitdistrplus_1.1-11 ROCR_1.0-11 + [83] nlme_3.1-164 bit64_4.0.5 + [85] filelock_1.0.3 RcppAnnoy_0.0.22 + [87] BumpyMatrix_1.12.0 irlba_2.3.5.1 + [89] vipor_0.4.7 KernSmooth_2.23-24 + [91] colorspace_2.1-0 DBI_1.2.3 + [93] duckdb_0.10.2 tidyselect_1.2.1 + [95] bit_4.0.5 compiler_4.4.1 + [97] curl_5.2.1 BiocNeighbors_1.22.0 + [99] DelayedArray_0.30.1 plotly_4.10.4 +[101] rtracklayer_1.64.0 scales_1.3.0 +[103] lmtest_0.9-40 rappdirs_0.3.3 +[105] goftest_1.2-3 stringr_1.5.1 +[107] digest_0.6.35 spatstat.utils_3.0-4 +[109] rmarkdown_2.27 XVector_0.44.0 +[111] htmltools_0.5.8.1 pkgconfig_2.0.3 +[113] sparseMatrixStats_1.16.0 highr_0.11 +[115] dbplyr_2.5.0 fastmap_1.2.0 +[117] rlang_1.1.3 htmlwidgets_1.6.4 +[119] UCSC.utils_1.0.0 shiny_1.8.1.1 +[121] DelayedMatrixStats_1.26.0 zoo_1.8-12 +[123] jsonlite_1.8.8 BiocParallel_1.38.0 +[125] R.oo_1.26.0 BiocSingular_1.20.0 +[127] RCurl_1.98-1.14 magrittr_2.0.3 +[129] GenomeInfoDbData_1.2.12 dotCall64_1.1-1 +[131] patchwork_1.2.0 Rhdf5lib_1.26.0 +[133] munsell_0.5.1 Rcpp_1.0.12 +[135] viridis_0.6.5 reticulate_1.37.0 +[137] stringi_1.8.4 zlibbioc_1.50.0 +[139] MASS_7.3-60.2 AnnotationHub_3.12.0 +[141] plyr_1.8.9 parallel_4.4.1 +[143] listenv_0.9.1 ggrepel_0.9.5 +[145] deldir_2.0-4 Biostrings_2.72.1 +[147] splines_4.4.1 tensor_1.5 +[149] locfit_1.5-9.9 igraph_2.0.3 +[151] spatstat.geom_3.2-9 RcppHNSW_0.6.0 +[153] reshape2_1.4.4 ScaledMatrix_1.12.0 +[155] BiocVersion_3.19.1 XML_3.99-0.16.1 +[157] evaluate_0.23 SeuratObject_5.0.2 +[159] renv_1.0.11 BiocManager_1.30.23 +[161] httpuv_1.6.15 polyclip_1.10-6 +[163] RANN_2.6.1 tidyr_1.3.1 +[165] purrr_1.0.2 future_1.33.2 +[167] scattermore_1.2 rsvd_1.0.5 +[169] xtable_1.8-4 restfulr_0.0.15 +[171] RSpectra_0.16-1 later_1.3.2 +[173] viridisLite_0.4.2 tibble_3.2.1 +[175] memoise_2.0.1 beeswarm_0.4.0 +[177] GenomicAlignments_1.40.0 cluster_2.1.6 +[179] globals_0.16.3 +``` diff --git a/intro-sce.md b/intro-sce.md index f534905..27f61e8 100644 --- a/intro-sce.md +++ b/intro-sce.md @@ -428,3 +428,92 @@ altExpNames(0): 1. Pijuan-Sala B, Griffiths JA, Guibentif C et al. (2019). A single-cell molecular map of mouse gastrulation and early organogenesis. Nature 566, 7745:490-495. +## Session Info + + +``` r +sessionInfo() +``` + +``` output +R version 4.4.1 (2024-06-14) +Platform: x86_64-pc-linux-gnu +Running under: Ubuntu 22.04.5 LTS + +Matrix products: default +BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 +LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0 + +locale: + [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 + [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 + [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C +[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C + +time zone: UTC +tzcode source: system (glibc) + +attached base packages: +[1] stats4 stats graphics grDevices utils datasets methods +[8] base + +other attached packages: + [1] scater_1.32.0 ggplot2_3.5.1 + [3] scuttle_1.14.0 MouseGastrulationData_1.18.0 + [5] SpatialExperiment_1.14.0 SingleCellExperiment_1.26.0 + [7] SummarizedExperiment_1.34.0 Biobase_2.64.0 + [9] GenomicRanges_1.56.0 GenomeInfoDb_1.40.1 +[11] IRanges_2.38.0 S4Vectors_0.42.0 +[13] BiocGenerics_0.50.0 MatrixGenerics_1.16.0 +[15] matrixStats_1.3.0 BiocStyle_2.32.0 + +loaded via a namespace (and not attached): + [1] DBI_1.2.3 formatR_1.14 + [3] gridExtra_2.3 rlang_1.1.3 + [5] magrittr_2.0.3 compiler_4.4.1 + [7] RSQLite_2.3.7 DelayedMatrixStats_1.26.0 + [9] png_0.1-8 vctrs_0.6.5 +[11] pkgconfig_2.0.3 crayon_1.5.2 +[13] fastmap_1.2.0 dbplyr_2.5.0 +[15] magick_2.8.3 XVector_0.44.0 +[17] labeling_0.4.3 utf8_1.2.4 +[19] rmarkdown_2.27 UCSC.utils_1.0.0 +[21] ggbeeswarm_0.7.2 purrr_1.0.2 +[23] bit_4.0.5 xfun_0.44 +[25] zlibbioc_1.50.0 cachem_1.1.0 +[27] beachmat_2.20.0 jsonlite_1.8.8 +[29] blob_1.2.4 highr_0.11 +[31] DelayedArray_0.30.1 BiocParallel_1.38.0 +[33] irlba_2.3.5.1 parallel_4.4.1 +[35] R6_2.5.1 Rcpp_1.0.12 +[37] knitr_1.47 Matrix_1.7-0 +[39] tidyselect_1.2.1 viridis_0.6.5 +[41] abind_1.4-5 yaml_2.3.8 +[43] codetools_0.2-20 curl_5.2.1 +[45] lattice_0.22-6 tibble_3.2.1 +[47] withr_3.0.0 KEGGREST_1.44.0 +[49] BumpyMatrix_1.12.0 evaluate_0.23 +[51] BiocFileCache_2.12.0 ExperimentHub_2.12.0 +[53] Biostrings_2.72.1 pillar_1.9.0 +[55] BiocManager_1.30.23 filelock_1.0.3 +[57] renv_1.0.11 generics_0.1.3 +[59] BiocVersion_3.19.1 sparseMatrixStats_1.16.0 +[61] munsell_0.5.1 scales_1.3.0 +[63] glue_1.7.0 tools_4.4.1 +[65] AnnotationHub_3.12.0 BiocNeighbors_1.22.0 +[67] ScaledMatrix_1.12.0 cowplot_1.1.3 +[69] grid_4.4.1 AnnotationDbi_1.66.0 +[71] colorspace_2.1-0 GenomeInfoDbData_1.2.12 +[73] beeswarm_0.4.0 BiocSingular_1.20.0 +[75] vipor_0.4.7 cli_3.6.2 +[77] rsvd_1.0.5 rappdirs_0.3.3 +[79] fansi_1.0.6 viridisLite_0.4.2 +[81] S4Arrays_1.4.1 dplyr_1.1.4 +[83] gtable_0.3.5 digest_0.6.35 +[85] ggrepel_0.9.5 SparseArray_1.4.8 +[87] farver_2.1.2 rjson_0.2.21 +[89] memoise_2.0.1 htmltools_0.5.8.1 +[91] lifecycle_1.0.4 httr_1.4.7 +[93] mime_0.12 bit64_4.0.5 +``` + diff --git a/large_data.md b/large_data.md index bc9b1bf..8df7370 100644 --- a/large_data.md +++ b/large_data.md @@ -438,22 +438,21 @@ table(exact = colLabels(sce), approx = clusters) ``` output approx -exact 1 2 3 4 5 6 7 8 9 10 11 12 13 14 - 1 88 0 0 0 0 0 0 2 0 0 0 0 0 0 - 2 0 86 0 0 0 0 0 0 0 0 0 0 0 0 - 3 0 57 75 1 0 0 0 0 0 0 0 1 0 0 - 4 0 0 0 341 0 0 0 0 0 0 0 0 0 0 - 5 0 0 0 0 176 0 0 0 0 0 0 11 0 0 - 6 0 0 0 0 0 73 128 0 0 1 0 0 0 0 - 7 0 0 0 0 0 253 0 0 1 0 0 0 0 0 - 8 1 0 0 0 0 0 0 106 0 0 0 1 0 0 - 9 0 0 0 0 0 0 0 0 113 0 10 0 0 0 - 10 0 0 0 0 0 0 0 0 0 153 0 0 0 0 - 11 0 0 0 0 0 0 0 0 0 0 198 0 0 0 - 12 0 0 0 0 0 0 0 0 1 0 0 312 0 0 - 13 0 0 0 0 0 0 0 0 0 0 0 0 146 0 - 14 0 0 0 0 0 0 0 0 0 0 0 0 0 20 - 15 0 0 0 56 0 0 0 0 0 0 0 0 0 0 +exact 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + 1 91 0 0 0 0 0 0 0 0 0 0 1 0 0 0 + 2 0 143 0 0 0 0 0 0 0 0 0 0 0 0 1 + 3 0 0 75 0 0 0 0 0 0 0 0 0 0 0 0 + 4 0 0 0 341 0 0 0 0 0 0 0 0 0 0 56 + 5 0 0 2 0 74 0 0 0 0 0 0 320 0 0 0 + 6 0 0 0 0 0 81 246 0 0 0 2 0 0 0 0 + 7 0 0 0 0 0 128 0 0 0 0 0 0 0 0 0 + 8 0 0 0 0 95 0 0 0 0 0 0 0 0 0 0 + 9 0 0 0 0 0 0 0 108 0 0 0 1 0 0 0 + 10 0 0 0 0 0 0 0 0 113 0 0 0 0 0 0 + 11 0 0 0 0 0 2 0 0 7 139 0 0 6 0 0 + 12 0 0 0 0 7 0 0 0 0 0 205 1 0 0 0 + 13 0 0 0 0 0 0 2 0 0 0 0 0 143 0 1 + 14 0 0 0 0 0 0 0 0 0 0 0 0 0 20 0 ``` The similarity of the two clusterings can be quantified by calculating the pairwise Rand index: @@ -810,135 +809,6 @@ The resulting H5AD file can then be read into Python using scanpy's [read_h5ad](https://scanpy.readthedocs.io/en/stable/generated/scanpy.read_h5ad.html) function and then directly used in compatible Python-based analysis frameworks. -## Session Info - - -``` r -sessionInfo() -``` - -``` output -R version 4.4.1 (2024-06-14) -Platform: x86_64-pc-linux-gnu -Running under: Ubuntu 22.04.5 LTS - -Matrix products: default -BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 -LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0 - -locale: - [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 - [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 - [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C -[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C - -time zone: UTC -tzcode source: system (glibc) - -attached base packages: -[1] stats4 stats graphics grDevices utils datasets methods -[8] base - -other attached packages: - [1] zellkonverter_1.14.0 Seurat_5.1.0 - [3] SeuratObject_5.0.2 sp_2.1-4 - [5] BiocSingular_1.20.0 BiocNeighbors_1.22.0 - [7] bluster_1.14.0 scran_1.32.0 - [9] MouseGastrulationData_1.18.0 SpatialExperiment_1.14.0 -[11] BiocParallel_1.38.0 scater_1.32.0 -[13] ggplot2_3.5.1 scuttle_1.14.0 -[15] TENxBrainData_1.24.0 HDF5Array_1.32.0 -[17] rhdf5_2.48.0 DelayedArray_0.30.1 -[19] SparseArray_1.4.8 S4Arrays_1.4.1 -[21] abind_1.4-5 Matrix_1.7-0 -[23] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -[25] Biobase_2.64.0 GenomicRanges_1.56.0 -[27] GenomeInfoDb_1.40.1 IRanges_2.38.0 -[29] S4Vectors_0.42.0 BiocGenerics_0.50.0 -[31] MatrixGenerics_1.16.0 matrixStats_1.3.0 -[33] BiocStyle_2.32.0 - -loaded via a namespace (and not attached): - [1] spatstat.sparse_3.0-3 httr_1.4.7 - [3] RColorBrewer_1.1-3 tools_4.4.1 - [5] sctransform_0.4.1 utf8_1.2.4 - [7] R6_2.5.1 lazyeval_0.2.2 - [9] uwot_0.2.2 rhdf5filters_1.16.0 - [11] withr_3.0.0 gridExtra_2.3 - [13] progressr_0.14.0 cli_3.6.2 - [15] spatstat.explore_3.2-7 fastDummies_1.7.3 - [17] labeling_0.4.3 spatstat.data_3.0-4 - [19] ggridges_0.5.6 pbapply_1.7-2 - [21] parallelly_1.37.1 limma_3.60.2 - [23] RSQLite_2.3.7 generics_0.1.3 - [25] ica_1.0-3 spatstat.random_3.2-3 - [27] dplyr_1.1.4 ggbeeswarm_0.7.2 - [29] fansi_1.0.6 lifecycle_1.0.4 - [31] yaml_2.3.8 edgeR_4.2.0 - [33] BiocFileCache_2.12.0 Rtsne_0.17 - [35] grid_4.4.1 blob_1.2.4 - [37] promises_1.3.0 dqrng_0.4.1 - [39] ExperimentHub_2.12.0 crayon_1.5.2 - [41] dir.expiry_1.12.0 miniUI_0.1.1.1 - [43] lattice_0.22-6 beachmat_2.20.0 - [45] cowplot_1.1.3 KEGGREST_1.44.0 - [47] magick_2.8.3 pillar_1.9.0 - [49] knitr_1.47 metapod_1.12.0 - [51] rjson_0.2.21 future.apply_1.11.2 - [53] codetools_0.2-20 leiden_0.4.3.1 - [55] glue_1.7.0 data.table_1.15.4 - [57] vctrs_0.6.5 png_0.1-8 - [59] spam_2.10-0 gtable_0.3.5 - [61] cachem_1.1.0 xfun_0.44 - [63] mime_0.12 survival_3.6-4 - [65] statmod_1.5.0 fitdistrplus_1.1-11 - [67] ROCR_1.0-11 nlme_3.1-164 - [69] bit64_4.0.5 filelock_1.0.3 - [71] RcppAnnoy_0.0.22 BumpyMatrix_1.12.0 - [73] irlba_2.3.5.1 vipor_0.4.7 - [75] KernSmooth_2.23-24 colorspace_2.1-0 - [77] DBI_1.2.3 tidyselect_1.2.1 - [79] bit_4.0.5 compiler_4.4.1 - [81] curl_5.2.1 basilisk.utils_1.16.0 - [83] plotly_4.10.4 scales_1.3.0 - [85] lmtest_0.9-40 rappdirs_0.3.3 - [87] stringr_1.5.1 digest_0.6.35 - [89] goftest_1.2-3 spatstat.utils_3.0-4 - [91] rmarkdown_2.27 basilisk_1.16.0 - [93] XVector_0.44.0 htmltools_0.5.8.1 - [95] pkgconfig_2.0.3 sparseMatrixStats_1.16.0 - [97] highr_0.11 dbplyr_2.5.0 - [99] fastmap_1.2.0 rlang_1.1.3 -[101] htmlwidgets_1.6.4 UCSC.utils_1.0.0 -[103] shiny_1.8.1.1 DelayedMatrixStats_1.26.0 -[105] farver_2.1.2 zoo_1.8-12 -[107] jsonlite_1.8.8 magrittr_2.0.3 -[109] GenomeInfoDbData_1.2.12 dotCall64_1.1-1 -[111] patchwork_1.2.0 Rhdf5lib_1.26.0 -[113] munsell_0.5.1 Rcpp_1.0.12 -[115] viridis_0.6.5 reticulate_1.37.0 -[117] stringi_1.8.4 zlibbioc_1.50.0 -[119] MASS_7.3-60.2 AnnotationHub_3.12.0 -[121] plyr_1.8.9 parallel_4.4.1 -[123] listenv_0.9.1 ggrepel_0.9.5 -[125] deldir_2.0-4 Biostrings_2.72.1 -[127] splines_4.4.1 tensor_1.5 -[129] locfit_1.5-9.9 igraph_2.0.3 -[131] spatstat.geom_3.2-9 RcppHNSW_0.6.0 -[133] reshape2_1.4.4 ScaledMatrix_1.12.0 -[135] BiocVersion_3.19.1 evaluate_0.23 -[137] renv_1.0.10 BiocManager_1.30.23 -[139] httpuv_1.6.15 RANN_2.6.1 -[141] tidyr_1.3.1 purrr_1.0.2 -[143] polyclip_1.10-6 future_1.33.2 -[145] scattermore_1.2 rsvd_1.0.5 -[147] xtable_1.8-4 RSpectra_0.16-1 -[149] later_1.3.2 viridisLite_0.4.2 -[151] tibble_3.2.1 memoise_2.0.1 -[153] beeswarm_0.4.0 AnnotationDbi_1.66.0 -[155] cluster_2.1.6 globals_0.16.3 -``` - ## Exercises @@ -1066,3 +936,133 @@ system.time({i.out <- runPCA(sce.brain, - Converter functions between existing single-cell data formats enable analysis workflows that leverage complementary functionality from poplular single-cell analysis ecosystems. :::::::::::::::::::::::::::::::::::::::::::::::: + +## Session Info + + +``` r +sessionInfo() +``` + +``` output +R version 4.4.1 (2024-06-14) +Platform: x86_64-pc-linux-gnu +Running under: Ubuntu 22.04.5 LTS + +Matrix products: default +BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 +LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0 + +locale: + [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 + [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 + [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C +[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C + +time zone: UTC +tzcode source: system (glibc) + +attached base packages: +[1] stats4 stats graphics grDevices utils datasets methods +[8] base + +other attached packages: + [1] zellkonverter_1.14.0 Seurat_5.1.0 + [3] SeuratObject_5.0.2 sp_2.1-4 + [5] BiocSingular_1.20.0 BiocNeighbors_1.22.0 + [7] bluster_1.14.0 scran_1.32.0 + [9] MouseGastrulationData_1.18.0 SpatialExperiment_1.14.0 +[11] BiocParallel_1.38.0 scater_1.32.0 +[13] ggplot2_3.5.1 scuttle_1.14.0 +[15] TENxBrainData_1.24.0 HDF5Array_1.32.0 +[17] rhdf5_2.48.0 DelayedArray_0.30.1 +[19] SparseArray_1.4.8 S4Arrays_1.4.1 +[21] abind_1.4-5 Matrix_1.7-0 +[23] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 +[25] Biobase_2.64.0 GenomicRanges_1.56.0 +[27] GenomeInfoDb_1.40.1 IRanges_2.38.0 +[29] S4Vectors_0.42.0 BiocGenerics_0.50.0 +[31] MatrixGenerics_1.16.0 matrixStats_1.3.0 +[33] BiocStyle_2.32.0 + +loaded via a namespace (and not attached): + [1] spatstat.sparse_3.0-3 httr_1.4.7 + [3] RColorBrewer_1.1-3 tools_4.4.1 + [5] sctransform_0.4.1 utf8_1.2.4 + [7] R6_2.5.1 lazyeval_0.2.2 + [9] uwot_0.2.2 rhdf5filters_1.16.0 + [11] withr_3.0.0 gridExtra_2.3 + [13] progressr_0.14.0 cli_3.6.2 + [15] formatR_1.14 spatstat.explore_3.2-7 + [17] fastDummies_1.7.3 labeling_0.4.3 + [19] spatstat.data_3.0-4 ggridges_0.5.6 + [21] pbapply_1.7-2 parallelly_1.37.1 + [23] limma_3.60.2 RSQLite_2.3.7 + [25] generics_0.1.3 ica_1.0-3 + [27] spatstat.random_3.2-3 dplyr_1.1.4 + [29] ggbeeswarm_0.7.2 fansi_1.0.6 + [31] lifecycle_1.0.4 yaml_2.3.8 + [33] edgeR_4.2.0 BiocFileCache_2.12.0 + [35] Rtsne_0.17 grid_4.4.1 + [37] blob_1.2.4 promises_1.3.0 + [39] dqrng_0.4.1 ExperimentHub_2.12.0 + [41] crayon_1.5.2 dir.expiry_1.12.0 + [43] miniUI_0.1.1.1 lattice_0.22-6 + [45] beachmat_2.20.0 cowplot_1.1.3 + [47] KEGGREST_1.44.0 magick_2.8.3 + [49] pillar_1.9.0 knitr_1.47 + [51] metapod_1.12.0 rjson_0.2.21 + [53] future.apply_1.11.2 codetools_0.2-20 + [55] leiden_0.4.3.1 glue_1.7.0 + [57] data.table_1.15.4 vctrs_0.6.5 + [59] png_0.1-8 spam_2.10-0 + [61] gtable_0.3.5 cachem_1.1.0 + [63] xfun_0.44 mime_0.12 + [65] survival_3.6-4 statmod_1.5.0 + [67] fitdistrplus_1.1-11 ROCR_1.0-11 + [69] nlme_3.1-164 bit64_4.0.5 + [71] filelock_1.0.3 RcppAnnoy_0.0.22 + [73] BumpyMatrix_1.12.0 irlba_2.3.5.1 + [75] vipor_0.4.7 KernSmooth_2.23-24 + [77] colorspace_2.1-0 DBI_1.2.3 + [79] tidyselect_1.2.1 bit_4.0.5 + [81] compiler_4.4.1 curl_5.2.1 + [83] basilisk.utils_1.16.0 plotly_4.10.4 + [85] scales_1.3.0 lmtest_0.9-40 + [87] rappdirs_0.3.3 stringr_1.5.1 + [89] digest_0.6.35 goftest_1.2-3 + [91] spatstat.utils_3.0-4 rmarkdown_2.27 + [93] basilisk_1.16.0 XVector_0.44.0 + [95] htmltools_0.5.8.1 pkgconfig_2.0.3 + [97] sparseMatrixStats_1.16.0 highr_0.11 + [99] dbplyr_2.5.0 fastmap_1.2.0 +[101] rlang_1.1.3 htmlwidgets_1.6.4 +[103] UCSC.utils_1.0.0 shiny_1.8.1.1 +[105] DelayedMatrixStats_1.26.0 farver_2.1.2 +[107] zoo_1.8-12 jsonlite_1.8.8 +[109] magrittr_2.0.3 GenomeInfoDbData_1.2.12 +[111] dotCall64_1.1-1 patchwork_1.2.0 +[113] Rhdf5lib_1.26.0 munsell_0.5.1 +[115] Rcpp_1.0.12 viridis_0.6.5 +[117] reticulate_1.37.0 stringi_1.8.4 +[119] zlibbioc_1.50.0 MASS_7.3-60.2 +[121] AnnotationHub_3.12.0 plyr_1.8.9 +[123] parallel_4.4.1 listenv_0.9.1 +[125] ggrepel_0.9.5 deldir_2.0-4 +[127] Biostrings_2.72.1 splines_4.4.1 +[129] tensor_1.5 locfit_1.5-9.9 +[131] igraph_2.0.3 spatstat.geom_3.2-9 +[133] RcppHNSW_0.6.0 reshape2_1.4.4 +[135] ScaledMatrix_1.12.0 BiocVersion_3.19.1 +[137] evaluate_0.23 renv_1.0.11 +[139] BiocManager_1.30.23 httpuv_1.6.15 +[141] RANN_2.6.1 tidyr_1.3.1 +[143] purrr_1.0.2 polyclip_1.10-6 +[145] future_1.33.2 scattermore_1.2 +[147] rsvd_1.0.5 xtable_1.8-4 +[149] RSpectra_0.16-1 later_1.3.2 +[151] viridisLite_0.4.2 tibble_3.2.1 +[153] memoise_2.0.1 beeswarm_0.4.0 +[155] AnnotationDbi_1.66.0 cluster_2.1.6 +[157] globals_0.16.3 +``` diff --git a/md5sum.txt b/md5sum.txt index 8efa134..dadd932 100644 --- a/md5sum.txt +++ b/md5sum.txt @@ -4,12 +4,12 @@ "config.yaml" "b0d664d3d6abdd0e98b16282e1c03107" "site/built/config.yaml" "2024-09-24" "index.md" "1a5a4a9032969ed06a606ba9cba366b1" "site/built/index.md" "2024-10-04" "links.md" "8184cf4149eafbf03ce8da8ff0778c14" "site/built/links.md" "2024-09-24" -"episodes/intro-sce.Rmd" "4403772aa3b476575ca795b48f04e4f4" "site/built/intro-sce.md" "2024-10-07" -"episodes/eda_qc.Rmd" "1e9e1a4dd2bd8fcd43a118eba9b2a4ae" "site/built/eda_qc.md" "2024-10-11" -"episodes/cell_type_annotation.Rmd" "81fc89d0340642aa883149f3330c82d0" "site/built/cell_type_annotation.md" "2024-10-11" -"episodes/multi-sample.Rmd" "6d47bd1941b7a83000873da8d836fba0" "site/built/multi-sample.md" "2024-10-04" -"episodes/large_data.Rmd" "e3295a682af24d014423fa82b3f70e6e" "site/built/large_data.md" "2024-10-07" -"episodes/hca.Rmd" "1577de2f4a851c7e99e3a8459230d6f1" "site/built/hca.md" "2024-10-04" +"episodes/intro-sce.Rmd" "88de9550fb00214022d4d0ada77a964b" "site/built/intro-sce.md" "2024-11-11" +"episodes/eda_qc.Rmd" "1ea032eab862e75d5f3adefa23197a3d" "site/built/eda_qc.md" "2024-11-11" +"episodes/cell_type_annotation.Rmd" "68a299eb32d85b6a30af9215e7a941ca" "site/built/cell_type_annotation.md" "2024-11-11" +"episodes/multi-sample.Rmd" "4422d860318f365ac88f7d7f0253b47a" "site/built/multi-sample.md" "2024-11-11" +"episodes/large_data.Rmd" "f64ef24d0547fa7a29c3a57f100f77ab" "site/built/large_data.md" "2024-11-11" +"episodes/hca.Rmd" "873df251787c01aff0a1e7671f463880" "site/built/hca.md" "2024-11-11" "instructors/instructor-notes.md" "79f31f78e0c09e7771975b1a14d6cd08" "site/built/instructor-notes.md" "2024-10-11" "learners/reference.md" "40fc1d0be2412d2d9d434a5bc84e4de8" "site/built/reference.md" "2024-09-24" "learners/setup.md" "c5700e7b94d0b917698de4e22fd5de3d" "site/built/setup.md" "2024-10-08" diff --git a/multi-sample.md b/multi-sample.md index 964d7fb..5ae7311 100644 --- a/multi-sample.md +++ b/multi-sample.md @@ -803,104 +803,6 @@ Allantois 0.9866105512 Addionally, the choice of \tau can be guided by other external experimental data, like a previous or a pilot experiment. -## Session Info - - -``` r -sessionInfo() -``` - -``` output -R version 4.4.1 (2024-06-14) -Platform: x86_64-pc-linux-gnu -Running under: Ubuntu 22.04.5 LTS - -Matrix products: default -BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 -LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0 - -locale: - [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 - [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 - [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C -[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C - -time zone: UTC -tzcode source: system (glibc) - -attached base packages: -[1] stats4 stats graphics grDevices utils datasets methods -[8] base - -other attached packages: - [1] pheatmap_1.0.12 scran_1.32.0 - [3] scater_1.32.0 ggplot2_3.5.1 - [5] scuttle_1.14.0 edgeR_4.2.0 - [7] limma_3.60.2 batchelor_1.20.0 - [9] MouseGastrulationData_1.18.0 SpatialExperiment_1.14.0 -[11] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 -[13] Biobase_2.64.0 GenomicRanges_1.56.0 -[15] GenomeInfoDb_1.40.1 IRanges_2.38.0 -[17] S4Vectors_0.42.0 BiocGenerics_0.50.0 -[19] MatrixGenerics_1.16.0 matrixStats_1.3.0 -[21] BiocStyle_2.32.0 - -loaded via a namespace (and not attached): - [1] RColorBrewer_1.1-3 jsonlite_1.8.8 - [3] magrittr_2.0.3 ggbeeswarm_0.7.2 - [5] magick_2.8.3 farver_2.1.2 - [7] rmarkdown_2.27 zlibbioc_1.50.0 - [9] vctrs_0.6.5 memoise_2.0.1 - [11] DelayedMatrixStats_1.26.0 htmltools_0.5.8.1 - [13] S4Arrays_1.4.1 AnnotationHub_3.12.0 - [15] curl_5.2.1 BiocNeighbors_1.22.0 - [17] SparseArray_1.4.8 cachem_1.1.0 - [19] ResidualMatrix_1.14.0 igraph_2.0.3 - [21] mime_0.12 lifecycle_1.0.4 - [23] pkgconfig_2.0.3 rsvd_1.0.5 - [25] Matrix_1.7-0 R6_2.5.1 - [27] fastmap_1.2.0 GenomeInfoDbData_1.2.12 - [29] digest_0.6.35 colorspace_2.1-0 - [31] AnnotationDbi_1.66.0 dqrng_0.4.1 - [33] irlba_2.3.5.1 ExperimentHub_2.12.0 - [35] RSQLite_2.3.7 beachmat_2.20.0 - [37] filelock_1.0.3 labeling_0.4.3 - [39] fansi_1.0.6 httr_1.4.7 - [41] abind_1.4-5 compiler_4.4.1 - [43] bit64_4.0.5 withr_3.0.0 - [45] BiocParallel_1.38.0 viridis_0.6.5 - [47] DBI_1.2.3 highr_0.11 - [49] rappdirs_0.3.3 DelayedArray_0.30.1 - [51] rjson_0.2.21 bluster_1.14.0 - [53] tools_4.4.1 vipor_0.4.7 - [55] beeswarm_0.4.0 glue_1.7.0 - [57] grid_4.4.1 Rtsne_0.17 - [59] cluster_2.1.6 generics_0.1.3 - [61] gtable_0.3.5 BiocSingular_1.20.0 - [63] ScaledMatrix_1.12.0 metapod_1.12.0 - [65] utf8_1.2.4 XVector_0.44.0 - [67] ggrepel_0.9.5 BiocVersion_3.19.1 - [69] pillar_1.9.0 BumpyMatrix_1.12.0 - [71] splines_4.4.1 dplyr_1.1.4 - [73] BiocFileCache_2.12.0 lattice_0.22-6 - [75] renv_1.0.9 bit_4.0.5 - [77] tidyselect_1.2.1 locfit_1.5-9.9 - [79] Biostrings_2.72.1 knitr_1.47 - [81] gridExtra_2.3 xfun_0.44 - [83] statmod_1.5.0 UCSC.utils_1.0.0 - [85] yaml_2.3.8 evaluate_0.23 - [87] codetools_0.2-20 tibble_3.2.1 - [89] BiocManager_1.30.23 cli_3.6.2 - [91] munsell_0.5.1 Rcpp_1.0.12 - [93] dbplyr_2.5.0 png_0.1-8 - [95] parallel_4.4.1 blob_1.2.4 - [97] sparseMatrixStats_1.16.0 viridisLite_0.4.2 - [99] scales_1.3.0 purrr_1.0.2 -[101] crayon_1.5.2 rlang_1.1.3 -[103] cowplot_1.1.3 KEGGREST_1.44.0 -[105] formatR_1.14 -``` - ## Exercises @@ -923,7 +825,7 @@ You can simply hand `pheatmap()` a matrix as its only argument. `pheatmap()` has pheatmap(y.ab$counts) ``` - + The top DA result was a decrease in ExE ectoderm in the tomato condition, which you can sort of see, especially if you `log1p()` the counts or discard rows that show much higher values. ExE ectoderm counts were much higher in samples 8 and 10 compared to 5, 7, and 9. @@ -973,7 +875,7 @@ ggplot(comp_df, aes(logFC.x, logFC.y)) + geom_point() ``` - + ``` r # Reshape to long format for ggplot facets. This is 1000x times easier to do @@ -991,7 +893,7 @@ ggplot(pval_df, aes(Pvalue)) + facet_wrap("pool_factor") ``` - + We can see that in this case, the logFC estimates are strongly consistent between the two models, which tells us that the inclusion of the `pool` factor in the model doesn't strongly influence the estimate of the `tomato` coefficients in this case. @@ -1007,7 +909,7 @@ If there were large shifts in the logFC estimates or p-value distributions, that #### Extension challenge 1: Group effects -Having multiple independent samples in each experimental group is always helpful, but it particularly important when it comes to batch effect correction. Why? +Having multiple independent samples in each experimental group is always helpful, but it's particularly important when it comes to batch effect correction. Why? ::: solution @@ -1047,3 +949,102 @@ Imagine you had one sample that received a drug treatment and one that did not, limited replication - except that the counts are not of reads per gene, but of cells per label. :::::::::::::::::::::::::::::::::::::::::::::::: + +## Session Info + + +``` r +sessionInfo() +``` + +``` output +R version 4.4.1 (2024-06-14) +Platform: x86_64-pc-linux-gnu +Running under: Ubuntu 22.04.5 LTS + +Matrix products: default +BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 +LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0 + +locale: + [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8 + [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8 + [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C +[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C + +time zone: UTC +tzcode source: system (glibc) + +attached base packages: +[1] stats4 stats graphics grDevices utils datasets methods +[8] base + +other attached packages: + [1] pheatmap_1.0.12 scran_1.32.0 + [3] scater_1.32.0 ggplot2_3.5.1 + [5] scuttle_1.14.0 edgeR_4.2.0 + [7] limma_3.60.2 batchelor_1.20.0 + [9] MouseGastrulationData_1.18.0 SpatialExperiment_1.14.0 +[11] SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 +[13] Biobase_2.64.0 GenomicRanges_1.56.0 +[15] GenomeInfoDb_1.40.1 IRanges_2.38.0 +[17] S4Vectors_0.42.0 BiocGenerics_0.50.0 +[19] MatrixGenerics_1.16.0 matrixStats_1.3.0 +[21] BiocStyle_2.32.0 + +loaded via a namespace (and not attached): + [1] RColorBrewer_1.1-3 jsonlite_1.8.8 + [3] magrittr_2.0.3 ggbeeswarm_0.7.2 + [5] magick_2.8.3 farver_2.1.2 + [7] rmarkdown_2.27 zlibbioc_1.50.0 + [9] vctrs_0.6.5 memoise_2.0.1 + [11] DelayedMatrixStats_1.26.0 htmltools_0.5.8.1 + [13] S4Arrays_1.4.1 AnnotationHub_3.12.0 + [15] curl_5.2.1 BiocNeighbors_1.22.0 + [17] SparseArray_1.4.8 cachem_1.1.0 + [19] ResidualMatrix_1.14.0 igraph_2.0.3 + [21] mime_0.12 lifecycle_1.0.4 + [23] pkgconfig_2.0.3 rsvd_1.0.5 + [25] Matrix_1.7-0 R6_2.5.1 + [27] fastmap_1.2.0 GenomeInfoDbData_1.2.12 + [29] digest_0.6.35 colorspace_2.1-0 + [31] AnnotationDbi_1.66.0 dqrng_0.4.1 + [33] irlba_2.3.5.1 ExperimentHub_2.12.0 + [35] RSQLite_2.3.7 beachmat_2.20.0 + [37] filelock_1.0.3 labeling_0.4.3 + [39] fansi_1.0.6 httr_1.4.7 + [41] abind_1.4-5 compiler_4.4.1 + [43] bit64_4.0.5 withr_3.0.0 + [45] BiocParallel_1.38.0 viridis_0.6.5 + [47] DBI_1.2.3 highr_0.11 + [49] rappdirs_0.3.3 DelayedArray_0.30.1 + [51] rjson_0.2.21 bluster_1.14.0 + [53] tools_4.4.1 vipor_0.4.7 + [55] beeswarm_0.4.0 glue_1.7.0 + [57] grid_4.4.1 Rtsne_0.17 + [59] cluster_2.1.6 generics_0.1.3 + [61] gtable_0.3.5 BiocSingular_1.20.0 + [63] ScaledMatrix_1.12.0 metapod_1.12.0 + [65] utf8_1.2.4 XVector_0.44.0 + [67] ggrepel_0.9.5 BiocVersion_3.19.1 + [69] pillar_1.9.0 BumpyMatrix_1.12.0 + [71] splines_4.4.1 dplyr_1.1.4 + [73] BiocFileCache_2.12.0 lattice_0.22-6 + [75] renv_1.0.11 bit_4.0.5 + [77] tidyselect_1.2.1 locfit_1.5-9.9 + [79] Biostrings_2.72.1 knitr_1.47 + [81] gridExtra_2.3 xfun_0.44 + [83] statmod_1.5.0 UCSC.utils_1.0.0 + [85] yaml_2.3.8 evaluate_0.23 + [87] codetools_0.2-20 tibble_3.2.1 + [89] BiocManager_1.30.23 cli_3.6.2 + [91] munsell_0.5.1 Rcpp_1.0.12 + [93] dbplyr_2.5.0 png_0.1-8 + [95] parallel_4.4.1 blob_1.2.4 + [97] sparseMatrixStats_1.16.0 viridisLite_0.4.2 + [99] scales_1.3.0 purrr_1.0.2 +[101] crayon_1.5.2 rlang_1.1.3 +[103] cowplot_1.1.3 KEGGREST_1.44.0 +[105] formatR_1.14 +``` +