From a4549104a4ad749b37f451738857d93d0ba5378b Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 7 Oct 2023 08:18:49 +0000 Subject: [PATCH] markdown source builds Auto-generated via {sandpaper} Source : 6a72c31b476fbb3a266ab5601180dcc14ccdb35a Branch : main Author : Charlotte Soneson Time : 2023-10-07 08:06:33 +0000 Message : Merge pull request #93 from carpentries-incubator/timings Updates following the EuroBioC workshop --- 01-intro-to-rnaseq.md | 6 ++-- 02-setup.md | 2 +- 03-import-annotate.md | 4 +-- 04-exploratory-qc.md | 30 +++++++++--------- ...exploratory-qc-rendered-pca-exercise-1.png | Bin 14926 -> 14865 bytes md5sum.txt | 10 +++--- setup.md | 5 +-- 7 files changed, 29 insertions(+), 28 deletions(-) diff --git a/01-intro-to-rnaseq.md b/01-intro-to-rnaseq.md index d5396caa..b8920e04 100644 --- a/01-intro-to-rnaseq.md +++ b/01-intro-to-rnaseq.md @@ -1,8 +1,8 @@ --- source: Rmd title: Introduction to RNA-seq -teaching: 45 -exercises: 30 +teaching: 65 +exercises: 35 --- @@ -172,7 +172,7 @@ If you are mapping your reads to the transcriptome, you will instead need a file ## Challenge -Download the latest mouse transcriptome fasta file from GENCODE and uncompress it. What do the entries look like? Tip: to read the file into R, consider the `Biostrings` package. +Download the latest mouse transcriptome fasta file from GENCODE. What do the entries look like? Tip: to read the file into R, consider the `readDNAStringSet()` function from the `Biostrings` package. :::::::::::::::::::::::::::::::::::::::::::::::::: diff --git a/02-setup.md b/02-setup.md index b47e5912..dbecd2e5 100644 --- a/02-setup.md +++ b/02-setup.md @@ -2,7 +2,7 @@ source: Rmd title: RStudio Project and Experimental Data teaching: 20 -exercises: 20 +exercises: 10 --- :::::::::::::::::::::::::::::::::::::: questions diff --git a/03-import-annotate.md b/03-import-annotate.md index 4ea1cf56..248ba687 100644 --- a/03-import-annotate.md +++ b/03-import-annotate.md @@ -1,11 +1,11 @@ --- title: "Importing and annotating quantified data into R" source: Rmd -teaching: 75 +teaching: 80 output: html_document: df_print: paged -exercises: 30 +exercises: 40 --- diff --git a/04-exploratory-qc.md b/04-exploratory-qc.md index 9f271338..753cfa2b 100644 --- a/04-exploratory-qc.md +++ b/04-exploratory-qc.md @@ -1,8 +1,8 @@ --- source: Rmd title: Exploratory analysis and quality control -teaching: 60 -exercises: 45 +teaching: 120 +exercises: 60 editor_options: chunk_output_type: console --- @@ -326,16 +326,16 @@ Compare before and after variance stabilizing transformation. ```r -pcaData <- DESeq2::plotPCA(vsd, intgroup = c("libSize"), - returnData = TRUE) -percentVar <- round(100 * attr(pcaData, "percentVar")) -ggplot(pcaData, aes(x = PC1, y = PC2)) + - geom_point(aes(color = libSize/ 1e6), size = 5) + +pcaDataVst <- DESeq2::plotPCA(vsd, intgroup = c("libSize"), + returnData = TRUE) +percentVar <- round(100 * attr(pcaDataVst, "percentVar")) +ggplot(pcaDataVst, aes(x = PC1, y = PC2)) + + geom_point(aes(color = libSize / 1e6), size = 5) + theme_minimal() + xlab(paste0("PC1: ", percentVar[1], "% variance")) + ylab(paste0("PC2: ", percentVar[2], "% variance")) + coord_fixed() + - scale_color_continuous("Total count in millions", type ="viridis") + scale_color_continuous("Total count in millions", type = "viridis") ``` @@ -343,16 +343,16 @@ ggplot(pcaData, aes(x = PC1, y = PC2)) + ```r -pcaData <- DESeq2::plotPCA(DESeqTransform(se), intgroup = c("libSize"), - returnData = TRUE) -percentVar <- round(100 * attr(pcaData, "percentVar")) -ggplot(pcaData, aes(x = PC1, y = PC2)) + - geom_point(aes(color = libSize/ 1e6), size = 5) + +pcaDataCts <- DESeq2::plotPCA(DESeqTransform(se), intgroup = c("libSize"), + returnData = TRUE) +percentVar <- round(100 * attr(pcaDataCts, "percentVar")) +ggplot(pcaDataCts, aes(x = PC1, y = PC2)) + + geom_point(aes(color = libSize / 1e6), size = 5) + theme_minimal() + xlab(paste0("PC1: ", percentVar[1], "% variance")) + ylab(paste0("PC2: ", percentVar[2], "% variance")) + coord_fixed() + - scale_color_continuous("Total count in millions", type ="viridis") + scale_color_continuous("Total count in millions", type = "viridis") ``` @@ -452,7 +452,7 @@ loaded via a namespace (and not attached): [49] miniUI_0.1.1.1 lattice_0.21-8 tibble_3.2.1 [52] shiny_1.7.5 withr_2.5.0 evaluate_0.21 [55] circlize_0.4.15 pillar_1.9.0 affyio_1.70.0 -[58] BiocManager_1.30.22 renv_1.0.2 DT_0.29 +[58] BiocManager_1.30.22 renv_1.0.3 DT_0.29 [61] foreach_1.5.2 shinyjs_2.1.0 generics_0.1.3 [64] RCurl_1.98-1.12 munsell_0.5.0 scales_1.2.1 [67] xtable_1.8-4 glue_1.6.2 tools_4.3.1 diff --git a/fig/04-exploratory-qc-rendered-pca-exercise-1.png b/fig/04-exploratory-qc-rendered-pca-exercise-1.png index 621b3b259384b0e32c0de5640e98ea9d9f353f07..661712629429ea3219eb4c470f6a76918ab42a36 100644 GIT binary patch literal 14865 zcmeHuby!sG+wJBR36T&Hq(wv!6bwKb2PqNh5TsPPL2{4~2|+0-rMp8Ur43pnhfe7h z7((*gAJ3vW6hV&HODFi`C@5xH4APC+r?oIR; zd~!w3lmmVc+sbM^Ll6>5+#9cZ)Z+j_E+F?LQED!6E2FMDYU)$szn+=AcuaEU#>H#C zYE&iPR_iwo#Ty` zxuME$^nPV*e}Bp&mM7@Mt(!Xuv}B1pZQ_QjGYQXD>rKc^e#CtZNRdSlFI`SeO}MBC z-y}lBfWeyy@v_lnjqui-$#f0y!WZ_ zQHA|ISCtFmFnaAyaF48Os6Mny?a@R!5&MdYsINiA6k

>e_BrG{ggnwLgu%~CHx%JT60iA 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 diff --git a/md5sum.txt b/md5sum.txt index 0a2b06e0..4c4bc40f 100644 --- a/md5sum.txt +++ b/md5sum.txt @@ -3,10 +3,10 @@ "LICENSE.md" "2fb7308e51efc6894f5fb9794505973e" "site/built/LICENSE.md" "2023-09-13" "config.yaml" "297622287fe4f84b2f8e1792cef52216" "site/built/config.yaml" "2023-09-13" "index.md" "6a1b0b9e8983481699e2e4ef54a4893a" "site/built/index.md" "2023-09-13" -"episodes/01-intro-to-rnaseq.Rmd" "7cc3f4922347f6d5d9ef80dd31e84fbb" "site/built/01-intro-to-rnaseq.md" "2023-09-13" -"episodes/02-setup.Rmd" "44ede89e11c54f154bacc1f5d4ee01f2" "site/built/02-setup.md" "2023-09-13" -"episodes/03-import-annotate.Rmd" "2be226b2de49ad3ff72632563631c7a5" "site/built/03-import-annotate.md" "2023-09-23" -"episodes/04-exploratory-qc.Rmd" "59d9cac581d1c736628534f8cf37f1b5" "site/built/04-exploratory-qc.md" "2023-09-18" +"episodes/01-intro-to-rnaseq.Rmd" "b4d2d36be5042834578061b30665d493" "site/built/01-intro-to-rnaseq.md" "2023-10-07" +"episodes/02-setup.Rmd" "e62af0b59eec704194484af83db5b859" "site/built/02-setup.md" "2023-10-07" +"episodes/03-import-annotate.Rmd" "c43d8eab0fcc982993ea35a952d323c0" "site/built/03-import-annotate.md" "2023-10-07" +"episodes/04-exploratory-qc.Rmd" "af033b6158f06de3f33d41673272a87d" "site/built/04-exploratory-qc.md" "2023-10-07" "episodes/05-differential-expression.Rmd" "29ab3939367a0b3521cfd764929e3aee" "site/built/05-differential-expression.md" "2023-09-17" "episodes/06-extra-design.Rmd" "e4859b8e76bc6d0c8d5c598e1d00b37b" "site/built/06-extra-design.md" "2023-09-13" "episodes/07-gene-set-analysis.Rmd" "e7b69b6f2af11dfab883303e9a50981d" "site/built/07-gene-set-analysis.md" "2023-09-17" @@ -14,6 +14,6 @@ "instructors/instructor-notes.md" "a59fd3b94c07c3fe3218c054a0f03277" "site/built/instructor-notes.md" "2023-09-13" "learners/discuss.md" "2758e2e5abd231d82d25c6453d8abbc6" "site/built/discuss.md" "2023-09-13" "learners/reference.md" "b9aea3dd8169bf1105bf4f462e8e38f5" "site/built/reference.md" "2023-09-13" -"learners/setup.md" "ffaa01a8e1cbf5ea0acf405ecd867e07" "site/built/setup.md" "2023-09-13" +"learners/setup.md" "29d12719c4fcebc031f726275706b330" "site/built/setup.md" "2023-10-07" "profiles/learner-profiles.md" "28ba7f4d04639862db131119f4dc4f4d" "site/built/learner-profiles.md" "2023-09-13" "renv/profiles/lesson-requirements/renv.lock" "9492694bdd3bcaaf34e2c727d6138dd3" "site/built/renv.lock" "2023-09-13" diff --git a/setup.md b/setup.md index 85eb6f20..12e24681 100644 --- a/setup.md +++ b/setup.md @@ -10,7 +10,7 @@ episode of the [Introduction to data analysis with R and Bioconductor](https://c Additionally, you will also need to install the following packages that will be used throughout the lesson. ```r -install.packages("BiocManager") +install.packages(c("BiocManager", "remotes")) BiocManager::install(c("tidyverse", "SummarizedExperiment", "ExploreModelMatrix", "AnnotationDbi", "org.Hs.eg.db", "org.Mm.eg.db", "csoneson/ConfoundingExplorer", @@ -18,7 +18,8 @@ BiocManager::install(c("tidyverse", "SummarizedExperiment", "RColorBrewer", "hexbin", "cowplot", "iSEE", "clusterProfiler", "enrichplot", "kableExtra", "msigdbr", "gplots", "ggplot2", "simplifyEnrichment", - "apeglm", "microbenchmark", "Biostrings")) + "apeglm", "microbenchmark", "Biostrings", + "SingleCellExperiment")) ```