From 471fb0d433c856a0b7ce26b7c3f297025ed69301 Mon Sep 17 00:00:00 2001 From: Emma Rand Date: Mon, 29 Jan 2024 12:15:31 +0000 Subject: [PATCH 1/4] changes to update-notes --- update_notes.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/update_notes.txt b/update_notes.txt index 39beef80..576ae98f 100644 --- a/update_notes.txt +++ b/update_notes.txt @@ -55,18 +55,18 @@ VLE iframe Week 1 Data Analysis in R for BABS 2 -

Week 9 Overview Direct link

- +

Overview Direct link

+ -

Independent Study to do before the workshop Direct link

- +

Independent Study to do before the workshop Direct link

+ -

Workshop material Direct link

- +

Workshop material Direct link

+ -

Independent Study to do after the workshop Direct link

- +

Independent Study to do after the workshop Direct link

+ ############### From 89bd9f29e6b1ffae46434eb5c2ee845a1e8df3d8 Mon Sep 17 00:00:00 2001 From: Emma Rand Date: Mon, 29 Jan 2024 14:57:21 +0000 Subject: [PATCH 2/4] overview (plan) and prior study --- r4babs4/week-1/overview.qmd | 25 +++++++++++++----------- r4babs4/week-1/study_before_workshop.qmd | 21 ++++++++++++++++++-- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/r4babs4/week-1/overview.qmd b/r4babs4/week-1/overview.qmd index 5faf8a23..b89bcb77 100644 --- a/r4babs4/week-1/overview.qmd +++ b/r4babs4/week-1/overview.qmd @@ -5,34 +5,37 @@ toc: true toc-location: right --- -This week we will cover - - - - +This week the independent study to be done before the workshop is revision of some stage 1 core concepts. It covers file types, file systems, working directories, paths and RStudio Projects. You may feel completely confident with them but many students will benefit from a refresher. In the workshop we will.... +Workshop: Project organisation, data with many variables and obs, getting an overview with summaries and distribution plots (that's kinda revision too but will seem different to them with more rows/cols, concept of QC, filtering rows +Consolidate: exercises on previous I think ### Learning objectives The successful student will be able to: -- +- explain the organisation of files and directories in a file systems including root, home and working directories (revision) + +- explain absolute and relative file paths (revision) + +- know how to use a project-oriented workflow to organise work -- +- data with many variables and obs -- +- getting an overview with summaries and distribution plots -- +- concept of QC -- +- filtering rows ### Instructions 1. [Prepare](study_before_workshop.qmd) - i. 📖 Read + i. 📖 Read Understanding file systems (Stage 1 revision). + ii. 📖 Read RStudio projects (Stage 1 revision). 2. [Workshop](workshop.qmd) diff --git a/r4babs4/week-1/study_before_workshop.qmd b/r4babs4/week-1/study_before_workshop.qmd index 9f713928..ed938813 100644 --- a/r4babs4/week-1/study_before_workshop.qmd +++ b/r4babs4/week-1/study_before_workshop.qmd @@ -5,8 +5,25 @@ toc: true toc-location: right --- -1. 📖 Read [...](https://3mmarand.github.io/) +1. 📖 Read [Understanding file systems](https://3mmarand.github.io/comp4biosci/file_systems.html). Approximately 15 - 20 minutes. This is revision of some stage 1 core concepts. It covers file types, filesystems. working directories and paths. You may feel completely confident with them but many students will benefit from a refresher. -2. 📖 Read [Confidence Intervals](https://3mmarand.github.io/) +2. 📖 Read [RStudio Projects](https://3mmarand.github.io/comp4biosci/workflow_rstudio.html#rstudio-projects). Section 7.1 only. Approximately 5 - 10 minutes. This is revision but part of the assessment requires that you use an RStudio project so if you aren't sure you are using them, you might want to check. +Entirely optionally, you might want to review some other stage 1 content. You can access these through the past VLE sites but you might find it helpful to use my latest versions because I have improved them, there is no 2FA and the sites are searchable. + + +Stage 1 + +- [Data Analysis in R for Becoming a Bioscientist + 1](https://3mmarand.github.io/R4BABS/r4babs1/r4babs1.html).Core + concepts about scientific computing, types of variable, the role of + variables in analysis and how to use RStudio to organise analysis + and import, summarise and plot data. + +- [Data Analysis in R for Becoming a Bioscientist + 2](https://3mmarand.github.io/R4BABS/r4babs2/r4babs2.html). The + logic of hypothesis testing, confidence intervals, what is meant by + a statistical model, two-sample tests and one- and two-way analysis + of variance (ANOVA). + From 1dd916d853168372439fe99834b034229b982d7d Mon Sep 17 00:00:00 2001 From: Emma Rand Date: Mon, 29 Jan 2024 14:57:40 +0000 Subject: [PATCH 3/4] workshop outline --- r4babs4/week-1/images/future_you.png | Bin 0 -> 41216 bytes r4babs4/week-1/workshop.qmd | 118 ++++++++++++++++++++++++--- references.bib | 36 ++++++++ 3 files changed, 143 insertions(+), 11 deletions(-) create mode 100644 r4babs4/week-1/images/future_you.png diff --git a/r4babs4/week-1/images/future_you.png b/r4babs4/week-1/images/future_you.png new file mode 100644 index 0000000000000000000000000000000000000000..4bf8a20c2c4f95d36b86eed42b831cbc10d7599a GIT binary patch literal 41216 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 DQ)8!K literal 0 HcmV?d00001 diff --git a/r4babs4/week-1/workshop.qmd b/r4babs4/week-1/workshop.qmd index 832fcc72..ad09a663 100644 --- a/r4babs4/week-1/workshop.qmd +++ b/r4babs4/week-1/workshop.qmd @@ -41,10 +41,90 @@ These four symbols are used at the beginning of each instruction so you know whe ![](images/do_on_internet.png) Something you should do in your browser on the internet. It may be searching for information, going to the VLE or downloading a file. -![](images/answer.png) A question for you to think about and answer. Record your answers in your script for future reference. +![](images/answer.png) A question for you to think about and answer. Record your answers for future reference. ::: -# Getting started + +## Reproducibility + +### Why does it matter? + +![futureself, CC-BY-NC, by Julen +Colomb](images/future_you.png){fig-alt="Person working at a computer with an offstage person asking 'How is the analysis going?' The person at the computer replies 'Can't understand the date...and the data collector does not answer my emails or calls' Person offstage: 'That's terrible! So cruel! Who did collect the data? I will sack them!' Person at the computer: 'um...I did, 3 years ago.'" +width="400"} + +- Five selfish reasons to work reproducibly [@markowetz2015]. + Alternatively, see the very entertaining + [talk](https://youtu.be/yVT07Sukv9Q) which covers the the "Duke Scandal". + +- Many high profile cases of work which did not reproduce e.g. Anil + Potti's work unravelled by @baggerly2009 in the "Duke Scandal" + +- **Will** become standard in Science and publishing e.g OECD Global + Science Forum Building digital workforce capacity and skills for + data-intensive science [@oecdglobalscienceforum2020] + +### How to achieve reproducibility + +- Scripting + +- Organisation: Project-oriented workflows with file and folder + structure, naming things + +- Documentation: Comment your code. + + + +### Project-oriented workflow + +- use folders to organise your work + +- you are aiming for structured, systematic and repeatable. + +- inputs and outputs should be clearly identifiable from structure + and/or naming + +Example + +``` +-- stem-cells + |__stem-cells.Rproj + |__analysis.R + |__data-raw + |__2019-03-21_donor_1.csv + |__2019-03-21_donor_2.csv + |__2019-03-21_donor_3.csv + |__figures + |__01_volcano_donor_1_vs_donor_2.png + |__02_volcano_donor_1_vs_donor_3.png +``` + +## Naming things + +- machine readable + +- human readable + +- play nicely with sorting + +I suggest + +- no spaces in names + +- use snake_case or kebab-case rather than CamelCase or dot.case + +- use all lower case + +- ordering: use left-padded numbers e.g., 01, 02....99 or 001, + 002....999 + +- dates [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: + 2020-10-16 + +# Exercises + +## Getting started + ![](images/do_on_your_computer.png) Start RStudio from the Start menu. @@ -52,7 +132,7 @@ These four symbols are used at the beginning of each instruction so you know whe ![](images/do_in_R.png) Also on the Files tab click on `New Folder`. Type "data-analysis-in-r-4" in to the box. This will be the folder that we work in throughout the Data Analysis in R part BABS4. -![](images/do_in_R.png) Make an RStudio project for this workshop by clicking on the drop-down menu on top right where it says `Project: (None)` and choosing New Project, then New Directory, then New Project. Name the RStudio Project '1-core'. +![](images/do_in_R.png) Make an RStudio project for this workshop by clicking on the drop-down menu on top right where it says `Project: (None)` and choosing New Project, then New Directory, then New Project. Name the RStudio Project 'core-01'. ![](images/do_in_R.png) Make a new script then save it with a name like analysis.R to carry out the rest of the work. @@ -60,12 +140,33 @@ These four symbols are used at the beginning of each instruction so you know whe ![](images/do_in_R.png) Make a new folder called `data-raw`. -# Exercises -## Remind yourself how to import files! -[Importing data from files](../../r4babs1/week-8/workshop.html#importing-data-from-files) was covered in BABS 1 [@rand2023] if you need to remind yourself. +## Data with many variables and obs + +examine + +## Getting an overview + +with summaries and distribution plots +summary +summary stats +group_by +distributions +boxplots / violin +facet +think about the number of variables and observations!! +ggpairs +summarise and plot + + +## Quality Control + +### filtering rows +a particular value +NA +make things zero ```{r} #| include: false @@ -78,11 +179,6 @@ These four symbols are used at the beginning of each instruction so you know whe - - - - - You're finished! diff --git a/references.bib b/references.bib index f22aac20..ea3a992d 100644 --- a/references.bib +++ b/references.bib @@ -140,4 +140,40 @@ @Manual{emmeans year = {2023}, note = {R package version 1.8.7}, url = {https://CRAN.R-project.org/package=emmeans}, +} + +@article{baggerly2009, + title = {DERIVING CHEMOSENSITIVITY FROM CELL LINES: FORENSIC BIOINFORMATICS AND REPRODUCIBLE RESEARCH IN HIGH-THROUGHPUT BIOLOGY}, + author = {Baggerly, Keith A and Coombes, Kevin R}, + year = {2009}, + date = {2009}, + journal = {Ann. Appl. Stat.}, + pages = {1309--1334}, + volume = {3}, + number = {4}, + doi = {10.2307/27801549}, + url = {http://www.jstor.org/stable/27801549}, + note = {Publisher: Institute of Mathematical Statistics} +} + +@techreport{oecdglobalscienceforum2020, + title = {Building digital workforce capacity and skills for data-intensive science}, + author = {OECD Global Science Forum, }, + year = {2020}, + month = {06}, + date = {2020-06-19}, + url = {http://www.oecd.org/officialdocuments/publicdisplaydocumentpdf/?cote=DSTI/STP/GSF(2020)6/FINAL&docLanguage=En} +} + +@article{markowetz2015, + title = {Five selfish reasons to work reproducibly}, + author = {Markowetz, Florian}, + year = {2015}, + month = {12}, + date = {2015-12-08}, + journal = {Genome Biol.}, + pages = {274}, + volume = {16}, + doi = {10.1186/s13059-015-0850-7}, + url = {http://dx.doi.org/10.1186/s13059-015-0850-7} } \ No newline at end of file From df576868a2fcc4ad2773ed5914943d8efa3adec4 Mon Sep 17 00:00:00 2001 From: Emma Rand Date: Mon, 29 Jan 2024 15:21:54 +0000 Subject: [PATCH 4/4] update link in yml --- _quarto.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_quarto.yml b/_quarto.yml index 4332d3e3..9bb43cb6 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -178,7 +178,7 @@ website: text: About - href: r4babs4/week-1/study_before_workshop.qmd text: Prepare! - - href: r4babs2/week-1/workshop.qmd + - href: r4babs4/week-1/workshop.qmd text: Workshop - href: r4babs4/week-1/study_after_workshop.qmd text: Consolidate!