generated from jhudsl/AnVIL_Template
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fe0df3e
commit fb33550
Showing
31 changed files
with
9,994 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# (PART\*) Demo Chapters {-} | ||
|
||
|
||
|
||
|
||
# Introduction | ||
|
||
|
||
## Motivation | ||
|
||
|
||
## Target Audience | ||
|
||
The course is intended for ... | ||
|
||
## Curriculum | ||
|
||
The course covers... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,299 @@ | ||
|
||
# A new chapter | ||
|
||
*If you haven't yet read the getting started Wiki pages; [start there](https://github.com/jhudsl/OTTR_Template/wiki/Getting-started) | ||
|
||
Every chapter needs to start out with this chunk of code: | ||
|
||
|
||
|
||
## Learning Objectives | ||
|
||
*Every chapter also needs Learning objectives that will look like this: | ||
|
||
This chapter will cover: | ||
|
||
- {You can use https://tips.uark.edu/using-blooms-taxonomy/ to define some learning objectives here} | ||
- {Another learning objective} | ||
|
||
## Libraries | ||
|
||
For this chapter, we'll need the following packages attached: | ||
|
||
*Remember to add [any additional packages you need to your course's own docker image](https://github.com/jhudsl/OTTR_Template/wiki/Using-Docker#starting-a-new-docker-image). | ||
|
||
|
||
``` r | ||
library(magrittr) | ||
``` | ||
|
||
|
||
## Subtopic | ||
|
||
Here's a subheading and some text in this subsection! | ||
|
||
### Code examples | ||
|
||
You can demonstrate code like this: | ||
|
||
|
||
``` r | ||
output_dir <- file.path("resources", "code_output") | ||
if (!dir.exists(output_dir)) { | ||
dir.create(output_dir) | ||
} | ||
``` | ||
|
||
And make plots too: | ||
|
||
|
||
``` r | ||
hist_plot <- hist(iris$Sepal.Length) | ||
``` | ||
|
||
<img src="resources/images/02-chapter_of_course_files/figure-html/unnamed-chunk-4-1.png" width="672" /> | ||
|
||
You can also save these plots to file: | ||
|
||
|
||
``` r | ||
png(file.path(output_dir, "test_plot.png")) | ||
hist_plot | ||
``` | ||
|
||
``` | ||
## $breaks | ||
## [1] 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 | ||
## | ||
## $counts | ||
## [1] 5 27 27 30 31 18 6 6 | ||
## | ||
## $density | ||
## [1] 0.06666667 0.36000000 0.36000000 0.40000000 0.41333333 0.24000000 0.08000000 | ||
## [8] 0.08000000 | ||
## | ||
## $mids | ||
## [1] 4.25 4.75 5.25 5.75 6.25 6.75 7.25 7.75 | ||
## | ||
## $xname | ||
## [1] "iris$Sepal.Length" | ||
## | ||
## $equidist | ||
## [1] TRUE | ||
## | ||
## attr(,"class") | ||
## [1] "histogram" | ||
``` | ||
|
||
``` r | ||
dev.off() | ||
``` | ||
|
||
``` | ||
## png | ||
## 2 | ||
``` | ||
|
||
### Image example | ||
|
||
How to include a Google slide. It's simplest to use the `ottrpal` package: | ||
|
||
<img src="resources/images/02-chapter_of_course_files/figure-html//1YmwKdIy9BeQ3EShgZhvtb3MgR8P6iDX4DfFD65W_gdQ_gcc4fbee202_0_141.png" alt="Major point!! example image" width="480" style="display: block; margin: auto;" /> | ||
|
||
But if you have the slide or some other image locally downloaded you can also use html like this: | ||
|
||
<img src="resources/images/02-chapter_of_course_files/figure-html//1YmwKdIy9BeQ3EShgZhvtb3MgR8P6iDX4DfFD65W_gdQ_gcc4fbee202_0_141.png" title="Major point!! example image" alt="Major point!! example image" style="display: block; margin: auto;" /> | ||
|
||
### Video examples | ||
|
||
To show videos in your course, you can use markdown syntax like this: | ||
|
||
[A video we want to show](https://www.youtube.com/embed/VOCYL-FNbr0) | ||
|
||
Alternatively, you can use `knitr::include_url()` like this: | ||
Note that we are using `echo=FALSE` in the code chunk because we don't want the code part of this to show up. | ||
If you are unfamiliar with [how R Markdown code chunks work, read this](https://rmarkdown.rstudio.com/lesson-3.html). | ||
|
||
<iframe src="https://www.youtube.com/embed/VOCYL-FNbr0" width="672" height="400px" data-external="1"></iframe> | ||
|
||
OR this works: | ||
|
||
<iframe src="https://www.youtube.com/embed/VOCYL-FNbr0" width="672" height="400px"></iframe> | ||
|
||
### Links to files | ||
|
||
This works: | ||
|
||
<iframe src="https://www.bgsu.edu/content/dam/BGSU/center-for-faculty-excellence/docs/TLGuides/TLGuide-Learning-Objectives.pdf" width="672" height="800px" data-external="1"></iframe> | ||
|
||
Or this: | ||
|
||
[This works](https://genetics-gsa.org/education/genetics-learning-framework/). | ||
|
||
Or this: | ||
|
||
<iframe src="https://genetics-gsa.org/education/genetics-learning-framework/" width="672" height="800px"></iframe> | ||
|
||
### Links to websites | ||
|
||
Examples of including a website link. | ||
|
||
This works: | ||
|
||
<iframe src="https://yihui.org" width="672" height="400px" data-external="1"></iframe> | ||
|
||
OR this: | ||
|
||
![Another link](https://yihui.org) | ||
|
||
OR this: | ||
|
||
<iframe src="https://yihui.org" width="672" height="400px"></iframe> | ||
|
||
### Citation examples | ||
|
||
We can put citations at the end of a sentence like this [@rmarkdown2021]. | ||
Or multiple citations [@rmarkdown2021, @Xie2018]. | ||
|
||
but they need a ; separator [@rmarkdown2021; @Xie2018]. | ||
|
||
In text, we can put citations like this @rmarkdown2021. | ||
|
||
### Callout boxes | ||
|
||
There are some preset callout boxes available, which can be used like so: | ||
|
||
`notice`: | ||
|
||
::: {.notice} | ||
Here's something interesting. | ||
::: | ||
|
||
`warning`: | ||
|
||
::: {.warning} | ||
Look out! | ||
::: | ||
|
||
`dictionary`: | ||
|
||
::: {.dictionary} | ||
Here's a definition. | ||
::: | ||
|
||
`reflection`: | ||
|
||
::: {.reflection} | ||
Consider this! | ||
::: | ||
|
||
`github`: | ||
|
||
::: {.github} | ||
Here's how you use GitHub. | ||
::: | ||
|
||
`wip`: | ||
|
||
::: {.wip} | ||
This section is a **Work in Progress**. | ||
::: | ||
|
||
### Dropdown summaries | ||
|
||
<details><summary> You can hide additional information in a dropdown menu </summary> | ||
Here's more words that are hidden. | ||
</details> | ||
|
||
## Print out session info | ||
|
||
You should print out session info when you have code for [reproducibility purposes](https://jhudatascience.org/Reproducibility_in_Cancer_Informatics/managing-package-versions.html). | ||
|
||
|
||
``` r | ||
devtools::session_info() | ||
``` | ||
|
||
``` | ||
## ─ Session info ─────────────────────────────────────────────────────────────── | ||
## setting value | ||
## version R version 4.3.2 (2023-10-31) | ||
## os Ubuntu 22.04.4 LTS | ||
## system x86_64, linux-gnu | ||
## ui X11 | ||
## language (EN) | ||
## collate en_US.UTF-8 | ||
## ctype en_US.UTF-8 | ||
## tz Etc/UTC | ||
## date 2024-08-07 | ||
## pandoc 3.1.1 @ /usr/local/bin/ (via rmarkdown) | ||
## | ||
## ─ Packages ─────────────────────────────────────────────────────────────────── | ||
## package * version date (UTC) lib source | ||
## askpass 1.2.0 2023-09-03 [1] RSPM (R 4.3.0) | ||
## bookdown 0.39.1 2024-06-11 [1] Github (rstudio/bookdown@f244cf1) | ||
## bslib 0.6.1 2023-11-28 [1] RSPM (R 4.3.0) | ||
## cachem 1.0.8 2023-05-01 [1] RSPM (R 4.3.0) | ||
## cli 3.6.2 2023-12-11 [1] RSPM (R 4.3.0) | ||
## curl 5.2.0 2023-12-08 [1] RSPM (R 4.3.0) | ||
## devtools 2.4.5 2022-10-11 [1] RSPM (R 4.3.0) | ||
## digest 0.6.34 2024-01-11 [1] RSPM (R 4.3.0) | ||
## ellipsis 0.3.2 2021-04-29 [1] RSPM (R 4.3.0) | ||
## evaluate 0.23 2023-11-01 [1] RSPM (R 4.3.0) | ||
## fansi 1.0.6 2023-12-08 [1] RSPM (R 4.3.0) | ||
## fastmap 1.1.1 2023-02-24 [1] RSPM (R 4.3.0) | ||
## fs 1.6.3 2023-07-20 [1] RSPM (R 4.3.0) | ||
## glue 1.7.0 2024-01-09 [1] RSPM (R 4.3.0) | ||
## highr 0.10 2022-12-22 [1] RSPM (R 4.3.0) | ||
## hms 1.1.3 2023-03-21 [1] RSPM (R 4.3.0) | ||
## htmltools 0.5.7 2023-11-03 [1] RSPM (R 4.3.0) | ||
## htmlwidgets 1.6.4 2023-12-06 [1] RSPM (R 4.3.0) | ||
## httpuv 1.6.14 2024-01-26 [1] RSPM (R 4.3.0) | ||
## httr 1.4.7 2023-08-15 [1] RSPM (R 4.3.0) | ||
## jquerylib 0.1.4 2021-04-26 [1] RSPM (R 4.3.0) | ||
## jsonlite 1.8.8 2023-12-04 [1] RSPM (R 4.3.0) | ||
## knitr 1.47.3 2024-06-11 [1] Github (yihui/knitr@e1edd34) | ||
## later 1.3.2 2023-12-06 [1] RSPM (R 4.3.0) | ||
## lifecycle 1.0.4 2023-11-07 [1] RSPM (R 4.3.0) | ||
## magrittr * 2.0.3 2022-03-30 [1] RSPM (R 4.3.0) | ||
## memoise 2.0.1 2021-11-26 [1] RSPM (R 4.3.0) | ||
## mime 0.12 2021-09-28 [1] RSPM (R 4.3.0) | ||
## miniUI 0.1.1.1 2018-05-18 [1] RSPM (R 4.3.0) | ||
## openssl 2.1.1 2023-09-25 [1] RSPM (R 4.3.0) | ||
## ottrpal 1.2.1 2024-06-11 [1] Github (jhudsl/ottrpal@828539f) | ||
## pillar 1.9.0 2023-03-22 [1] RSPM (R 4.3.0) | ||
## pkgbuild 1.4.3 2023-12-10 [1] RSPM (R 4.3.0) | ||
## pkgconfig 2.0.3 2019-09-22 [1] RSPM (R 4.3.0) | ||
## pkgload 1.3.4 2024-01-16 [1] RSPM (R 4.3.0) | ||
## png 0.1-8 2022-11-29 [1] CRAN (R 4.3.2) | ||
## profvis 0.3.8 2023-05-02 [1] RSPM (R 4.3.0) | ||
## promises 1.2.1 2023-08-10 [1] RSPM (R 4.3.0) | ||
## purrr 1.0.2 2023-08-10 [1] RSPM (R 4.3.0) | ||
## R6 2.5.1 2021-08-19 [1] RSPM (R 4.3.0) | ||
## Rcpp 1.0.12 2024-01-09 [1] RSPM (R 4.3.0) | ||
## readr 2.1.5 2024-01-10 [1] RSPM (R 4.3.0) | ||
## remotes 2.4.2.1 2023-07-18 [1] RSPM (R 4.3.0) | ||
## rlang 1.1.4 2024-06-04 [1] CRAN (R 4.3.2) | ||
## rmarkdown 2.27.1 2024-06-11 [1] Github (rstudio/rmarkdown@e1c93a9) | ||
## sass 0.4.8 2023-12-06 [1] RSPM (R 4.3.0) | ||
## sessioninfo 1.2.2 2021-12-06 [1] RSPM (R 4.3.0) | ||
## shiny 1.8.0 2023-11-17 [1] RSPM (R 4.3.0) | ||
## stringi 1.8.3 2023-12-11 [1] RSPM (R 4.3.0) | ||
## stringr 1.5.1 2023-11-14 [1] RSPM (R 4.3.0) | ||
## tibble 3.2.1 2023-03-20 [1] CRAN (R 4.3.2) | ||
## tzdb 0.4.0 2023-05-12 [1] RSPM (R 4.3.0) | ||
## urlchecker 1.0.1 2021-11-30 [1] RSPM (R 4.3.0) | ||
## usethis 2.2.3 2024-02-19 [1] RSPM (R 4.3.0) | ||
## utf8 1.2.4 2023-10-22 [1] RSPM (R 4.3.0) | ||
## vctrs 0.6.5 2023-12-01 [1] RSPM (R 4.3.0) | ||
## xfun 0.44.4 2024-06-11 [1] Github (yihui/xfun@9da62cc) | ||
## xml2 1.3.6 2023-12-04 [1] RSPM (R 4.3.0) | ||
## xtable 1.8-4 2019-04-21 [1] RSPM (R 4.3.0) | ||
## yaml 2.3.8 2023-12-11 [1] RSPM (R 4.3.0) | ||
## | ||
## [1] /usr/local/lib/R/site-library | ||
## [2] /usr/local/lib/R/library | ||
## | ||
## ────────────────────────────────────────────────────────────────────────────── | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# AnVIL Module Library | ||
|
||
There are several pieces of content that are useful across multiple books, such as "How to Create a Workspace". To reduce maintenance burden, the `AnVIL_Template` repository has a collection of `_child` R Markdown documents that can be included in your books. | ||
|
||
You can see all the available AnVIL modules in the [AnVIL_Template book](https://jhudatascience.org/AnVIL_Template/) | ||
|
||
## Include using `cow::borrow_chapter()` | ||
|
||
To add a module to your book, include a code chunk with the `cow::borrow_chapter()` function, specifying the file for the module you want to borrow and the repository you want to borrow it from (the `AnVIL_Template` repository). | ||
|
||
See the OTTR_Template [wiki page](https://github.com/jhudsl/OTTR_Template/wiki/Borrowing-chapters-between-courses) for the most recent instructions and additional details. | ||
|
||
Here is an example of including the `_child_workspace_create.Rmd` with `cow::borrow_chapter()` | ||
|
||
|
||
1. [Launch Terra](https://anvil.terra.bio/#workspaces) | ||
|
||
1. In the drop-down menu on the left, navigate to "Workspaces". Click the triple bar in the top left corner to access the menu. Click "Workspaces". | ||
|
||
<img src="03-AnVIL_modules_files/figure-html//1zyqZHITAthNhXeH2XQqA7FMOu2mek6wfgGEaje1KQsk_g117989bd49c_0_150.png" alt="Screenshot of Terra drop-down menu. The "hamburger" button to extend the drop-down menu is highlighted, and the menu item "Workspaces" is highlighted." width="480" /> | ||
|
||
1. Click on the **plus icon** near the top of left of the page. | ||
|
||
<img src="03-AnVIL_modules_files/figure-html//1zyqZHITAthNhXeH2XQqA7FMOu2mek6wfgGEaje1KQsk_g117989bd49c_0_733.png" alt="Screenshot of Terra Workspaces page. The "+" is highlighted." width="480" /> | ||
|
||
1. Name your Workspace and select the appropriate Billing Project. **All activity in the Workspace will be charged to this Billing Project** (regardless of who conducted it). | ||
|
||
<img src="03-AnVIL_modules_files/figure-html//1zyqZHITAthNhXeH2XQqA7FMOu2mek6wfgGEaje1KQsk_g117989bd49c_0_877.png" alt="Screenshot of Terra dialog box for creating a new Workspace. The text box labeled "Workspace name" and the drop-down menu labeled "Billing project" are highlighted." width="480" /> | ||
|
||
1. If you are working with protected data, you can set the **Authorization Domain** to limit who can be added to your Workspace. Note that the Authorization Domain cannot be changed after the Workspace is created (i.e. there is no way to make this Workspace shareable with a larger audience in the future). Workspaces by default are only visible to people you specifically share them with. Authorization domains add an extra layer of enforcement over privacy, but by nature make sharing more complicated. We recommend using Authorization Domains in cases where it is extremely important and/or legally required that the data be kept private (e.g. protected patient data, industry data). For data you would merely prefer not be shared with the world, we recommend relying on standard Workspace sharing permissions rather than Authorization Domains, as Authorization Domains can make future collaborations, publications, or other sharing complicated. | ||
|
||
<img src="03-AnVIL_modules_files/figure-html//1zyqZHITAthNhXeH2XQqA7FMOu2mek6wfgGEaje1KQsk_g117989bd49c_0_1022.png" alt="Screenshot of Terra dialog box for creating a new Workspace. The drop-down menu labeled "Authorization domain" is highlighted." width="480" /> | ||
|
||
1. Click "CREATE WORKSPACE". The new Workspace should now show up under your Workspaces. | ||
|
||
<img src="03-AnVIL_modules_files/figure-html//1zyqZHITAthNhXeH2XQqA7FMOu2mek6wfgGEaje1KQsk_g117989bd49c_0_1166.png" alt="Screenshot of Terra dialog box for creating a new Workspace. The "Create Workspace" button is highlighted." width="480" /> | ||
|
||
## Background Highlighting for Borrowed Chapters | ||
|
||
You can use the `borrowed_chunk` [custom div block](https://bookdown.org/yihui/rmarkdown-cookbook/custom-blocks.html) to highlight borrowed content or any other content you choose. | ||
|
||
**Basic format:** | ||
|
||
``` | ||
:::: {.borrowed_chunk} | ||
Code/Content here | ||
:::: | ||
``` | ||
|
||
**Rendered with highlighting:** | ||
|
||
:::: {.borrowed_chunk} | ||
|
||
If you do not already have a Google account that you would like to use for accessing Terra, [create one now](https://accounts.google.com/SignUp). | ||
|
||
If you would like to create a Google account that is associated with your non-Gmail, institutional email address, follow [these instructions](https://support.terra.bio/hc/en-us/articles/360029186611). | ||
:::: | ||
|
||
**Rendered without highlighting:** | ||
|
||
|
||
If you do not already have a Google account that you would like to use for accessing Terra, [create one now](https://accounts.google.com/SignUp). | ||
|
||
If you would like to create a Google account that is associated with your non-Gmail, institutional email address, follow [these instructions](https://support.terra.bio/hc/en-us/articles/360029186611). |
Oops, something went wrong.