From cbfb95cbb0d0c3f382b385699effc29adf72232e Mon Sep 17 00:00:00 2001 From: Elizabeth Humphries Date: Wed, 22 May 2024 13:42:30 -0400 Subject: [PATCH 01/10] updating all rmds --- 01-BioDIGS_project_overview.Rmd | 8 + 01-intro.Rmd | 20 - 02-chapter_of_course.Rmd | 187 --------- 02-research_team.Rmd | 8 + 03-AnVIL_modules.Rmd | 52 --- 03-data_tour.Rmd | 8 + 04-billing_modules.Rmd | 8 + 04-workspace_modules.Rmd | 44 -- 05-anvil_onboarding.Rmd | 8 + 05-billing_modules.Rmd | 109 ----- 06-onboarding_modules.Rmd | 15 - 07-instructor_guide.Rmd | 708 ++++++++++++++++++++++++++++++++ 07-using_platforms_modules.Rmd | 124 ------ 08-student_anvil_guide.Rmd | 116 ++++++ 08-student_modules.Rmd | 141 ------- 09-soil_exploration_module.Rmd | 269 ++++++++++++ 09-student_guide.Rmd | 10 - 10-user_management_modules.Rmd | 38 -- 11-why-anvil.Rmd | 16 - 12-instructor_modules.Rmd | 49 --- About.Rmd | 55 ++- _bookdown.yml | 27 -- index.Rmd | 32 +- resources/dictionary.txt | 69 +++- soil_data.csv | 67 +++ soil_testing_data.csv | 66 +++ 26 files changed, 1372 insertions(+), 882 deletions(-) create mode 100644 01-BioDIGS_project_overview.Rmd delete mode 100644 01-intro.Rmd delete mode 100644 02-chapter_of_course.Rmd create mode 100644 02-research_team.Rmd delete mode 100644 03-AnVIL_modules.Rmd create mode 100644 03-data_tour.Rmd create mode 100644 04-billing_modules.Rmd delete mode 100644 04-workspace_modules.Rmd create mode 100644 05-anvil_onboarding.Rmd delete mode 100644 05-billing_modules.Rmd delete mode 100644 06-onboarding_modules.Rmd create mode 100644 07-instructor_guide.Rmd delete mode 100644 07-using_platforms_modules.Rmd create mode 100644 08-student_anvil_guide.Rmd delete mode 100644 08-student_modules.Rmd create mode 100644 09-soil_exploration_module.Rmd delete mode 100644 09-student_guide.Rmd delete mode 100644 10-user_management_modules.Rmd delete mode 100644 11-why-anvil.Rmd delete mode 100644 12-instructor_modules.Rmd delete mode 100644 _bookdown.yml create mode 100644 soil_data.csv create mode 100644 soil_testing_data.csv diff --git a/01-BioDIGS_project_overview.Rmd b/01-BioDIGS_project_overview.Rmd new file mode 100644 index 0000000..8e519e4 --- /dev/null +++ b/01-BioDIGS_project_overview.Rmd @@ -0,0 +1,8 @@ +:::: {.borrowed_chunk} +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "01-BioDIGS_project_overview.Rmd", + repo_name = "fhdsl/GDSCN_BioDIGS_Book" +) +``` +:::: diff --git a/01-intro.Rmd b/01-intro.Rmd deleted file mode 100644 index f98f519..0000000 --- a/01-intro.Rmd +++ /dev/null @@ -1,20 +0,0 @@ -# (PART\*) Demo Chapters {-} - - -```{r, include = FALSE} -ottrpal::set_knitr_image_path() -``` - -# Introduction - - -## Motivation - - -## Target Audience - -The course is intended for ... - -## Curriculum - -The course covers... diff --git a/02-chapter_of_course.Rmd b/02-chapter_of_course.Rmd deleted file mode 100644 index 88bb0bd..0000000 --- a/02-chapter_of_course.Rmd +++ /dev/null @@ -1,187 +0,0 @@ - -# 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: - -```{r, include = FALSE} -ottrpal::set_knitr_image_path() -``` - -## 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) -``` - -You can also save these plots to file: - -```{r} -png(file.path(output_dir, "test_plot.png")) -hist_plot -dev.off() -``` - -### Image example - -How to include a Google slide. It's simplest to use the `ottrpal` package: - -```{r, fig.align='center', echo = FALSE, fig.alt= "Major point!! example image"} -ottrpal::include_slide("https://docs.google.com/presentation/d/1YmwKdIy9BeQ3EShgZhvtb3MgR8P6iDX4DfFD65W_gdQ/edit#slide=id.gcc4fbee202_0_141") -``` - -But if you have the slide or some other image locally downloaded you can also use html like this: - -Major point!! example image - -### 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). - -```{r, echo=FALSE} -knitr::include_url("https://www.youtube.com/embed/VOCYL-FNbr0") -``` - -OR this works: - - - -### Links to files - -This works: - -```{r, fig.align="center", echo=FALSE} -knitr::include_url("https://www.bgsu.edu/content/dam/BGSU/center-for-faculty-excellence/docs/TLGuides/TLGuide-Learning-Objectives.pdf", height = "800px") -``` - -Or this: - -[This works](https://www.bgsu.edu/content/dam/BGSU/center-for-faculty-excellence/docs/TLGuides/TLGuide-Learning-Objectives.pdf). - -Or this: - - - -### Links to websites - -Examples of including a website link. - -This works: - -```{r, fig.align="center", echo=FALSE} -knitr::include_url("https://yihui.org") -``` - -OR this: - -![Another link](https://yihui.org) - -OR this: - - - -### 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 - -
You can hide additional information in a dropdown menu -Here's more words that are hidden. -
- -## 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() -``` - diff --git a/02-research_team.Rmd b/02-research_team.Rmd new file mode 100644 index 0000000..5f8d0d7 --- /dev/null +++ b/02-research_team.Rmd @@ -0,0 +1,8 @@ +:::: {.borrowed_chunk} +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "02-research_team.Rmd", + repo_name = "fhdsl/GDSCN_BioDIGS_Book" +) +``` +:::: diff --git a/03-AnVIL_modules.Rmd b/03-AnVIL_modules.Rmd deleted file mode 100644 index 83a9642..0000000 --- a/03-AnVIL_modules.Rmd +++ /dev/null @@ -1,52 +0,0 @@ -# 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()` - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_workspace_create.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -## 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} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_google_create_account.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -**Rendered without highlighting:** - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_google_create_account.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` diff --git a/03-data_tour.Rmd b/03-data_tour.Rmd new file mode 100644 index 0000000..89ba4ac --- /dev/null +++ b/03-data_tour.Rmd @@ -0,0 +1,8 @@ +:::: {.borrowed_chunk} +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "03-data_tour.Rmd", + repo_name = "fhdsl/GDSCN_BioDIGS_Book" +) +``` +:::: diff --git a/04-billing_modules.Rmd b/04-billing_modules.Rmd new file mode 100644 index 0000000..115b8df --- /dev/null +++ b/04-billing_modules.Rmd @@ -0,0 +1,8 @@ +:::: {.borrowed_chunk} +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "04-billing_modules.Rmd", + repo_name = "fhdsl/GDSCN_BioDIGS_Book" +) +``` +:::: diff --git a/04-workspace_modules.Rmd b/04-workspace_modules.Rmd deleted file mode 100644 index 1b582b5..0000000 --- a/04-workspace_modules.Rmd +++ /dev/null @@ -1,44 +0,0 @@ -# (PART\*) AnVIL Modules {-} - -# Workspaces - -Modules about Terra Workspaces - -
- -## Clone a Workspace - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_workspace_clone.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -## Create a Workspace - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_workspace_create.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -## Open a Workspace - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_workspace_open.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -## Share a Workspace - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_workspace_share.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - diff --git a/05-anvil_onboarding.Rmd b/05-anvil_onboarding.Rmd new file mode 100644 index 0000000..23f5e9f --- /dev/null +++ b/05-anvil_onboarding.Rmd @@ -0,0 +1,8 @@ +:::: {.borrowed_chunk} +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "05-anvil_onboarding.Rmd", + repo_name = "fhdsl/GDSCN_BioDIGS_Book" +) +``` +:::: diff --git a/05-billing_modules.Rmd b/05-billing_modules.Rmd deleted file mode 100644 index 8c8844c..0000000 --- a/05-billing_modules.Rmd +++ /dev/null @@ -1,109 +0,0 @@ -```{r echo = FALSE} -knitr::opts_chunk$set(out.width = "100%") -``` - -# Billing - -Modules about billing and Billing Projects on Google Cloud Platform and Terra. - -
- -## Create Google Billing Account - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_google_billing_create_account.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Add Terra to Google Billing Account - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_google_billing_add_terra.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Add Members to Google Billing Account - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_google_billing_add_member.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Set Alerts for Google Billing - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_google_billing_set_alerts.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## View Spend for Google Billing - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_google_billing_view_spend.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Create Terra Billing Project - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_terra_billing_project_create.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Add Member to Terra Billing Project - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_terra_billing_project_add_member.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Disable Terra Billing Project - -By default this module includes a warning to make sure people understand they will lose access to their Workspace buckets. You can remove the warning from this module by setting `AnVIL_module_settings$warning` to `FALSE` before running `cow::borrow_chapter`: - -``` -AnVIL_module_settings <- list( - warning = FALSE -) -cow::borrow_chapter( - doc_path = "child/_child_terra_billing_project_disable.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_terra_billing_project_disable.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: diff --git a/06-onboarding_modules.Rmd b/06-onboarding_modules.Rmd deleted file mode 100644 index 7b6e32a..0000000 --- a/06-onboarding_modules.Rmd +++ /dev/null @@ -1,15 +0,0 @@ -# Onboarding - -Joining a team on AnVIL. - -
- -## Create Google Account - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_google_create_account.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - diff --git a/07-instructor_guide.Rmd b/07-instructor_guide.Rmd new file mode 100644 index 0000000..5b23538 --- /dev/null +++ b/07-instructor_guide.Rmd @@ -0,0 +1,708 @@ +# (PART\*) Instructor Checklist for AnVIL {-} + +# Notes for Instructors + +Although AnVIL is the preferred computational platform for the GDSCN, this activity can be run using RStudio on AnVIL, [Posit Cloud](https://posit.cloud/), and local installations of R or RStudio. + +You may also adapt this activity for other languages and platforms. + +# Checklist for Running Activities on AnVIL + +If you choose to run this activity on AnVIL with your class, there are several things that you can do to make the experience easier. + +## Before the class begins {-} + +This checklist can serve as a reminder of the overall suggested steps to run an activity on AnVIL. You might find yourself changing these steps slightly as you become more familiar with AnVIL. + +**Billing** + +- Obtain funding through the [STRIDES](https://datascience.nih.gov/strides) program (optional) +- Request students make AnVIL IDs (Google IDs) +- Collect AnVIL IDs (Google IDs) from students +- Create Google Billing Account for your class + +**Resources** + +- Create a Workspace for your class (optional) +- Notify Terra of your course dates and times +- Direct students to the Workspace + +**Permissions** + +- Set up Groups to manage permissions + +| AnVIL Group | Class Workspace | Terra Billing Projects*| +|:--------------------|:----------------|:-----------------------| +| Instructor | Owner | Owner | +| Teaching assistants | Writer | Owner | +| Students | Reader | User | + + +## After the class ends {-} + +**Resources** + +- Remind students to download any files they might need +- Tell students to delete their environments and persistent disks + +**Billing** + +- Deactivate billing project + + +# Setting up Billing on AnVIL + +The following will help you set up billing for your class. You will: +* Set up a billing project for tracking costs +* Add yourself and students to the billing project to grant permission to AnVIL resources +* Learn about different sources of costs in AnVIL +* Estimate costs for your class +* Learn about how to track costs during your class + +## Creating a billing project {#billing-project} + +First, create the Billing Project. Billing Project names must be globally unique and cannot exceed 30 characters. We suggest the name of the Billing Project should be a combination of institution-class- (e.g., "jhu-bmr2021-bill-1"). To create a Billing Project: + +1. Go to https://anvil.terra.bio/#billing + +1. Click “+CREATE” + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page. The "+CREATE" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_88") + ``` + +1. Type in your Billing Project name + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The new billing project name, jhu-bmr2021-instructors-bill-1, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_98") + ``` + +1. Select the appropriate Billing Account + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The appropriate billing account name, My Billing Account, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_2") + ``` + +1. Click “CREATE BILLING PROJECT” + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The "CREATE BILLING PROJECT" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_9") + ``` + +You now have a unique **Billing Project**. + +## Adding Instructors as “Owner” + +Next, you want to give instructors permission to use the Billing Project to compute. To set instructor permissions: + +1. Go to https://anvil.terra.bio/#billing + +1. Select the “Owned by You” Billing Project sub-list + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_0") + ``` + +1. Select the Billing Project you made in [Instructor Billing Project](#billing-project) + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The instructor Billing project, in this case jhu-bmr2021-instructors, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_10") + ``` + +1. Select the “Users” tab + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The instructor Billing project, in this case jhu-bmr2021-instructors, has been selected and the Users Tab is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_24") + ``` + +1. Click “+ Add User”. You will be prompted to add a “User email *”. + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The instructor Billing project, in this case jhu-bmr2021-instructors, has been selected and the "+Add User" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_39") + ``` + +1. Begin typing the instructor Group name set up in [Instructor Group](#instructor-group). You should see an email in the form @firecloud.org (e.g., jhu-bmr2021-instructors@firecloud.org). + +1. Ensure “Can manage users (Owner)” is **selected** + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_54") + ``` + +1. Click “ADD USER” + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked. The "ADD USER" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_70") + ``` + + +::: {.notice} +This step makes it so that co-instructors can edit permissions and administer the Billing Project as needed. While this means you and co-instructors can compute using the student Billing Project, this makes spending difficult to track. Instructors should always use the **instructor Workspace** to compute. This makes it much easier to track costs associated with instructors versus students. +::: + +## Adding Students as “User” + +Next, you will add your student Group to the Billing Project so that they can compute. To set student permissions: + +1. Go to https://anvil.terra.bio/#billing + +1. Select the “Owned by You” Billing Project sub-list + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_0") + ``` + +1. Select the Billing Project you made in [Billing Project](#billing-project) + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The student Billing project, in this case jhu-bmr2021-students, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_90") + ``` + +1. Select the “Users” tab + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the Users Tab is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_301") + ``` + +1. Click “+ Add User”. You will be prompted to add a “User email *”. + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the "+Add User" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_315") + ``` + +1. Begin typing the student Group name set up in [Student Group](#student-group). You should see an email in the form @firecloud.org (e.g., jhu-bmr2021-students@firecloud.org). + +1. Keep “Can manage users (Owner)” **deselected**. + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The student Group email, in this case jhu-bmr2021-students@firecloud.org, has been filled in and the Owner role checkbox has NOT been ticked.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_132") + ``` + +1. Click “ADD USER” + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The student Group email, in this case jhu-bmr2021-students@firecloud.org, has been filled in and the Owner role checkbox has NOT been ticked. The "ADD USER" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_327") + ``` + +## Understanding the various billing costs + +Costs in AnVIL fall into one of three categories: compute costs, storage costs, and network usage (egress) costs. **Compute costs** are those that students accrue when actively using an AnVIL Workspace. Students can clone a Workspace for no cost, but they will begin to accrue costs as soon as they set up a cloud environment. Compute costs are based on how many CPUs you need, as well as how much memory and storage space you choose. You can also pause the Workspace and pay a lower cost per hour than if you were to keep the Workspace running. Current prices can be found [here](https://cloud.google.com/compute/all-pricing#top_of_page). + +**Storage costs** are driven by the persistent disk. The persistent disk allows you to store data and installed programs/libraries for a low cost. Students can delete their Workspaces but maintain their persistent disk so they still have access to previous programs they have installed and previous files they've created. Current prices can be found [here](https://cloud.google.com/storage/pricing#storage-pricing%20and%20https://cloud.google.com/compute/all-pricing#localssdpricing). + +Finally, **network usage** costs are those involved with transferring data between networks or downloading data from the cloud to your local computer. Current prices can be found [here](https://cloud.google.com/storage/pricing#network-egress). + +## Estimating costs before the class begins + +AnVIL has a free [AnVIL_Cost_Estimator](https://docs.google.com/spreadsheets/d/1GUN93HDRqDbZ0uktaZjoP-y8Ril1T_VIJnQrjRD6tV4) that allows you estimate compute, storage, and network usage costs for your class. This is a Google sheet that you can tailor to fit your needs. Before you use it, make sure the prices are up to date by following the links at the bottom of the sheet. + +If you need to create a Budget Justification for your class, you can also use the free [AnVIL_Budget_Justification](https://docs.google.com/document/d/145JFLn2hviLmaYF-mO06gbCkG0i4HRaWvkUBKORo85Y/edit) template. + +## How much does a class cost? + +One of the advantages of billing projects in Terra is that you can keep track of the costs during real time. You can see how much each Workspace is costing while your course is happening, so there are no unexpected surprises at the end! + +Full details about billing in Terra can be found [here](https://support.terra.bio/hc/en-us/articles/4405325218075). These instructions are adapted from Terra Support. + +To view the costs being accrued by each billing project, you can go to [https://console.cloud.google.com/billing](https://console.cloud.google.com/billing). At the top of the page, there is a dropdown menu. Choose the billing project name you'd like to view. + + +Locating dropdown menu + + +Once you are in proper billing project, you click on "View detailed charges" in the Billing section on the far right. + + +Locating detailed charges + + +This takes you to a report of the detailed charges accrued by the billing account. Here, you will be able to see the total cost over a time range, as well as costs broken down by services. + + +Locating dropdown menu + + +# Setting up the Class Activity + +## Overview of Class Setup + +This section will show you how to organize your class to make it easier to administer access to your content. You will need to have a list of who will be taking your class, such as a course roster or sign-up list, as well as a list of additional instructors or teaching assistants. You can make changes later, so the list of students need not be final. + +## Collect Google IDs + +AnVIL IDs are based on [Google accounts](account-setup.html#google-account). + +Students -- Contact students/participants to get their AnVIL IDs. These should be Gmail addresses or emails with GSuite capabilities. You can link students to [Student Account Setup](student-account-setup.html) for instructions on what they should do. + +Co-instructors -- If you will be working with other instructors, such as co-instructors or teaching assistants, you will need to collect their IDs as well. + +## Set Up Groups +Reminder: + +- Google **Billing Accounts** are managed on Google Cloud Platform and are used for organizing *funding sources* (e.g. credit cards, cloud credits). +- Terra **Billing Projects** are managed through Terra, and allow you to associate your Terra activity with the correct Google Billing Account. + +For a more detailed explanation, please see the chapter on Account Setup. + +We suggest creating two different Terra Billing Projects under the appropriate Billing Account that you created on `cloud.google.com`: one for students and one for co-instructors. The instructions below will walk you through how to set this up. + +Groups enable you to share your class Workspace and manage permissions for many people at once. We recommend starting with one Group for instructors and one Group for students. + +### Instructor Group {#instructor-group} {-} + +Create an informative, unique Group name for any co-instructors and teaching assistants. We suggest a combination of institution-class-role (e.g., “jhu-bmr2021-instructors”). Only letters, numbers, underscores, and dashes are allowed in Group names. To create a Group for instructors: + +1. Go to https://anvil.terra.bio/#groups + +1. Click “+ Create a New Group” + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page. The "Create a New Group" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_6") + ``` + +1. Type in your instructor Group name + +1. Click “CREATE GROUP” + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page with Create New Group pop out box. The Group name, jhu-bmr2021-instructors, has been entered and the "CREATE GROUP" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_16") + ``` + +You now have a unique **instructor Group**. + +#### Add Instructors as "Admin" (Instructor Group) {-} + +Now that your instructor Group has been created, you should add any additional instructors. You should also ensure that they have the correct permissions. + +1. Go to https://anvil.terra.bio/#groups/ and click on the instructor Group name. This page should also be visible at `https://anvil.terra.bio/#groups/`. + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group, and the specific Group that was just created. The Group Name is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g10118383b73_193_0") + ``` + +1. Click on “+Add User”. You will be prompted to add the instructor’s AnVIL ID. + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page for the specific Group that was just created. The "+Add User" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_45") + ``` + +1. Type in the instructor’s AnVIL ID + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the AnVIL ID (email) is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_58") + ``` + +1. Make sure “Can manage users (admin)” is **selected** + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the checkbox "Can manage users (admin)" has been selected and is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_65") + ``` + +1. Click ADD USER. This will take you back to the Group administration page. + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the "ADD USER" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_71") + ``` + +Make sure the newly added instructor displays “Admin” under “Roles” beside their AnVIL ID. Repeat this process for any additional co-instructors and teaching assistants. + +```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the instructor Group that was just created, where the newly added instructor is visible in the user list. The instructor`s AnVIL ID, instructor-1@gmail.com is visible next to the role "Admin", which is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_78") +``` + +### Student Group {#student-group} {-} + +Next, you will create a Group for your students. Create an informative, unique Group name. We suggest a combination of institution-class-role (e.g., “jhu-bmr2021-students”). Only letters, numbers, underscores, and dashes are allowed in Group names. To create a Group for students: + +1. Go to https://anvil.terra.bio/#groups + +1. Click “+ Create a New Group” + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page. The "Create a New Group" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_6") + ``` + +1. Type in your student Group name + +1. Click “CREATE GROUP” + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page with Create New Group pop out box. The Group name, jhu-bmr2021-students, has been entered and the "CREATE GROUP" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_38") + ``` + +You now have a unique **student Group**. + +#### Add Instructors as "Admin" (Student Group) {-} + +The next steps ensure any additional co-instructors and teaching assistants are able to administer the student Group in case you are unavailable. Follow the steps below to add each co-instructor in the student Group: + +1. Go to https://anvil.terra.bio/#groups/ and click on the student Group name. This page should be visible at `https://anvil.terra.bio/#groups/`. + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group, and the specific Group that was just created. The student Group name is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g10118383b73_193_8") + ``` + +1. Click on “+Add User”. You will be prompted to add the instructor’s AnVIL ID. + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page for the specific Group that was just created. The "+Add User" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_104") + ``` + +1. Type in the instructor’s AnVIL ID + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the AnVIL ID (email) is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_58") + ``` + +1. Make sure “Can manage users (admin)” is **selected** + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the checkbox "Can manage users (admin)" has been selected and is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_65") + ``` + +1. Click ADD USER. This will take you back to the Group administration page. + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the "ADD USER" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_71") + ``` + +Make sure the newly added instructor displays “Admin” under “Roles” beside their AnVIL ID. Repeat this process for any additional co-instructors and teaching assistants. + +```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the student Group that was just created, where the newly added instructor is visible in the user list. The instructor`s AnVIL ID, instructor-1@gmail.com is visible next to the role "Admin", which is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_87") +``` + +#### Add Students as "Member" {-} + +Follow the steps below to add individual students to the student Group: + +1. Go to https://anvil.terra.bio/#groups/ and click on the student Group name. This page should be visible at `https://anvil.terra.bio/#groups/`. + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group, and the specific Group that was just created. The student Group name is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g10118383b73_193_8") + ``` + +1. Click on “+Add User”. You will be prompted to add an AnVIL ID. + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page for the specific Group that was just created. The "+Add User" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_104") + ``` + +1. Type in the student’s AnVIL ID + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The student`s AnVIL ID, student-1@gmail.com, has been entered and the AnVIL ID (email) is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_111") + ``` + +1. Click ADD USER + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The student`s AnVIL ID, student-1@gmail.com, has been entered and the "ADD USER" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_117") + ``` + +Make sure the newly added student displays “Member” under “Roles” beside their AnVIL ID. At present, each student’s AnVIL ID must be added separately. + +```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the student Group that was just created, where the newly added student is visible in the user list. The student`s AnVIL ID, student-1@gmail.com is visible next to the role "Member", which is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_125") +``` + +Your instructor and student Groups are now set up. + +### Group Email Lists {-} + +Note that your newly created Groups have Group emails associated with them. Take note of these Group emails. You will use them for granting access to your class Billing Projects and Workspaces in the next steps. + +```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page. Emails associated with newly formed Groups have been highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_96") +``` + +## Set Up Billing Projects + +Billing Projects in Terra help organize your compute costs. Like Groups, we suggest creating two different billing projects under the appropriate Billing Account that you created on `cloud.google.com`: one for students and one for co-instructors. + +Billing Project names must be globally unique and cannot exceed 30 characters. + +### Instructor Billing Project {#instructor-billing-project} {-} + +First, create the Billing Project for instructors. We suggest the name of the Billing Project should be a combination of institution-class-role (e.g., "jhu-bmr2021-instructors-bill-1"). To create a Billing Project for instructors: + +1. Go to https://anvil.terra.bio/#billing + +1. Click “+CREATE” + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page. The "+CREATE" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_88") + ``` + +1. Type in your instructor Billing Project name + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The new billing project name, jhu-bmr2021-instructors-bill-1, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_98") + ``` + +1. Select the appropriate Billing Account + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The appropriate billing account name, My Billing Account, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_2") + ``` + +1. Click “CREATE BILLING PROJECT” + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The "CREATE BILLING PROJECT" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_9") + ``` + +You now have a unique **instructor Billing Project**. + +#### Add Instructors as “Owner” (Instructor Project) {-} + +Next, you want to give instructors permission to use the Billing Project to compute. To set instructor permissions: + +1. Go to https://anvil.terra.bio/#billing + +1. Select the “Owned by You” Billing Project sub-list + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_0") + ``` + +1. Select the Billing Project you made for instructors in [Instructor Billing Project](#instructor-billing-project) + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The instructor Billing project, in this case jhu-bmr2021-instructors, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_10") + ``` + +1. Select the “Users” tab + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The instructor Billing project, in this case jhu-bmr2021-instructors, has been selected and the Users Tab is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_24") + ``` + +1. Click “+ Add User”. You will be prompted to add a “User email *”. + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The instructor Billing project, in this case jhu-bmr2021-instructors, has been selected and the "+Add User" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_39") + ``` + +1. Begin typing the instructor Group name set up in [Instructor Group](#instructor-group). You should see an email in the form @firecloud.org (e.g., jhu-bmr2021-instructors@firecloud.org). + +1. Ensure “Can manage users (Owner)” is **selected** + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_54") + ``` + +1. Click “ADD USER” + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked. The "ADD USER" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_70") + ``` + +Your **instructor Billing Project** is now set up. + +### Student Billing Project {#student-billing-project} {-} + +Next, create a student Billing Project. Again, we suggest a combination of institution-class-role (e.g., “jhu-bmr2021-students-bill-1”). To create a Billing Project for students: + +1. Go to https://anvil.terra.bio/#billing + +1. Click “+CREATE” + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page. The "+CREATE" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_88") + ``` + +1. Type in your student Billing Project name + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The new billing project name, jhu-bmr2021-students-bill-1, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_15") + ``` + +1. Select the appropriate Billing Account (same as above) + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The appropriate billing account name, My Billing Account, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_21") + ``` + +1. Click “CREATE BILLING PROJECT” + + ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The "CREATE BILLING PROJECT" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_27") + ``` + +You now have a unique **student Billing Project**. + +#### Add Instructors as “Owner” (Student Project) {-} + +You want to ensure any additional co-instructors and teaching assistants are able to administer the student Billing Project in case you are unavailable. To set instructor permissions: + +1. Go to https://anvil.terra.bio/#billing + +1. Select the “Owned by You” Billing Project sub-list + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_0") + ``` + +1. Select the Billing Project you made for students in [Student Billing Project](#student-billing-project) + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The student Billing project, in this case jhu-bmr2021-students, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_90") + ``` + +1. Select the “Users” tab + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the Users Tab is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_301") + ``` + +1. Click “+ Add User”. You will be prompted to add a “User email *”. + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the "+Add User" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_315") + ``` + +1. Begin typing the instructor Group name set up in [### Set Up Groups]. You should see an email in the form @firecloud.org (e.g., jhu-bmr2021-instructors@firecloud.org). + +1. Ensure “Can manage users (Owner)” is **selected** + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_54") + ``` + +1. Click “ADD USER” + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked. The "ADD USER" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_70") + ``` + +::: {.notice} +This step makes it so that co-instructors can edit permissions and administer the student Billing Project as needed. While this means you and co-instructors can compute using the student Billing Project, this makes spending difficult to track. Instructors should always use the **instructor Billing Project** to compute. This makes it much easier to track costs associated with instructors versus students. +::: + +#### Add Students as “User” {-} + +Next, you will add your student Group to the student Billing Project so that they can compute. To set student permissions: + +1. Go to https://anvil.terra.bio/#billing + +1. Select the “Owned by You” Billing Project sub-list + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_0") + ``` + +1. Select the Billing Project you made for students in [Student Billing Project](#student-billing-project) + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The student Billing project, in this case jhu-bmr2021-students, is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_90") + ``` + +1. Select the “Users” tab + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the Users Tab is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_301") + ``` + +1. Click “+ Add User”. You will be prompted to add a “User email *”. + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the "+Add User" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_315") + ``` + +1. Begin typing the student Group name set up in [Student Group](#student-group). You should see an email in the form @firecloud.org (e.g., jhu-bmr2021-students@firecloud.org). + +1. Keep “Can manage users (Owner)” **deselected**. + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The student Group email, in this case jhu-bmr2021-students@firecloud.org, has been filled in and the Owner role checkbox has NOT been ticked.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_132") + ``` + +1. Click “ADD USER” + + ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The student Group email, in this case jhu-bmr2021-students@firecloud.org, has been filled in and the Owner role checkbox has NOT been ticked. The "ADD USER" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_327") + ``` + +Your **student Billing Project** is now set up. + +## Set Permissions on the Workspace + +Finally, you will want to set up permissions for co-instructors and students to see the class Workspace you created with the development Billing Project in [Developing Content](developing-content.html). AnVIL users can take on the "Owner", "Writer", or "Reader" role for a Workspace. + +### Add Instructors as “Owner” {-} + +You should add your co-instructors and teaching assistants as “Owners” to the class Workspace. This is useful if they need to edit the course content or share the space with students on your behalf. To share and change permissions: + +1. Go to https://anvil.terra.bio/#workspaces and find your class Workspace you set up in [Developing Content](developing-content.html) + +1. Click the teardrop button for your class Workspace + +1. Click “Share”. This will open a dialog box. + + ```{r, echo=FALSE, fig.alt='Screenshot of the class Workspace listed in the Workspaces tab. The teardrop button and the option to "Share" the Workspace are highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_344") + ``` + +1. Enter the name of the instructor Group (e.g., jhu-bmr2021-instructors). This will create a dropdown for the Group permissions in the box. Select this Group. + + ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The text "jhu-bmr" has been entered in the User email box and the dropdown below has been automatically filtered to reveal the instructor, student, and dev Groups. The instructor Group, in this case jhu-bmr2021-instructors@firecloud.org, has been highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_138") + ``` + +1. Change permissions to “Owner” using the dropdown menu under the instructor Group + + ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The instructor Group, in this case jhu-bmr2021-instructors@firecloud.org, has been added as a collaborator. The permissions are highlighted and show that role has been set to "Owner".'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_356") + ``` + +1. Click “SAVE” + + ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The instructor Group email has been added with permissions correctly set. The "SAVE" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_365") + ``` + +::: {.notice} +This step makes it so that co-instructors can edit the original content of the Workspace as needed. While this means you and co-instructors can compute using the development Billing Project, this makes spending difficult to track. Instructors should instead clone the Workspace using the **instructor Billing Project**. This makes it much easier to track costs associated with this iteration of your class versus further iterations (e.g., the following semester or year). +::: + +### Add Students as “Reader” {-} + +Next, add your students as “Readers” to the class Workspace. This means they will be able to view and clone the Workspace, but not make edits or perform computations. To share the Workspace: + +1. Click the teardrop button for your class Workspace + +1. Click “Share”. This will open a dialog box. + + ```{r, echo=FALSE, fig.alt='Screenshot of the class Workspace listed in the Workspaces tab. The teardrop button and the option to "Share" the Workspace are highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_344") + ``` + +1. Enter the name of the student Group. This will create a dropdown for the Group permissions in the box. Select this Group. + + ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The text "jhu-bmr" has been entered in the User email box and the dropdown below has been automatically filtered to reveal the student and dev Groups. The student Group, in this case jhu-bmr2021-students@firecloud.org, has been highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_378") + ``` + +1. Ensure permissions are set to “Reader” (default) + + ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The student Group, in this case jhu-bmr2021-students@firecloud.org, has been added as a collaborator. The permissions are highlighted and show that role is "Reader".'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_386") + ``` + +1. Click “SAVE” + + ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The student Group email has been added with permissions correctly set. The "SAVE" button is highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_394") + ``` + +You have now correctly set up your class permissions! + +## Notify Terra + +Contacting Terra ahead of your class time helps the Terra team avoid any major disruptions to your class. Contact Terra by [submitting a request](https://support.terra.bio/hc/en-us/requests/new) for a hold on scheduled maintenance and downtime. It’s also a good idea to ask about major changes planned for the time prior to your class. + + +# Getting Credit for Professional Development + +We are happy to provide a letter to your supervisor, department head, or dean to indicate you've worked through this content and intend to use it in your class. diff --git a/07-using_platforms_modules.Rmd b/07-using_platforms_modules.Rmd deleted file mode 100644 index c1cab54..0000000 --- a/07-using_platforms_modules.Rmd +++ /dev/null @@ -1,124 +0,0 @@ -```{r echo = FALSE} -knitr::opts_chunk$set(out.width = "100%") -``` - -# Using programming platforms on AnVIL - -Modules about opening, touring, and closing AnVIL platforms - -
- -## Video overview on using Jupyter Notebooks - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_jupyter_video.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -## Launching Jupyter - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_jupyter_launch.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Video overview on using Galaxy - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_galaxy_video.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -## Starting Galaxy - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_galaxy_start.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Navigating Galaxy - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_galaxy_navigate.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Deleting Galaxy - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_galaxy_delete.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Video overview on using RStudio - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_rstudio_video.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -## Launching RStudio - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_rstudio_launch.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Touring RStudio - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_rstudio_tour.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Pausing RStudio - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_rstudio_pause.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Deleting RStudio - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_rstudio_delete.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: diff --git a/08-student_anvil_guide.Rmd b/08-student_anvil_guide.Rmd new file mode 100644 index 0000000..9d8aaa1 --- /dev/null +++ b/08-student_anvil_guide.Rmd @@ -0,0 +1,116 @@ +# (PART\*) Student Guide to Galaxy on AnVIL {-} + + +```{r, include = FALSE} +ottrpal::set_knitr_image_path() +``` + + +# Using Galaxy on AnVIL + +In the next few steps, you will walk through how to get set up to use Galaxy on the AnVIL platform. AnVIL is centered around different “Workspaces”. Each Workspace functions almost like a mini code laboratory - it is a place where data can be examined, stored, and analyzed. The first thing we want to do is to copy or “clone” a Workspace to create a space for you to experiment. + +Use a web browser to go to the AnVIL website. In the browser type: + +``` +anvil.terra.bio +``` + +:::{.notice} +**Tip** +At this point, it might make things easier to open up a new window in your browser and split your screen. That way, you can follow along with this guide on one side and execute the steps on the other. +::: + +Your instructor will give you information on which workspace you should clone. After logging in, click “View Workspaces”. Select the “Public” tab. In the top search bar type the activity workspace. + +Clone the workspace by clicking the teardrop button (![teardrop button](resources/images/teardrop.png){#id .class width=25 height=20px}). And selecting “Clone”. + +```{r, echo=FALSE, fig.alt='Screenshot showing the teardrop button. The button has been clicked revealing the "clone" option. The Clone option and the teardrop button are highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.ged15532ded_0_625") +``` + +In the first box, give your Workspace clone a name by adding an underscore (“_”) and your name. For example, “SARS-CoV-2-Genome_Ava_Hoffman”. Next, select the Billing project provided by your instructor. Leave the bottom two boxes as-is and click “CLONE WORKSPACE”. + +```{r, echo=FALSE, fig.alt='Screenshot showing the "clone a workspace" popout. The Workspace name, Billing Project, and Clone Workspace button have been filled in and highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.ged15532ded_0_648") +``` + +## Video overview on using Galaxy + +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "child/_child_galaxy_video.Rmd", + repo_name = "jhudsl/AnVIL_Template" +) +``` + + +## Starting Galaxy {#starting-galaxy} + +Galaxy is a free, relatively easy to use bioinformatics implementation package. It changes command line programs into GUI based programs and is a great tool for performing bioinformatics analysis without having to update software or worry too much about coding. In order to use Galaxy, we need to create a cloud environment. This is like quickly renting a few computers from Google as the engine to power our Galaxy analysis. + +:::{.warning} +Currently, you will need to use Chrome or Safari as your browser for Galaxy cloud environments to work. +::: + +In your new Workspace, click on the “ANALYSES” tab. Next, click on “START”. You should see a popup window on the right side of the screen. Click on the Galaxy logo to proceed. + +```{r, echo=FALSE, fig.alt='Screenshot of the Workspace Notebooks tab. The notebook tab name and the plus button that starts a cloud environment for Galaxy have been highlighted,'} +ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.ged15532ded_0_788") +``` + +Click on “NEXT” and “CREATE” to keep all settings as-is. + +```{r, echo=FALSE, fig.alt='The CREATE button among cloud environments has been highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.ged15532ded_0_798") +``` + +Click on the Galaxy icon. + +```{r, echo=FALSE, fig.alt='The Galaxy icon appears if the environment has been successfully launched.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.g2283b458fae_100_31") +``` + +You will see that the environment is still being set up. + +```{r, echo=FALSE, fig.alt='The status of the cloud computing environment shows that it is still being set up.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.g2283b458fae_100_38") +``` + +This will take 8-10 minutes. When it is done, click “Open”. You might need to refresh the page. + +```{r, echo=FALSE, fig.alt='The Provisioning status text has changed to "Launch Galaxy" indicating the cloud environment is ready to use.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.g2283b458fae_100_46") +``` + +:::{.notice} +Remember that you can refresh your browser or navigate away at any time. This is because the connection to the environment is in the cloud, not on your personal computer. +::: + +You can also follow along with the first ~2 minutes of [this video](https://jhudatascience.org/AnVIL_Book_Getting_Started/starting-galaxy.html) to start Galaxy on AnVIL. + +## Navigating Galaxy + +Notice the three main sections. + +**Tools** - These are all of the bioinformatics tool packages available for you to use. + +**The Main Dashboard** - This contains flash messages and posts when you first open Galaxy, but when we are using data this is the main interface area. + +**History** - When you start a project you will be able to see all of the documents in the project in the history. Now be aware, this can become very busy. Also the naming that Galaxy uses is not very intuitive, so you must make sure that you label your files with something that makes sense to you. + +```{r, echo=FALSE, fig.alt='Screenshot of the Galaxy landing page. The Tools and History headings have been highlighted.'} +ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.ged15532ded_0_816") +``` + +On the welcome page, there are links to tutorials. You may try these out on your own. If you want to try a new analysis this is a good place to start. + +## Deleting Galaxy + +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "child/_child_galaxy_delete.Rmd", + repo_name = "jhudsl/AnVIL_Template" +) +``` + diff --git a/08-student_modules.Rmd b/08-student_modules.Rmd deleted file mode 100644 index efb5178..0000000 --- a/08-student_modules.Rmd +++ /dev/null @@ -1,141 +0,0 @@ -```{r echo = FALSE} -knitr::opts_chunk$set(out.width = "100%") -``` - -# Student instructions - -Modules aimed at students in a course or workshop. - -
- -## Student Account Setup - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_student_create_account.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Student instructions for cloning a Workspace - -These instructions can be customized to a specific workspace by setting certain variables before running `cow::borrow_chapter()`. If these variables have not been set, reasonable defaults are provided (e.g. "ask your instructor"). - -### With no variables set: - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_student_workspace_clone.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -### With variables set: - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -# Specify variables -AnVIL_module_settings <- list( - workspace_name = "Example_Workspace", - workspace_link = "http://example.com/", - billing_project = "Example Billing Project" -) - -cow::borrow_chapter( - doc_path = "child/_child_student_workspace_clone.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Student instructions for launching Jupyter - -The module below is specially customized for students, allowing you to give more specific instructions on the settings for their Jupyter environment. There are several other general purpose modules that may also be useful for students (e.g. Pausing Jupyter, Deleting Jupyter) that can be found in other chapters of this book. - -The following instructions can be customized by setting certain variables before running `cow::borrow_chapter()`. Developers should create these variables as a list `AnVIL_module_settings`. The following variables can be provided: - -- `audience` = Defaults to `general`, telling them to use the default Jupyter settings. If `audience` is set to `student`, it gives more specific instructions. -- `docker_image` = Optional, it will tell them how to set the image. -- `startup_script` = Optional, it will tell them how to set the script. - -### Using default Jupyter environment: - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -# Specify variables -AnVIL_module_settings <- list( - audience = "student" -) - -cow::borrow_chapter( - doc_path = "child/_child_jupyter_launch.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -### Using custom Jupyter environment: - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -# Specify variables -AnVIL_module_settings <- list( - audience = "student", - docker_image = "example docker", - startup_script = "example startup script" -) - -cow::borrow_chapter( - doc_path = "child/_child_jupyter_launch.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Student instructions for launching RStudio - -The module below is specially customized for students, allowing you to give more specific instructions on the settings for their RStudio environment. There are several other general purpose modules that may also be useful for students (e.g. Pausing RStudio, Deleting RStudio) that can be found in other chapters of this book. - -The following instructions can be customized by setting certain variables before running `cow::borrow_chapter()`. Developers should create these variables as a list `AnVIL_module_settings`. The following variables can be provided: - -- `audience` = Defaults to `general`, telling them to use the default RStudio settings. If `audience` is set to `student`, it gives more specific instructions. -- `docker_image` = Optional, it will tell them to open the customization dialogue and direct them on how to set the image. -- `startup_script` = Optional, it will tell them to open the customization dialogue and direct them on how to set the script. - -### Using default RStudio environment: - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -# Specify variables -AnVIL_module_settings <- list( - audience = "student" -) - -cow::borrow_chapter( - doc_path = "child/_child_rstudio_launch.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -### Using custom RStudio environment: - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -# Specify variables -AnVIL_module_settings <- list( - audience = "student", - docker_image = "example docker", - startup_script = "example startup script" -) - -cow::borrow_chapter( - doc_path = "child/_child_rstudio_launch.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: diff --git a/09-soil_exploration_module.Rmd b/09-soil_exploration_module.Rmd new file mode 100644 index 0000000..a39c610 --- /dev/null +++ b/09-soil_exploration_module.Rmd @@ -0,0 +1,269 @@ +# (PART\*) Data Exploration {-} + + +```{r, include = FALSE} +ottrpal::set_knitr_image_path() +``` + +# Exploring Soil Testing Data With R + +In this activity, you'll have a chance to become familiar with the BioDIGS soil testing data. This dataset includes information on the inorganic components of each soil sample, particularly metal concentrations. Human activity can increase the concentration of inorganic compounds in the soil. When cars drive on roads, compounds from the exhaust, oil, and other fluids might settle onto the roads and be washed into the soil. When we put salt on roads, parking lots, and sidewalks, the salts themselves will eventually be washed away and enter the ecosystem through both water and soil. Chemicals from factories and other businesses also leech into our environment. All of this means the concentration of heavy metals and other chemicals will vary among the soil samples collected for the BioDIGS project. + +## Before You Start + +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "child/_child_google_create_account.Rmd", + repo_name = "jhudsl/AnVIL_Template" +) +``` + +## Objectives + +This activity will teach you how to use the AnVIL platform to: + +1. Import data into RStudio +1. Examine a csv file that contains the soil testing data from the BioDIGS project +1. Calculate summary statistics for variables in the soil testing data +1. Create and interpret histograms and boxplots for variables in the soil testing data + + +## Part 1. Data Import + +We will use the `BioDIGS` package to retrieve the data. We first need to install the package from where it is stored on GitHub. + +```{r, message = FALSE, warning = FALSE, echo = FALSE} + +library(readr) +soil.values <- read_csv(file = "soil_testing_data.csv") +``` + + +```{r, message = FALSE, warning = FALSE, eval=F} + +devtools::install_github("fhdsl/BioDIGSData") +``` + +Once you've installed the package, we can load the library and assign the soil testing data to an _object_. This command follows the code structure: + +dataset_object_name <- stored_BioDIGS_dataset + +```{r, message = FALSE, warning = FALSE, eval=F} + +library(BioDIGSData) + +soil.values <- BioDIGS_soil_data() +``` + +It _seems_ like the dataset loaded, but it's always a good idea to verify. There are many ways to check, but the easiest approach (if you're using RStudio) is to look at the Environment tab on the upper right-hand side of the screen. You should now have an object called `soil.values` that includes some number of observations for 28 variables. The _observations_ refer to the number of rows in the dataset, while the _variables_ tell you the number of columns. As long as neither the observations or variables are 0, you can be confident that your dataset loaded. + +Let's take a quick look at the dataset. We can do this by clicking on soil.values object in the Environment tab. (Note: this is equivalent to typing `View(soil.values)` in the R console.) + +If the dataset loaded, you will see an object with non-zero observations and variables in the Environment tab + + +This will open a new window for us to scroll through the dataset. + +You can click on the object in the Environment tab to open a new window that allows you to scroll through the loaded dataset + +Well, the data definitely loaded, but those column names aren't immediately understandable. What could **As_EPA3051** possibly mean? In addition to the dataset, we need to load the _data dictionary_ as well. + +:::{.dictionary} + +**Data dictionary:** a file containing the names, definitions, and attributes about data in a database or dataset. + +::: + +In this case, the data dictionary can help us make sense of what sort of values each column represents. The data dictionary for the BioDIGS soil testing data is available in the R package (see code below), but we have also reproduced it here. + +```{r, message = FALSE, warning = FALSE, eval=FALSE} + +?BioDIGS_soil_data() +``` + +:::{.dictionary} + +- **site_id** Unique letter and number site name +- **full_name** Full site name +- **As_EPA3051** Arsenic (mg/kg), EPA Method 3051A. Quantities < 3.0 are not detectable. +- **Cd_EPA3051** Cadmium (mg/kg), EPA Method 3051A. Quantities < 0.2 are not detectable. +- **Cr_EPA3051** Chromium (mg/kg), EPA Method 3051A +- **Cu_EPA3051** Copper (mg/kg), EPA Method 3051A +- **Ni_EPA3051** Nickel (mg/kg), EPA Method 3051A +- **Pb_EPA3051** Lead (mg/kg), EPA Method 3051A +- **Zn_EPA3051** Zinc (mg/kg), EPA Method 3051A +- **water_pH** +- **A-E_Buffer_pH** +- **OM_by_LOI_pct** Organic Matter by Loss on Ignition +- **P_Mehlich3** Phosphorus (mg/kg), using the Mehlich 3 soil test extractant +- **K_Mehlich3 Potassium** (mg/kg), using the Mehlich 3 soil test extractant +- **Ca_Mehlich3** Calcium (mg/kg), using the Mehlich 3 soil test extractant +- **Mg_Mehlich3** Magnesium (mg/kg), using the Mehlich 3 soil test extractant +- **Mn_Mehlich3** Manganese (mg/kg), using the Mehlich 3 soil test extractant +- **Zn_Mehlich3** Zinc (mg/kg), using the Mehlich 3 soil test extractant +- **Cu_Mehlich3** Copper (mg/kg), using the Mehlich 3 soil test extractant +- **Fe_Mehlich3** Iron (mg/kg), using the Mehlich 3 soil test extractant +- **B_Mehlich3** Boron (mg/kg), using the Mehlich 3 soil test extractant +- **S_Mehlich3** Sulfur (mg/kg), using the Mehlich 3 soil test extractant +- **Na_Mehlich3** Sodium (mg/kg), using the Mehlich 3 soil test extractant +- **Al_Mehlich3** Aluminum (mg/kg), using the Mehlich 3 soil test extractant +- **Est_CEC** Cation Exchange Capacity (meq/100g) at pH 7.0 (CEC) +- **Base_Sat_pct** Base saturation (BS). This represents the percentage of CEC occupied by bases (Ca2+, Mg2+, K+, and Na+). The %BS increases with increasing soil pH. The availability of Ca2+, Mg2+, and K+ increases with increasing %BS. +- **P_Sat_ratio** Phosphorus saturation ratio. This is the ratio between the amount of phosphorus present in the soil and the total capacity of that soil to retain phosphorus. The ability of phosphorus to be bound in the soil is primary a function of iron (Fe) and aluminum (Al) content in that soil. + +::: + +Using the data dictionary, we find that the values in column `As_EPA3051` give us the arsenic concentration in mg/kg of each soil sample, as determined by EPA Method 3051A. While arsenic can occur naturally in soils, higher levels suggest the soil may have been contaminated by mining, hazardous waste, or pesticide application. Arsenic is toxic to humans. + +We can also look at just the names of all the columns using the R console using the `colnames()` command. + +```{r, message = FALSE, warning = FALSE} + +colnames(soil.values) +``` + +Most of the column names are found in the data dictionary, but the very last column ("region") isn't. How peculiar! Let's look at what sort of values this particular column contains. The tab with the table of the `soil.views` object should still be open in the upper left pane of the RStudio window. If not, you can open it again by clicking on `soils.view` in the Environment pane, or by using the `View()` command. + +```{r, message = FALSE, warning = FALSE, eval = F} + +View(soil.values) +``` + +Switch to the soil.values tab to look at what values are in the region column + + +If you scroll to the end of the table, we can see that "region" seems to refer to the city or area where the samples were collected. For example, the first 24 samples all come from Baltimore City. + +We can see the first samples in the dataset were collected in Baltimore City + + +You may notice that some cells in the `soil.values` table contain _NA_. This just means that the soil testing data for that sample isn't available yet. We'll take care of those values in the next part. + +::: {.reflection} +QUESTIONS: + +1. How many observations are in the soil testing values dataset that you loaded? What do each of these observations refer to? + +2. What data is found in the column labeled "Fe_Mehlich3"? Why would we be interested how much of this is in the soil? (You may have to search the internet for this answer.) + +::: + +## Part 2. Data Summarization + +Now that we have the dataset loaded, let's explore the data in more depth. + +First, we should remove those samples that don't have soil testing data yet. We _could_ keep them in the dataset, but removing them at this stage will make the analysis a little cleaner. In this case, as we know the reason the data are missing (and that reason will not skew our analysis), we can safely remove these samples. This will not be the case for every data analysis. + +We can remove the unanalyzed samples using the `drop_na()` function from the `tidyr` package. This function removes any rows from a table that contains _NA_ for a particular column. This command follows the code structure: + +dataset_new_name <- dataset %>% drop_na(column_name) + +The `%>% is called a pipe and it tells R that the commands after it should all be applied to the object in front of it. (In this case, we can filter out all samples missing a value for "As_EPA3051" as a proxy for samples without soil testing data.) + +```{r, message = FALSE, warning = FALSE} + +library(tidyr) + +soil.values.clean <- soil.values %>% drop_na(As_EPA3051) +``` + +Great! Now let's calculate some basic statistics. For example, we might want to know what the mean (average) lead concentration is for each soil sample. According to the data dictionary, the values for lead concentration are in the column labeled "Pb_EPA3051". We can use a combination of two functions: `pull()` and `mean()`.`pull()` lets you extract a column from your table for statistical analysis, while `mean()` calculates the average value for the extracted column. + +This command follows the code structure: + +OBJECT %>% pull(column_name) %>% mean() + +`pull()` is a command from the `tidyverse` package, so we'll need to load that library before our command. + +```{r, message = FALSE, warning = FALSE} + +library(tidyverse) + +soil.values.clean %>% pull(As_EPA3051) %>% mean() +``` + +We can run similar commands to calculate the standard deviation, minimum, and maximum for the soil arsenic values. + +```{r, message = FALSE, warning = FALSE} + +soil.values.clean %>% pull(As_EPA3051) %>% sd() +soil.values.clean %>% pull(As_EPA3051) %>% min() +soil.values.clean %>% pull(As_EPA3051) %>% max() +``` +As you can see, the standard deviation of the arsenic concentrations is listed first, then the minimum concentration, and finally the maximum concentration. + +The soil testing dataset contains samples from multiple geographic regions, so maybe it's more meaningful to find out what the average arsenic values are for each region. We have to do a little bit of clever coding trickery for this using the `group_by` and `summarize` functions. First, we tell R to split our dataset up by a particular column (in this case, region) using the `group_by` function, then we tell R to summarize the mean arsenic concentration for each group. Because there are several different functions with the name `summarize` in R, we have to specify that we want to use `summarize` from the `dplyr` package. This command follows the code structure: + +dataset %>% + group_by(column_name) %>% + dplyr::summarize(Mean = mean(column_name)) + +```{r, message = FALSE, warning = FALSE} + +soil.values.clean %>% + group_by(region) %>% + dplyr::summarize(Mean = mean(As_EPA3051)) +``` + +Now we know that the mean arsenic concentration might be different for each region, and appears higher for the Baltimore City samples than the Montgomery County samples. + +::: {.reflection} +QUESTIONS: + +3. What is the mean iron concentration for samples in this dataset? What about the standard deviation, minimum value, and maximum value? + +2. Calculate the mean iron concentration by region. Which region has the highest mean iron concentration? What about the lowest? + +::: + +## Part 3. Data Visualization + +Often, it can be easier to immediately interpret data displayed as a plot than as a list of values. For example, we can more easily understand how the arsenic concentration of the soil samples are distributed if we create histograms compared to looking at point values like mean, standard deviation, minimum, and maximum. + +One way to make histograms in R is to use the `hist()` function. We can again use the `pull()` command and pipes (`%>%`) to choose the column we want from the `soil.values.clean` dataset and make a histogram of them. Remember, this command follows the code structure: + +dataset %>% + pull(column_name) %>% + hist(main = chart_title, xlab = x_axis_title) + +In this case, we do _not_ have to use the `dplyr::summarize` command before `hist()` because there's only one function called `hist()` in the packages we're using. + +```{r, message = FALSE, warning = FALSE} + +soil.values.clean %>% + pull(As_EPA3051) %>% + hist(main = 'Histogram of Arsenic Concentration', + xlab ='Concentration in mg/kg' ) +``` + +We can see that almost all the soil samples had very low concentrations of arsenic (which is good news for the soil health!). In fact, many of them had arsenic concentrations close to 0, and only one sampling location appears to have high levels of arsenic. + +We might also want to graphically compare arsenic concentrations among the geographic regions in our dataset. We can do this by creating boxplots. Boxplots are particularly useful when comparing the mean, variation, and distributions among multiple groups. In R, one way to create a boxplot is using the `boxplot()` function. We don't need to use pipes for this command, but instead will specify what columns we want to use from the dataset inside the `boxplot()` function itself. + +This command follows the code structure: + +boxplot(arsenic_concentration ~ grouping_variable, + data = dataset, + main = "Title of Graph", + xlab = "x_axis_title", + ylab = "y_axis_title") + +```{r, message = FALSE, warning = FALSE} +boxplot(As_EPA3051 ~ region, data = soil.values.clean, + main = "Arsenic Concentration by Geographic Region", + xlab = "Region", + ylab = "Arsenic Concentration in mg/kg") +``` + +By using a boxplot, we can quickly see that, while one sampling site within Baltimore City has a very high concentration of arsenic in the soil, in general there isn't a difference in arsenic content between Baltimore City and Montgomery County. + +::: {.reflection} +QUESTIONS: + +5. Create a histogram for _iron_ concentration, as well as a boxplot comparing iron concentration by region. Is the iron concentration similar among regions? Are there any outlier sites with unusually high or low iron concentrations? + +6. Create a histogram for _lead_ concentration, as well as a boxplot comparing lead concentration by region. Is the lead concentration similar among regions? Are there any outlier sites with unusually high or low lead concentrations? + +7. Look at the maps for [iron](https://biodigs.org/#iron_map) and [lead](https://biodigs.org/#lead_map) on the BioDIGS website. Do the boxplots you created make sense, given what you see on these maps? Why or why not? + +::: diff --git a/09-student_guide.Rmd b/09-student_guide.Rmd deleted file mode 100644 index d6fff4a..0000000 --- a/09-student_guide.Rmd +++ /dev/null @@ -1,10 +0,0 @@ - -# Student Guide - -## Activity One - -You might want to create a student guide that contains a different subset of Rmd files from your book, or renders to a different output format (e.g. word document). You can specify the output and Rmd files that will be used for the student guide using the `_output.yml` and `_bookdown.yml` files in the student-guide directory. - -## Activity Two - -Steps of the guide could go here. \ No newline at end of file diff --git a/10-user_management_modules.Rmd b/10-user_management_modules.Rmd deleted file mode 100644 index e618f21..0000000 --- a/10-user_management_modules.Rmd +++ /dev/null @@ -1,38 +0,0 @@ -# User Management - -Modules about Groups and user management - -
- -## Create Terra Group - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_terra_group_create.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Add Member to Terra Group - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_terra_group_add_member.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Find Group Email - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_terra_group_find_email.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: diff --git a/11-why-anvil.Rmd b/11-why-anvil.Rmd deleted file mode 100644 index c8d7e59..0000000 --- a/11-why-anvil.Rmd +++ /dev/null @@ -1,16 +0,0 @@ -# Why AnVIL - -Modules describing why AnVIL is useful for different personas. - -
- -## Why AnVIL for Instructors? - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_why_AnVIL_instructor.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: diff --git a/12-instructor_modules.Rmd b/12-instructor_modules.Rmd deleted file mode 100644 index c2bbc00..0000000 --- a/12-instructor_modules.Rmd +++ /dev/null @@ -1,49 +0,0 @@ -# Instructor modules - -Modules aimed at instructors. - -
- -## Why AnVIL for Instructors? - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_why_AnVIL_instructor.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Checklist Link - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_instructor_checklist_link.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Checklist Timeline (premade content) - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_instructor_timeline_premade.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: - -## Recommendation to use STRIDES - -:::: {.borrowed_chunk} -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_instructor_STRIDES.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` -:::: diff --git a/About.Rmd b/About.Rmd index d79967a..1f992e0 100644 --- a/About.Rmd +++ b/About.Rmd @@ -1,4 +1,3 @@ - # About the Authors {-} These credits are based on our [course contributors table guidelines](https://github.com/jhudsl/OTTR_Template/wiki/How-to-give-credits). @@ -6,61 +5,57 @@ These credits are based on our [course contributors table guidelines](https://gi     - - |Credits|Names| |-------|-----| |**Pedagogy**|| -|Lead Content Instructor(s)|[FirstName LastName]| -|Lecturer(s) (include chapter name/link in parentheses if only for specific chapters) - make new line if more than one chapter involved| Delivered the course in some way - video or audio| -|Content Author(s) (include chapter name/link in parentheses if only for specific chapters) - make new line if more than one chapter involved | If any other authors besides lead instructor| -|Content Contributor(s) (include section name/link in parentheses) - make new line if more than one section involved| Wrote less than a chapter

AnVIL instructions: [Katherine Cox], [Ava Hoffman], [Elizabeth Humphries]| -|Content Editor(s)/Reviewer(s) | Checked your content| -|Content Director(s) | Helped guide the content direction| -|Content Consultants (include chapter name/link in parentheses or word "General") - make new line if more than one chapter involved | Gave high level advice on content

AnVIL instructions: [Allie Cliffe]| -|Acknowledgments| Gave small assistance to content but not to the level of consulting | +|Content Developer|Elizabeth Humphries| +|Content Editors|[Ava Hoffman], [Kate Isaac]| +|Project Directors|[Ava Hoffman], [Michael Schatz], [Jeff Leek], [Frederick Tan]| |**Production**|| -|Content Publisher(s)| Helped with publishing platform| -|Content Publishing Reviewer(s)| Reviewed overall content and aesthetics on publishing platform| +|Content Publisher|[Ira Gooding]| |**Technical**|| -|Course Publishing Engineer(s)| Helped with the code for the technical aspects related to the specific course generation| -|Template Publishing Engineers|[Candace Savonen], [Carrie Wright]| +|Template Publishing Engineers|[Candace Savonen], [Carrie Wright], [Ava Hoffman]| |Publishing Maintenance Engineer|[Candace Savonen]| |Technical Publishing Stylists|[Carrie Wright], [Candace Savonen]| |Package Developers ([ottrpal])|[John Muschelli], [Candace Savonen], [Carrie Wright]| -|**Art and Design**|| -|Illustrator(s)| Created graphics for the course| -|Figure Artist(s)| Created figures/plots for course| -|Videographer(s)| Filmed videos| -|Videography Editor(s)| Edited film| -|Audiographer(s)| Recorded audio| -|Audiography Editor(s)| Edited audio recordings| +|Package Developer ([BioDIGSData])| [Ava Hoffman]| |**Funding**|| -|Funder(s)| Institution/individual who funded course including grant number| -|Funding Staff| Staff members who help with funding| +|Funder| [National Human Genome Research Institute (NHGRI)] | +|Funding Staff| Fallon Bachman, Jennifer Vessio, Emily Voeglein|   + + + + + + ```{r, echo = FALSE} devtools::session_info() ``` -[FirstName LastName]: link to personal website -[Allie Cliffe]: https://alliecliffe.com/ -[Katherine Cox]: https://katherinecox.github.io/ + +[Katherine Cox]: https://publichealth.jhu.edu/faculty/4170/katherine-cox +[Ira Gooding]: https://publichealth.jhu.edu/faculty/4130/ira-gooding [Ava Hoffman]: https://www.avahoffman.com/ -[Elizabeth Humphries]: https://www.linkedin.com/in/elizabeth-humphries-61202a103/ +[Kate Isaac]: https://kweav.github.io/ +[Jeff Leek]: https://jtleek.com/ [John Muschelli]: https://johnmuschelli.com/ +[National Human Genome Research Institute (NHGRI)]: https://www.genome.gov/ [Candace Savonen]: https://www.cansavvy.com/ +[Michael Schatz]: http://schatz-lab.org/ +[Frederick Tan]: https://carnegiescience.edu/frederick-tan [Carrie Wright]: https://carriewright11.github.io/ -[ottrpal]: https://github.com/jhudsl/ottrpal +[Ottrpal]: https://github.com/jhudsl/ottrpal +[BioDIGSData]: https://github.com/fhdsl/BioDIGSData - +![BioDIGS logo](https://raw.githubusercontent.com/fhdsl/AnVIL_BioDIGS_Book/main/assets/GDSCN_style/logo_BioDIGS_final.png){width=300px} -_Programming skills_ - -::: +## Target Audience -## AnVIL Collection {-} +The activities in this guide are written for undergraduate students and beginning graduate students. Some sections require basic understanding of the R programming language, which is indicated at the beginning of the chapter. -Please check out our full collection of AnVIL and related resources: https://hutchdatascience.org/AnVIL_Collection/ +## Platform -# Learning Objectives {-} +The activities in this guide are demonstrated on NHGRI's [AnVIL](https://anvilproject.org/) cloud computing platform. AnVIL is the preferred computing platform for the GDSCN. However, all of these activities can be done using your personal installation of R or using the online [Galaxy](usegalaxy.org) portal. - +## Data - - - +The data generated by the BioDIGS project is available through the [BioDIGS website](biodigs.org), as well as through an [AnVIL workspace](https://anvilproject.org). - +Data about the soil itself as well as soil metal content was generated by the [Delaware Soil Testing Program](https://www.udel.edu/canr/cooperative-extension/environmental-stewardship/soil-testing/) at the University of Delaware. Sequences were generated by the [Johns Hopkins University Genetic Resources Core Facility](https://grcf.jhmi.edu/) and by [PacBio](https://www.pacb.com/). diff --git a/resources/dictionary.txt b/resources/dictionary.txt index 5f9e573..dadb9a8 100644 --- a/resources/dictionary.txt +++ b/resources/dictionary.txt @@ -1,44 +1,111 @@ +abiotic +AGBT +al +Annandale AnVIL BiocManager +BioDIGS +BioDiversity bioinformatics BIPOC Bloomberg +bmr +Brevik +Buffalari callout Callout +Canner +cbe +CEC +csv colData +CosmosID CoV +Cruces +culturable +CUNY customizations dex dexamethasone +Dine +doi +dplyr dropdown +El +et +extractant GDSCN github Glimma glimmaMDS Gmail +Gorovtsov +GSuite +Guttman +Harrisonburg +Hawai'i +HBCUs +https +Illumina impactful Inclusivity +jenvman +jhu Jupyter +Jurkowski limma +LOI +Manoa MDS +Meharry +Mehlich mentorship +meq +metagenomics +Metagenomics +na +Nanopore +ncbi NCI NHGRI NHGRI's +nih +nlm +noa +Notre Onboarding OTTR ottrpal +PacBio +Paso +Petersburg plotMDS +pmc +PMC precompiled premade preprint programmatically +pubmed px reproducibility Rmd RStudio +scitable +scitotenv +Spelman +Summarization timeframe +Towson +Tsaile +unanalyzed +underresourced underserved -Workspaces +wip Workspace's +Workspaces www +xlab +Yan +ylab + diff --git a/soil_data.csv b/soil_data.csv new file mode 100644 index 0000000..8d243f0 --- /dev/null +++ b/soil_data.csv @@ -0,0 +1,67 @@ +"","Timestamp.x","What is your site name?","Who was on your field crew?","What are the GPS coordinates for your site? You can drop a pin using Google Maps or Apple Maps to get these coordinates.","type","type2","What date did you sample?","What time did you sample?","Timestamp.y","site_name","site_id","full_name","google_img_id","ul_hydration","qubit_concentration_ng_ul","total_ng","As_EPA3051","Cd_EPA3051","Cr_EPA3051","Cu_EPA3051","Ni_EPA3051","Pb_EPA3051","Zn_EPA3051","water_pH","A-E_Buffer_pH","OM_by_LOI_pct","P_Mehlich3","K_Mehlich3","Ca_Mehlich3","Mg_Mehlich3","Mn_Mehlich3","Zn_Mehlich3","Cu_Mehlich3","Fe_Mehlich3","B_Mehlich3","S_Mehlich3","Na_Mehlich3","Al_Mehlich3","Est_CEC","Base_Sat_pct","P_Sat_ratio" +"1","5/31/2023 8:45:48","Decker Quad","Ava, Elizabeth, Stephen, Fred","39.3262120, -76.6213047","Managed"," mowed/tended lawns, yard, or park","5/31/2023",08:45:00,"5/31/2023 8:45:48","Decker Quad","B01","B01-Decker Quad","1TQ4lQDBbhQ0Rczf2g_AsmnjHsfgIN5RP",60,109,6540,"< 3.0","0.26",12.77,13.54,6.93,10.69,33.71,6.8,7.95,3.4,47.4,136.87,1384.37,198.67,36.89,5.46,5.21,229.75,0.49,15.42,18.2,472.72,9.3,95.7,21.4 +"2","5/31/2023 9:15:22","Wyman Dell","Ava, Elizabeth, Stephen, Fred","39.3253092, -76.6180579","Managed"," mowed/tended lawns, yard, or park","5/31/2023",09:15:00,"5/31/2023 9:15:22","Wyman Dell","B02","B02-Wyman Dell","14B_XDr6GmiixkYcRCtMPrlboFr6yHV9g",60,194,11640,"5.04","0.53",29.02,31.48,10.75,88.21,83.35,7.2,7.91,6.7,82.21,139.38,3062.75,276.56,43.55,16.45,8.64,256.86,1.5,11.79,17.34,371.99,18.7,96.1,38.9 +"3","5/31/2023 9:58:28","Stony Run","Ava; Elizabeth; Fred; Stephen","(39.3241847, -76.6263905)","Unmanaged"," wild plants/weeds, forest, or grassland","5/31/0023",09:58:00,"5/31/2023 9:58:28","Stony Run","B03","B03-Stony Run","1mgTAftS5EXaqPN-a7Seg2BKXaX2aZcNd",60,458,27480,"6.39","0.68",40.64,56.91,27.12,125.29,160.54,6.8,7.77,8.7,32.98,167.63,1792.92,234.18,65.42,15.95,7.03,136.88,0.86,8.09,4.86,448.43,13.2,86,17.8 +"4","6/1/2023 8:50:17","NDMU Playground","Ava, Fred, Jenn, Stephen, Elizabeth, Tyler, Loraye, Madeline","(39.3519629, -76.6194265)","Managed"," mowed/tended lawns, yard, or park","6/1/2023",08:50:00,"6/1/2023 8:50:17","NDMU Playground","B04","B04-NDMU Playground","1L_XzHPIZefOsbPovznJJzdEqzz2LlSfi",60,137,8220,"4.87","0.35",23.78,25.53,11.58,43.73,71.66,6.8,7.77,5.2,13.15,184.91,1577.25,270.1,34.55,6.29,6.36,139,0.66,8.75,3.33,579.18,12.5,85.2,8.7 +"5","6/1/2023 9:22:57","NDMU Tennis Grove","Ava, Fred, Jenn, Stephen, Elizabeth, Tyler, Loraye, Madeline","(39.3528954, -76.6188471)","Unmanaged"," wild plants/weeds, forest, or grassland","6/1/2023",09:22:00,"6/1/2023 9:22:57","NDMU Tennis Grove","B05","B05-NDMU Tennis Grove","1Puac4ceuMiCiHO6eIlTT2D0YunsAi7UQ",60,142,8520,"7.77","0.46",26.51,30.12,12.53,120.36,98.55,6.5,7.7,5.6,20.8,148.15,1268.44,179.83,22.99,8.55,7.92,126.34,0.44,8.36,3.52,642.73,10.6,77.4,10.7 +"6","6/1/2023 10:04:32","NDMU Library Stream","Ava, Fred, Jenn, Stephen, Elizabeth, Tyler, Loraye, Madeline","(39.3496891, -76.6178148)","Unmanaged"," wild plants/weeds, forest, or grassland","6/1/2023",10:04:00,"6/1/2023 10:04:32","NDMU Library Stream","B06","B06-NDMU Library Stream","1oeucaanReM5nL6G4K1VFy1bQ9tTA9bbk",60,54.6,3276,"4.85","0.3",29.8,25.12,13.3,56.79,100.28,6.8,7.83,4.5,13.15,105.27,1921.19,180.01,35.01,13.36,5.43,156.36,0.77,8.74,5.1,493.12,12.7,89.3,9.3 +"7","6/2/2023 8:46:23","Rock Creek Park Needwood Parking Lot","Ava, Madeline, David, Daniel, Mike, Stephen, Fred, Elizabeth","39.114081, -77.128242","Managed"," mowed/tended lawns, yard, or park","6/2/2023",08:46:00,"6/2/2023 8:46:23","Rock Creek Park Needwood Parking Lot","M01","M01-Rock Creek Park Needwood Parking Lot","1rozkLu0BLnlw3hMvgH493om1AVX9Q0n4",60,71.4,4284,"3.24","< 0.2",37.78,25.96,28,19.39,44.01,6,7.68,5.1,8.57,59.84,1411.22,180.09,38.28,1.89,2.42,163.04,0.4,8.07,4.03,465.32,11.3,77.3,7.8 +"8","6/2/2023 9:13:06","Rock Creek Park Needwood Forest","Mike; Stephen; Fred; Ava; Madeline; Daniel; David; Elizabeth","39.11580, 77.12721","Unmanaged"," wild plants/weeds, forest, or grassland","6/2/2923",09:00:00,"6/2/2023 9:13:06","Rock Creek Park Needwood Forest","M02","M02-Rock Creek Park Needwood Forest","1vFna4SQPgot0nNbhkX0S0ioAsVFYv1ij",60,53.4,3204,"5.18","< 0.2",41.03,19.6,71.89,32.25,52.95,6,7.7,4,5.46,93.96,1541.87,136.56,184,2.9,2.26,120.63,0.83,7.82,2.67,581.5,11.5,79.1,6.3 +"9","6/2/2023 9:38:01","Rock Creek Park Needwood Pavilion","Ava, Madeline, David, Daniel, Mike, Stephen, Fred, Elizabeth","39.11643, -77.12852","Managed"," mowed/tended lawns, yard, or park","6/2/2023",09:37:00,"6/2/2023 9:38:01","Rock Creek Park Needwood Pavilion","M03","M03-Rock Creek Park Needwood Pavilion","1RxbvnHTsCrhvwPC6lD4xj173q8_lC_6E",60,149,8940,"3.13","0.34",57.91,26.9,93.58,61.99,101.24,6,7.66,5.8,15.91,115.43,1451.54,277.71,87.33,10.3,4.81,189.06,0.39,8.71,3.97,547.11,12.6,78.4,9.7 +"10","6/2/2023 10:08:31","Rock Creek Park Hill Trail","Mike Schatz, Madeline Graham, Daniel Chin, David Soussana, Ava Hoffman, Elizabeth Humphries, Stephen Mosher, Fred Tan","39.118353, -77.126822","Unmanaged"," wild plants/weeds, forest, or grassland","6/2/2023",10:07:00,"6/2/2023 10:08:31","Rock Creek Park Hill Trail","M04","M04-Rock Creek Park Hill Trail","1cHKy1TivJG_bDzaVJqrIt5NEh-u3-w-0",60,98.2,5892,"3.87","< 0.2",20.3,17.62,11.41,42.46,34.38,4.9,7.12,7.9,9.54,69.05,74.82,40.38,14.13,2.13,1.08,249.88,0.05,16.18,2.65,907.18,7.9,11.2,6.4 +"11","6/6/2023 7:29:36","Druid Hill Park Playground","Ava, Elizabeth","39.3212027, -76.6417958","Managed"," mowed/tended lawns, yard, or park","6/6/2023",07:29:00,"6/6/2023 7:29:36","Druid Hill Park Playground","B07","B07-Druid Hill Park Playground","10xkePfbIWOZ60QMaNIXDyl0N7IqnZwak",60,92,5520,"27.3","0.61",21.47,21.74,8.55,53.78,75.08,6.4,7.75,5.4,38.85,68.75,1765.21,141.54,57,11.17,6.34,222.72,0.8,11.94,6.77,528.76,12.2,83.6,17.2 +"12","6/6/2023 7:49:45","Druid Hill Park Thicket","Ava, Elizabeth","39.3219790, -76.6415973","Unmanaged"," wild plants/weeds, forest, or grassland","6/6/2023",07:49:00,"6/6/2023 7:49:45","Druid Hill Park Thicket","B08","B08-Druid Hill Park Thicket","1uKI3nE39rrjEO5gwHXkxVBlqrdtg7jLi",60,130,7800,"7.47","0.33",26.65,24.16,11.01,86.8,64.7,5.7,7.61,5.2,26.81,117.21,614.2,90.43,94.1,7.5,6.86,135.78,0.26,14.48,4.33,893.46,7.2,56.9,10.3 +"13","6/6/2023 8:11:05","Druid Hill Park Hiking Trail","Ava, Elizabeth","(39.3204848, -76.6444267)","Unmanaged"," wild plants/weeds, forest, or grassland","6/6/2023",08:10:00,"6/6/2023 8:11:05","Druid Hill Park Hiking Trail","B09","B09-Druid Hill Park Hiking Trail","1V47nj_2yMm1DAzmp9amQhu8WQkttvtDe",60,204,12240,"26.66","0.46",38.04,50.11,21.58,69.97,108.65,6.1,7.62,6.8,7.48,183.55,2104.25,356.01,95.76,11.89,7.28,129.19,0.77,9.19,5.94,663.58,17,82.1,6.7 +"14","6/6/2023 8:34:54","Druid Hill Park Baseball Field","Ava, Elizabeth","(39.3195710, -76.6441182)","Managed"," mowed/tended lawns, yard, or park","6/6/2023",08:30:00,"6/6/2023 8:34:54","Druid Hill Park Baseball Field","B10","B10-Druid Hill Park Baseball Field","1SKT1JpADnzUQaPP5OQEiuzWrHzTXkpEs",60,129,7740,"3.43","0.25",21.08,16.24,8.9,80.09,59.97,5.8,7.62,5.8,15.43,62.84,802.97,178.71,29.01,7.91,4.12,357.8,0.4,14.41,21.33,627.9,8.7,65.1,8.5 +"15","6/6/2023 9:24:21","Gwynns Grassland","Ava, Elizabeth","39.2725685, -76.6515768","Unmanaged"," wild plants/weeds, forest, or grassland","6/6/2023",09:23:00,"6/6/2023 9:24:21","Gwynns Grassland","B11","B11-Gwynns Grassland","1uocCMOo_15LMz62b9d6ZiiTMpuWOQgvX",60,130,7800,"< 3.0","1.06",42.85,60.06,24.51,118.74,296.39,6.9,7.92,5.3,25.88,100.88,2209,336.88,44.07,63.33,18.78,243.56,1.22,8.47,7.31,365.72,14.8,95.7,15.6 +"16","6/6/2023 9:36:16","Gwynns Glade","Ava, Elizabeth","39.2731493, -76.6527808","Unmanaged"," wild plants/weeds, forest, or grassland","6/6/2023",09:35:00,"6/6/2023 9:36:16","Gwynns Glade","B12","B12-Gwynns Glade","1R2y8KUXSma4ih77saOlT4lJLK3hsEPxq",60,147,8820,"< 3.0","1.08",51.62,68.57,30.5,124.34,302.42,7.2,7.96,6.4,19.98,88.15,2992.05,243.62,40.13,55.19,22.9,293.57,2.02,10.44,8.46,338.2,17.5,98.2,13.2 +"17","6/6/2023 9:53:26","Gwynns Trailhead","Ava, Elizabeth","39.271642, -76.6482257","Managed"," mowed/tended lawns, yard, or park","6/6/2023",09:52:00,"6/6/2023 9:53:26","Gwynns Trailhead","B13","B13-Gwynns Trailhead","1RSp-9SLtIF71288f_1NtL7WvnumPfSSb",60,147,8820,"3.96","0.35",25.02,20.72,13.22,38.03,86.02,7,7.91,5.3,56.11,133.28,2114.93,252.28,66.44,17.91,6.28,234.11,1.07,11.35,12.36,545.68,13.7,94.8,22.2 +"18","6/7/2023 7:39:15","Herring Run Stump","Ava, Elizabeth","(39.3321370, -76.5758902)","Managed"," mowed/tended lawns, yard, or park","6/7/2023",07:39:00,"6/7/2023 7:39:15","Herring Run Stump","B14","B14-Herring Run Stump","1IABQk4yCQEbRrAgl7XJ2pBB-DO8fzNI3",60,212,12720,"12.98","0.35",27.23,28.46,13.35,56.97,90.02,6.4,7.7,6.7,23.37,120.92,1744.72,196.62,37.77,7.42,6.96,149.24,0.63,11.94,9,565.88,13.1,81.6,12.1 +"19","6/7/2023 8:01:44","Herring Run Field","Ava, Elizabeth","(39.3302272, -76.5726679)","Managed"," mowed/tended lawns, yard, or park","6/7/2023",08:01:00,"6/7/2023 8:01:44","Herring Run Field","B15","B15-Herring Run Field","1jktBKZd9I0pze5GQzDVIJ_2VCf5WYWbT",60,93.8,5628,"4.09","0.29",26.2,23.74,14.35,67.47,110.6,6.3,7.67,4.7,22.9,165.62,1029.4,208.05,30.58,7.78,5.4,154.14,0.39,8.85,3.41,610.94,9.9,73.5,11.5 +"20","6/7/2023 8:21:24","Herring Run Stream Bank","Ava, Elizabeth","(39.3294746, -76.5708624)","Unmanaged"," wild plants/weeds, forest, or grassland","6/7/2023",08:21:00,"6/7/2023 8:21:24","Herring Run Stream Bank","B16","B16-Herring Run Stream Bank","1pYEeggxUF50Q-wAr4o1mWbHN32MiEeoL",60,18.4,1104,"4.84","0.53",27.61,30.22,15.24,102.41,135.78,6.6,7.84,3.3,18.79,113.76,1315.62,205.74,33.41,10.56,8.64,141.64,0.67,6.97,2.72,586.8,9.9,87,10.5 +"21","6/7/2023 8:42:45","Herring Run Hillside Forest","Ava, Elizabeth","(39.3284985, -76.5712121)","Unmanaged"," wild plants/weeds, forest, or grassland","6/7/2023",08:42:00,"6/7/2023 8:42:45","Herring Run Hillside Forest","B17","B17-Herring Run Hillside Forest","1b0Tk7DoTT-Zvj42uPT41n4vldVaYmDxr",60,48.4,2904,"< 3.0","< 0.2",51.21,58.15,31.56,29.24,84.54,6.2,7.67,4.3,11.6,269.55,1021.61,355.35,42.67,2.86,7.57,109.57,0.28,11.93,3.96,860.79,11.4,76.8,7.2 +"22","6/7/2023 9:17:45","Herring Run Footbridge","Ava, Elizabeth","(39.3328439, -76.5739265)","Unmanaged"," wild plants/weeds, forest, or grassland","6/7/2023",09:17:00,"6/7/2023 9:17:45","Herring Run Footbridge","B18","B18-Herring Run Footbridge","1OVfRdY_I4jW1jWnSTrRZM5lEn5e25sst",60,97.6,5856,"5.44","0.51",47.56,58.68,33.39,94.05,162.49,6.5,7.86,6.4,11.28,219.11,1302.45,467.11,91.08,10.03,8.68,119.04,0.94,7.6,4.82,504.38,12.1,90.7,8.7 +"23","6/7/2023 9:59:34","Herring Run Montebello","Ava, Elizabeth","(39.3319241, -76.5796275)","Managed"," mowed/tended lawns, yard, or park","6/7/2023",09:59:00,"6/7/2023 9:59:34","Herring Run Montebello","B19","B19-Herring Run Montebello","1EIz00fHcrx4WAcM9t5F_A6UTQ0viWTx9",60,56.2,3372,"4.47","0.22",23.88,26.02,9.63,76.37,96.93,5.6,7.55,5.3,33.58,121.94,507.65,81.72,17.13,16.25,5.31,196.83,0.14,15.17,4.76,666.95,7.1,49.5,13.7 +"24","6/13/2023 7:27:53","Leakin Trailhead","Ava & Elizabeth","(39.3042679, -76.6944519)","Managed"," mowed/tended lawns, yard, or park","6/12/2023",07:27:00,"6/13/2023 7:27:53","Leakin Trailhead","B20","B20-Leakin Trailhead","13YnUcxXuTPsrTwO6CUMtLbaOA94S3dGL",60,90.4,5424,"< 3.0","< 0.2",77.57,32.21,22.53,33.98,59.02,6.6,7.95,3.7,3.56,71.51,1604.57,349.03,33.99,3.24,4.75,101.76,0.65,5.49,5.72,517.58,11.5,96.5,5.8 +"25","6/13/2023 7:50:18","Leakin Poplar","Ava & Elizabeth","(39.3027325, -76.6957974)","Managed"," mowed/tended lawns, yard, or park","6/12/2023",07:50:00,"6/13/2023 7:50:18","Leakin Poplar","B21","B21-Leakin Poplar","12KYeJZU_nQWCgHpyUgOeaVpVLhVzy5vf",60,73.2,4392,"< 3.0","< 0.2",20.04,28.49,14.65,26.94,51.11,6,7.66,3.7,10.01,135.55,491.18,118.71,20.14,1.38,2.05,82.69,0.18,7.86,4.8,777.54,6.5,58.2,7.1 +"26","6/13/2023 8:06:31","Leakin Glen","Ava, Elizabeth","39.3017521, -76.6965910","Unmanaged"," wild plants/weeds, forest, or grassland","6/13/2023",08:06:00,"6/13/2023 8:06:31","Leakin Glen","B22","B22-Leakin Glen","1f4NGYrVxaG4iSyiCvcOHR3uFln0LG6fN",60,81.4,4884,"< 3.0","< 0.2",77.7,27.48,23.15,23.6,44.66,6.5,7.88,4.4,3.48,73.5,1963.72,254.52,43.9,4.67,5.02,186.88,0.73,5.96,5.3,370.13,13.1,92.7,6.1 +"27","6/13/2023 8:33:45","Leakin Forest","Ava & Elizabeth","(39.3056304, -76.6947600)","Unmanaged"," wild plants/weeds, forest, or grassland","6/13/2023",08:33:00,"6/13/2023 8:33:45","Leakin Forest","B23","B23-Leakin Forest","1MMVp-SnXLo79ISNy8ypHiQrff_JdN_7G",60,63,3780,"3.92","< 0.2",21.44,29.98,19.14,50.04,63.8,5.5,7.25,5.9,7.86,106.32,191.61,86,10.01,2.73,3.43,181.41,0.14,11.04,3.72,916.25,7.9,24.5,6.1 +"28","6/13/2023 8:48:14","Leakin Nature Center","Ava & Elizabeth","(39.3072080, -76.6949263)","Managed"," mowed/tended lawns, yard, or park","6/13/2023",08:48:00,"6/13/2023 8:48:14","Leakin Nature Center","B24","B24-Leakin Nature Center","1p48KBMw5cm4L5UNp-BgNMGqoWO20ypNJ",60,66.8,4008,"< 3.0","< 0.2",39.4,52.81,21.01,34.12,57.4,6.7,7.89,4,10.11,188.37,2138.35,272.19,55.36,8.22,9.16,156.78,0.85,6.33,5.29,463.16,14.3,93.9,8.4 +"29","6/19/2023 8:15:42","Black Hill Visitor Center","Ava & elizabeth","(39.1924796, -77.2958082)","Managed"," mowed/tended lawns, yard, or park","6/19/2023",08:15:00,"6/19/2023 8:15:42","Black Hill Visitor Center","M05","M05-Black Hill Visitor Center","1jINlFvfNqr9O1mBZFWYew-jQNuMQwohO",60,105,6300,"< 3.0","< 0.2",19.15,25.06,18.91,18.13,85.35,6.1,7.84,5.4,15.37,37.1,1889.32,168.38,42.12,2.94,3.24,126.65,0.6,9.86,158.82,365.41,12.2,89.5,12 +"30","6/19/2023 8:32:09","Black Hill Small Wood","Ava & Elizabeth","(39.1923697, -77.2938525)","Unmanaged"," wild plants/weeds, forest, or grassland","6/19/2023",08:32:00,"6/19/2023 8:32:09","Black Hill Small Wood","M06","M06-Black Hill Small Wood","1ncKWeNNzdw52164UluHO_aKH5Q1J2eZ1",60,136,8160,"9.34","< 0.2",14.93,11.56,9.21,54.58,44.01,6,7.23,9.3,10.45,235.73,391.73,102.02,96.85,1.36,0.76,135.75,0.27,13.77,3.23,956.02,9.6,35.7,6.6 +"31","6/19/2023 8:50:13","Black Hill Pavilion A","Ava & Elizabeth","(39.1951344, -77.2909008)","Managed"," mowed/tended lawns, yard, or park","6/19/2023",08:50:00,"6/19/2023 8:50:13","Black Hill Pavilion A","M07","M07-Black Hill Pavilion A","1CW01fLj9fhJnVFXm13vfqicvnekfXBzn",60,176,10560,"7.31","< 0.2",16.91,17.12,12.67,17.83,49.55,6.1,7.46,6.6,15.27,225.95,738.79,179.23,86.01,1.93,1.14,127.1,0.25,11.98,4.26,658.61,10.1,57.2,8.9 +"32","6/19/2023 9:04:20","Black Hill Tiny Meadow","Ava & Elizabeth","(39.1955480, -77.2893639)","Unmanaged"," wild plants/weeds, forest, or grassland","6/19/2023",09:04:00,"6/19/2023 9:04:20","Black Hill Tiny Meadow","M08","M08-Black Hill Tiny Meadow","1pnrMNAW2nDH_pNeNBYLDvd_kLzs4JB7_",60,99,5940,"11.1","0.21",16.03,13.46,10.77,35.93,49.54,6.1,7.5,5.9,18.51,114.43,681.63,96.04,96.78,1.73,0.91,95.26,0.35,14.13,3.19,894.97,8.5,53,8.6 +"33","6/19/2023 9:37:47","Ridge Road Oak Grove","Ava & Elizabeth","(39.2096095, -77.2436929)","Unmanaged"," wild plants/weeds, forest, or grassland","6/19/2023",09:37:00,"6/19/2023 9:37:47","Ridge Road Oak Grove","M09","M09-Ridge Road Oak Grove","1EUTS2qsooMUeQu_WPhRuZo3J3HMV0S7s",60,100,6000,"5.42","< 0.2",15.08,14.17,6.87,53.71,31.7,5.6,7.36,7.9,23.43,136.22,298.76,62.4,47.46,2.18,1.31,217.01,0.12,16.96,3.55,908.8,7.5,31.6,9.3 +"34","6/19/2023 9:51:24","Ridge Road Pine Field","Ava, Elizabeth","39.2099919, -77.2439618","Managed"," mowed/tended lawns, yard, or park","6/19/2023",09:51:00,"6/19/2023 9:51:24","Ridge Road Pine Field","M10","M10-Ridge Road Pine Field","17z8YsxNfHT-wF8YGNgPYeyua7YeIyHZi",60,77.4,4644,"8.95","< 0.2",17.15,25.39,10.57,21.35,35.11,5.7,7.6,4.9,7.72,143.34,1082.18,158.42,95.89,1.38,1.75,144.92,0.29,7,6.04,622.95,10.3,68.9,6.8 +"35","6/19/2023 10:10:53","Ridge Road Leafy Trail","Ava & Elizabeth","(39.2074954, -77.2422723)","Unmanaged"," wild plants/weeds, forest, or grassland","6/19/2023",10:10:00,"6/19/2023 10:10:53","Ridge Road Leafy Trail","M11","M11-Ridge Road Leafy Trail","13W5snhWYSWxQ--QsR2m2d1A0rbvRhGNZ",60,100,6000,"7.34","< 0.2",14.87,11.24,7.01,67.32,29.02,5.3,7.5,10.6,9.7,49.57,141.25,36.49,45.89,2.87,0.59,237.65,0.02,22.28,4.04,978.59,5.1,22.1,6.4 +"36","6/19/2023 10:23:24","Ridge Road Tennis Court","Ava & Elizabeth","(39.2084737, -77.2425640)","Managed"," mowed/tended lawns, yard, or park","6/19/2023",10:23:00,"6/19/2023 10:23:24","Ridge Road Tennis Court","M12","M12-Ridge Road Tennis Court","1FLHR2DmC0QVQKLntWGh0q3D4ijFCvRdv",60,87,5220,"9.71","< 0.2",18.08,31.04,11.7,23.24,48.97,5.8,7.79,5.5,10.2,169.81,1258.23,154.54,72.71,3.4,3.79,127.36,0.47,7.31,3.06,523.3,9.7,82.7,8.1 +"37","6/20/2023 8:12:10","Goshen Stream Davis Mill","Ava, Elizabeth","39.2108606, -77.2053983","Managed"," mowed/tended lawns, yard, or park","6/20/2023",08:12:00,"6/20/2023 8:12:10","Goshen Stream Davis Mill","M13","M13-Goshen Stream Davis Mill","1LrilZORD3AZeupIKsQrutBO4A2aHv5L_",60,28.8,1728,"3.11","0.98",21.29,27.45,22.51,24.55,68.19,5.6,7.81,4.6,8.3,63.77,1366.44,142.01,122.3,4.03,2.88,181.59,0.52,6.92,6.47,480.73,9.7,84.3,7.6 +"38","6/20/2023 8:23:50","Goshen Stream Glade","Ava, Elizabeth","39.2109581, -77.2046218","Unmanaged"," wild plants/weeds, forest, or grassland","6/20/2023",08:23:00,"6/20/2023 8:23:50","Goshen Stream Glade","M14","M14-Goshen Stream Glade","116VaDyIuBjiaSV8ZX4tfARsnmnSfjaNj",60,53.8,3228,"4.79","0.96",22.93,21.74,19.02,22.35,64.65,5,7.56,5.6,12.44,69.91,671.32,113.5,55.16,3.86,2.19,172.14,0.18,8.6,4.46,639.72,8,56,8.1 +"39","6/20/2023 8:46:17","Goshen Stream Seneca Trailhead","Ava, Elizabeth","39.2019044, -77.2025498","Managed"," mowed/tended lawns, yard, or park","6/20/2023",08:46:00,"6/20/2023 8:46:17","Goshen Stream Seneca Trailhead","M15","M15-Goshen Stream Seneca Trailhead","1coKQBwchZR4I60PeLKQ2lb5VomMu08Yz",60,38.6,2316,"< 3.0","0.9",20.79,19.15,16.04,21.55,54.52,6.4,7.83,3.8,47.19,272.9,1405.53,110.35,39.61,1.88,1.9,137.51,0.59,10.15,4.14,630.94,10,86.4,18.6 +"40","6/20/2023 8:59:47","Goshen Stream Fern Gully","Ava, Elizabeth","39.2023669, -77.2013220","Unmanaged"," wild plants/weeds, forest, or grassland","6/20/2023",08:59:00,"6/20/2023 8:59:47","Goshen Stream Fern Gully","M16","M16-Goshen Stream Fern Gully","10xhoJuhx3u7wKLo20Zsc1-dmVUlNBxhs",60,69.6,4176,"< 3.0","0.91",18.77,28.02,20.63,35.61,64.66,4.7,7.1,11.5,11.69,64.96,115.16,60.42,9.26,2.49,1.66,373.66,0.03,18.83,3.57,893.95,8.4,14.8,6.8 +"41","6/20/2023 10:18:21","Goshen Rec Grass","Ava, Elizabeth","39.2238459, -77.2123519","Managed"," mowed/tended lawns, yard, or park","6/20/2023",10:18:00,"6/20/2023 10:18:21","Goshen Rec Grass","M17","M17-Goshen Rec Grass","15Zxa_xtn7wnGK_4bAicZO99r3NnyJbtR",60,144,8640,"< 3.0","1.19",33.91,32.39,51,53.13,99.07,5.5,7.7,6.5,25.7,193.93,1605.62,212.78,42.32,14.6,4.34,184.51,0.82,9.81,4.71,455.44,12.7,81.1,14.3 +"42","6/20/2023 10:31:18","Goshen Rec Arched Tree","Ava, Elizabeth","39.2238549, -77.2126031","Unmanaged"," wild plants/weeds, forest, or grassland","6/20/2023",10:31:00,"6/20/2023 10:31:18","Goshen Rec Arched Tree","M18","M18-Goshen Rec Arched Tree","1JqR-X9Rw6ORPioI2lRd14iZoaFuNyIzB",60,58.6,3516,"3.63","1.08",16.03,22.07,12.11,59.15,119.85,5.2,7.6,4.9,152.04,192.86,799.26,106.83,24.27,13.92,1.92,307.92,0.18,10.27,3,687.28,8.6,62.7,42.2 +"43","6/21/2023 8:16:55","Farm Park Bird Field","Ava, Elizabeth","39.1642713, -77.1349229","Managed"," mowed/tended lawns, yard, or park","6/21/2023",08:16:00,"6/21/2023 8:16:55","Farm Park Bird Field","M19","M19-Farm Park Bird Field","1-UxtRseqxDVwUQyPKGWxW3bqA-OvxS6_",60,111,6660,"4.89","1.1",50.65,47.34,22.68,50.75,136.88,5.7,7.64,6,132.46,128.51,1259.5,156.73,21.95,22.7,8.69,308.55,0.27,11.06,8,586.81,10.8,73.4,41.9 +"44","6/21/2023 8:33:05","Farm Park Stream Side","Ava, Elizabeth","39.1627040, -77.1327725","Unmanaged"," wild plants/weeds, forest, or grassland","6/21/2023",08:33:00,"6/21/2023 8:33:05","Farm Park Stream Side","M20","M20-Farm Park Stream Side","14_lYo5z76LGVbYmxdmKNMOldmlhME2vI",60,63.2,3792,"4.49","0.6",57.32,53.43,18.64,65.61,71.66,5,7.32,6,185.26,65.04,504.29,76.92,18.84,7.14,7.18,510.09,0.03,12.47,7.13,723.9,8.8,38,44.1 +"45","6/21/2023 8:58:01","Farm Park Farmhouse","Ava, Elizabeth","39.1637646, -77.1305888","Managed"," mowed/tended lawns, yard, or park","6/21/2023",08:57:00,"6/21/2023 8:58:01","Farm Park Farmhouse","M21","M21-Farm Park Farmhouse","1FKkWG4N7Q_tz0ZHepfsiXL-jOr51Mfc-",60,99,5940,"3.49","0.27",26.42,30.52,17.31,30.42,77.64,5.3,7.59,5.6,27.92,183.39,756.42,109.82,50.87,5.56,2.32,106.93,0.26,13.26,3.71,625.83,8.4,61.2,13.1 +"46","6/21/2023 9:20:13","Farm Park Spice Bush Thicket","Ava, Elizabeth","39.1657660, -77.1289020","Unmanaged"," wild plants/weeds, forest, or grassland","6/21/2023",09:20:00,"6/21/2023 9:20:13","Farm Park Spice Bush Thicket","M22","M22-Farm Park Spice Bush Thicket","1sCrim628NH3vjqMrzWO2UkGHEvzgeSpp",60,54.6,3276,"5.83","0.37",24.95,28.96,17,34.19,70.43,5.3,7.64,5.2,20.68,180.73,840.06,141.15,50.44,4.53,2.84,103.21,0.39,8.73,3.13,654.19,8.7,67,10.6 +"47","6/21/2023 10:18:14","Cabin John Tai Chi Court","Ava, Elizabeth","39.0351753, -77.1481955","Managed"," mowed/tended lawns, yard, or park","6/21/2023",10:18:00,"6/21/2023 10:18:14","Cabin John Tai Chi Court","M23","M23-Cabin John Tai Chi Court","1VsBNm_cnqhIiueyWG_CGaLFIyBTKiYzY",60,111,6660,"3.36","0.44",51.46,18.95,24.71,54.98,70.75,6,7.79,5.1,8.14,171.86,1391.94,224.92,132.97,6.25,2.75,147.41,1.3,7.53,4.38,465.19,11,84.7,7.7 +"48","6/21/2023 10:39:35","Cabin John Conifers","Ava, Elizabeth","39.0341792, -77.1495557","Unmanaged"," wild plants/weeds, forest, or grassland","6/21/2023",10:39:00,"6/21/2023 10:39:35","Cabin John Conifers","M24","M24-Cabin John Conifers","1GAtzlyaS7j64QcbF8Hj9cO585k8b1iXW",60,103,6180,"3.56","0.31",83.52,14.97,28.42,28.63,66.14,6,7.73,4.8,5.51,184.3,917.74,274.97,148.81,2.7,1.23,115.71,0.6,6.26,3.29,520.97,9.5,77.3,6.5 +"49","8/14/2023 17:42:05","Fred Hutch Arnold Yard","Ava Hoffman, Elizabeth Humphries, Natalie Kucher, Jeff Leek, Sidd Pratap, Mike Schatz, Joelle Taganna, Carl Pontino, Randon Serikawa, Jenn Vessio, Stephen Mosher, Fred Tan, Shurjo Sen","47.6275429, -122.3320589","Managed"," mowed/tended lawns, yard, or park","8/14/2023",14:41:00,"8/14/2023 17:42:05","Fred Hutch Arnold Yard","S01","S01-Fred Hutch Arnold Yard","1YHYVo6PhG7GrLOU5eMmbTdRI8Vprz2Jk",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"50","8/14/2023 18:16:22","Fred Hutch Pine Lot","Ava Hoffman, Elizabeth Humphries, Mike Schatz, Carl Pontino, Matheus Fernandes, Joelle Taganna, Randon Serikawa, Stephen Mosher, Natalie Kucher","47.6274891, -122.3302119","Unmanaged"," wild plants/weeds, forest, or grassland","8/14/2023",15:16:00,"8/14/2023 18:16:22","Fred Hutch Pine Lot","S02","S02-Fred Hutch Pine Lot","1Ztx7jlmLQVTBEKVKkB1p06BdAuynbkHU",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"51","11/6/2023 13:42:02","Mission de El Paso TX","EPCC Rise to the Challenge Bridge Interns","31.6781066, -106.2660366","Unmanaged"," wild plants/weeds, forest, or grassland","11/3/2023",14:30:00,"11/6/2023 13:42:02","Mission de El Paso TX","E01","E01-Mission de El Paso TX",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"52","12/10/2023 21:20:49","CCC SE","Clovis Community College Fall 2023 Environmental Science Class","36.883255, -119.731121","Unmanaged"," wild plants/weeds, forest, or grassland","11/7/2023",16:00:00,"12/10/2023 21:20:49","CCC SE","F01","F01-CCC SE",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"53","12/10/2023 21:22:47","Organic Vineyard","Grace Freymiller","36.52463644789908, -119.84277618509098","Managed"," mowed/tended lawns, yard, or park","12/10/2023",15:30:00,"12/10/2023 21:22:47","Organic Vineyard","F02","F02-Organic Vineyard",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"54","12/10/2023 21:23:44","Fallow Field","Grace Freymiller","36.52245507825071, -119.84432651684219","Unmanaged"," wild plants/weeds, forest, or grassland","12/10/2023",14:30:00,"12/10/2023 21:23:44","Fallow Field","F03","F03-Fallow Field",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"55","12/10/2023 21:25:37","Rural Home Lawn","Grace Freymiller","36.52336448885364, -119.84505582626596","Managed"," mowed/tended lawns, yard, or park","12/10/2023",15:00:00,"12/10/2023 21:25:37","Rural Home Lawn","F04","F04-Rural Home Lawn",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"56","12/10/2023 21:26:30","Vineyard Pesticide Buffer","Grace Freymiller","36.52537896390843, -119.84267048162928","Managed"," mowed/tended lawns, yard, or park","12/10/2023",15:15:00,"12/10/2023 21:26:30","Vineyard Pesticide Buffer","F05","F05-Vineyard Pesticide Buffer","1k5iONZak16NdGy9EyF7TK3hF77z7GnGB",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"57","12/11/2023 13:29:36","UTEP Hill","Frida Delgadillo, Armando Jimenez, Keyan Ozuna","31.77391, -106.50386","Unmanaged"," wild plants/weeds, forest, or grassland","12/7/2023",13:30:00,"12/11/2023 13:29:36","UTEP Hill","E02","E02-UTEP Hill","1ilh1juEEQxg2mlbnXhPpZpij_y1QxwMi",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"58","1/2/2024 12:57:53","EP Mundy Park","Frida Delgadillo, Armando Jimenez","31.76397, -106.50203","Managed"," mowed/tended lawns, yard, or park","12/21/2023",09:35:00,"1/2/2024 12:57:53","EP Mundy Park","E03","E03-EP Mundy Park",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"59","1/2/2024 13:00:27","EP Memorial Park Channel","Frida Delgadillo, Armando Jimenez","31.79024, -106.45513","Managed"," mowed/tended lawns, yard, or park","12/21/2023",11:45:00,"1/2/2024 13:00:27","EP Memorial Park Channel","E04","E04-EP Memorial Park Channel",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"60","1/2/2024 13:02:43","EP Memorial Park Open Area","Frida Delgadillo, Armando Jimenez","31.78962, -106.45770","Managed"," mowed/tended lawns, yard, or park","12/21/2023",13:15:00,"1/2/2024 13:02:43","EP Memorial Park Open Area","E05","E05-EP Memorial Park Open Area",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"61","1/2/2024 13:05:12","EP Ascarate Park Picnic Area","Frida Delgadillo, Keyan Ozuna","31.75547, -106.40452","Managed"," mowed/tended lawns, yard, or park","12/22/2023",09:30:00,"1/2/2024 13:05:12","EP Ascarate Park Picnic Area","E06","E06-EP Ascarate Park Picnic Area",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"62","1/4/2024 16:10:42","Virginia State University - Site 1","Xianfa Xie, Michael Marone","37.231667, -77.419","Unmanaged"," wild plants/weeds, forest, or grassland","1/2/2024",15:20:00,"1/4/2024 16:10:42","Virginia State University - Site 1","P01","P01-Virginia State University - Site 1",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"63","1/4/2024 16:11:58","Virginia State University - Site 2","Xianfa Xie, Michael Marone","37.229556, -77.42225","Unmanaged"," wild plants/weeds, forest, or grassland","1/2/2024",16:00:00,"1/4/2024 16:11:58","Virginia State University - Site 2","P02","P02-Virginia State University - Site 2",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"64","1/4/2024 16:13:19","Virginia State University - Site 3","Michael Marone","37.235556, -77.413611","Unmanaged"," wild plants/weeds, forest, or grassland","1/3/2024",14:20:00,"1/4/2024 16:13:19","Virginia State University - Site 3","P03","P03-Virginia State University - Site 3",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"65","1/4/2024 16:14:22","Virginia State University - Site 4","Michael Marone","37.235278, -77.411667","Unmanaged"," wild plants/weeds, forest, or grassland","1/3/2024",15:00:00,"1/4/2024 16:14:22","Virginia State University - Site 4","P04","P04-Virginia State University - Site 4",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"66","1/4/2024 16:16:15","Virginia State University - Site 5","Xianfa Xie, Michael Marone","37.235278, -77.416639","Managed"," mowed/tended lawns, yard, or park","1/4/2024",15:30:00,"1/4/2024 16:16:15","Virginia State University - Site 5","P05","P05-Virginia State University - Site 5",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA diff --git a/soil_testing_data.csv b/soil_testing_data.csv new file mode 100644 index 0000000..78fc6da --- /dev/null +++ b/soil_testing_data.csv @@ -0,0 +1,66 @@ +"site_id","site_name","type","As_EPA3051","Cd_EPA3051","Cr_EPA3051","Cu_EPA3051","Ni_EPA3051","Pb_EPA3051","Zn_EPA3051","water_pH","OM_by_LOI_pct","P_Mehlich3","K_Mehlich3","Ca_Mehlich3","Mg_Mehlich3","Mn_Mehlich3","Zn_Mehlich3","Cu_Mehlich3","Fe_Mehlich3","B_Mehlich3","S_Mehlich3","Na_Mehlich3","Al_Mehlich3","Est_CEC","Base_Sat_pct","P_Sat_ratio","region" +"B01","Decker Quad","Managed",0,0.26,12.77,13.54,6.93,10.69,33.71,6.8,3.4,47.4,136.87,1384.37,198.67,36.89,5.46,5.21,229.75,0.49,15.42,18.2,472.72,9.3,95.7,21.4,"Baltimore City" +"B02","Wyman Dell","Managed",5.04,0.53,29.02,31.48,10.75,88.21,83.35,7.2,6.7,82.21,139.38,3062.75,276.56,43.55,16.45,8.64,256.86,1.5,11.79,17.34,371.99,18.7,96.1,38.9,"Baltimore City" +"B03","Stony Run","Unmanaged",6.39,0.68,40.64,56.91,27.12,125.29,160.54,6.8,8.7,32.98,167.63,1792.92,234.18,65.42,15.95,7.03,136.88,0.86,8.09,4.86,448.43,13.2,86,17.8,"Baltimore City" +"B04","NDMU Playground","Managed",4.87,0.35,23.78,25.53,11.58,43.73,71.66,6.8,5.2,13.15,184.91,1577.25,270.1,34.55,6.29,6.36,139,0.66,8.75,3.33,579.18,12.5,85.2,8.7,"Baltimore City" +"B05","NDMU Tennis Grove","Unmanaged",7.77,0.46,26.51,30.12,12.53,120.36,98.55,6.5,5.6,20.8,148.15,1268.44,179.83,22.99,8.55,7.92,126.34,0.44,8.36,3.52,642.73,10.6,77.4,10.7,"Baltimore City" +"B06","NDMU Library Stream","Unmanaged",4.85,0.3,29.8,25.12,13.3,56.79,100.28,6.8,4.5,13.15,105.27,1921.19,180.01,35.01,13.36,5.43,156.36,0.77,8.74,5.1,493.12,12.7,89.3,9.3,"Baltimore City" +"M01","Rock Creek Park Needwood Parking Lot","Managed",3.24,0,37.78,25.96,28,19.39,44.01,6,5.1,8.57,59.84,1411.22,180.09,38.28,1.89,2.42,163.04,0.4,8.07,4.03,465.32,11.3,77.3,7.8,"Montgomery County" +"M02","Rock Creek Park Needwood Forest","Unmanaged",5.18,0,41.03,19.6,71.89,32.25,52.95,6,4,5.46,93.96,1541.87,136.56,184,2.9,2.26,120.63,0.83,7.82,2.67,581.5,11.5,79.1,6.3,"Montgomery County" +"M03","Rock Creek Park Needwood Pavilion","Managed",3.13,0.34,57.91,26.9,93.58,61.99,101.24,6,5.8,15.91,115.43,1451.54,277.71,87.33,10.3,4.81,189.06,0.39,8.71,3.97,547.11,12.6,78.4,9.7,"Montgomery County" +"M04","Rock Creek Park Hill Trail","Unmanaged",3.87,0,20.3,17.62,11.41,42.46,34.38,4.9,7.9,9.54,69.05,74.82,40.38,14.13,2.13,1.08,249.88,0.05,16.18,2.65,907.18,7.9,11.2,6.4,"Montgomery County" +"B07","Druid Hill Park Playground","Managed",27.3,0.61,21.47,21.74,8.55,53.78,75.08,6.4,5.4,38.85,68.75,1765.21,141.54,57,11.17,6.34,222.72,0.8,11.94,6.77,528.76,12.2,83.6,17.2,"Baltimore City" +"B08","Druid Hill Park Thicket","Unmanaged",7.47,0.33,26.65,24.16,11.01,86.8,64.7,5.7,5.2,26.81,117.21,614.2,90.43,94.1,7.5,6.86,135.78,0.26,14.48,4.33,893.46,7.2,56.9,10.3,"Baltimore City" +"B09","Druid Hill Park Hiking Trail","Unmanaged",26.66,0.46,38.04,50.11,21.58,69.97,108.65,6.1,6.8,7.48,183.55,2104.25,356.01,95.76,11.89,7.28,129.19,0.77,9.19,5.94,663.58,17,82.1,6.7,"Baltimore City" +"B10","Druid Hill Park Baseball Field","Managed",3.43,0.25,21.08,16.24,8.9,80.09,59.97,5.8,5.8,15.43,62.84,802.97,178.71,29.01,7.91,4.12,357.8,0.4,14.41,21.33,627.9,8.7,65.1,8.5,"Baltimore City" +"B11","Gwynns Grassland","Unmanaged",0,1.06,42.85,60.06,24.51,118.74,296.39,6.9,5.3,25.88,100.88,2209,336.88,44.07,63.33,18.78,243.56,1.22,8.47,7.31,365.72,14.8,95.7,15.6,"Baltimore City" +"B12","Gwynns Glade","Unmanaged",0,1.08,51.62,68.57,30.5,124.34,302.42,7.2,6.4,19.98,88.15,2992.05,243.62,40.13,55.19,22.9,293.57,2.02,10.44,8.46,338.2,17.5,98.2,13.2,"Baltimore City" +"B13","Gwynns Trailhead","Managed",3.96,0.35,25.02,20.72,13.22,38.03,86.02,7,5.3,56.11,133.28,2114.93,252.28,66.44,17.91,6.28,234.11,1.07,11.35,12.36,545.68,13.7,94.8,22.2,"Baltimore City" +"B14","Herring Run Stump","Managed",12.98,0.35,27.23,28.46,13.35,56.97,90.02,6.4,6.7,23.37,120.92,1744.72,196.62,37.77,7.42,6.96,149.24,0.63,11.94,9,565.88,13.1,81.6,12.1,"Baltimore City" +"B15","Herring Run Field","Managed",4.09,0.29,26.2,23.74,14.35,67.47,110.6,6.3,4.7,22.9,165.62,1029.4,208.05,30.58,7.78,5.4,154.14,0.39,8.85,3.41,610.94,9.9,73.5,11.5,"Baltimore City" +"B16","Herring Run Stream Bank","Unmanaged",4.84,0.53,27.61,30.22,15.24,102.41,135.78,6.6,3.3,18.79,113.76,1315.62,205.74,33.41,10.56,8.64,141.64,0.67,6.97,2.72,586.8,9.9,87,10.5,"Baltimore City" +"B17","Herring Run Hillside Forest","Unmanaged",0,0,51.21,58.15,31.56,29.24,84.54,6.2,4.3,11.6,269.55,1021.61,355.35,42.67,2.86,7.57,109.57,0.28,11.93,3.96,860.79,11.4,76.8,7.2,"Baltimore City" +"B18","Herring Run Footbridge","Unmanaged",5.44,0.51,47.56,58.68,33.39,94.05,162.49,6.5,6.4,11.28,219.11,1302.45,467.11,91.08,10.03,8.68,119.04,0.94,7.6,4.82,504.38,12.1,90.7,8.7,"Baltimore City" +"B19","Herring Run Montebello","Managed",4.47,0.22,23.88,26.02,9.63,76.37,96.93,5.6,5.3,33.58,121.94,507.65,81.72,17.13,16.25,5.31,196.83,0.14,15.17,4.76,666.95,7.1,49.5,13.7,"Baltimore City" +"B20","Leakin Trailhead","Managed",0,0,77.57,32.21,22.53,33.98,59.02,6.6,3.7,3.56,71.51,1604.57,349.03,33.99,3.24,4.75,101.76,0.65,5.49,5.72,517.58,11.5,96.5,5.8,"Baltimore City" +"B21","Leakin Poplar","Managed",0,0,20.04,28.49,14.65,26.94,51.11,6,3.7,10.01,135.55,491.18,118.71,20.14,1.38,2.05,82.69,0.18,7.86,4.8,777.54,6.5,58.2,7.1,"Baltimore City" +"B22","Leakin Glen","Unmanaged",0,0,77.7,27.48,23.15,23.6,44.66,6.5,4.4,3.48,73.5,1963.72,254.52,43.9,4.67,5.02,186.88,0.73,5.96,5.3,370.13,13.1,92.7,6.1,"Baltimore City" +"B23","Leakin Forest","Unmanaged",3.92,0,21.44,29.98,19.14,50.04,63.8,5.5,5.9,7.86,106.32,191.61,86,10.01,2.73,3.43,181.41,0.14,11.04,3.72,916.25,7.9,24.5,6.1,"Baltimore City" +"B24","Leakin Nature Center","Managed",0,0,39.4,52.81,21.01,34.12,57.4,6.7,4,10.11,188.37,2138.35,272.19,55.36,8.22,9.16,156.78,0.85,6.33,5.29,463.16,14.3,93.9,8.4,"Baltimore City" +"M05","Black Hill Visitor Center","Managed",0,0,19.15,25.06,18.91,18.13,85.35,6.1,5.4,15.37,37.1,1889.32,168.38,42.12,2.94,3.24,126.65,0.6,9.86,158.82,365.41,12.2,89.5,12,"Montgomery County" +"M06","Black Hill Small Wood","Unmanaged",9.34,0,14.93,11.56,9.21,54.58,44.01,6,9.3,10.45,235.73,391.73,102.02,96.85,1.36,0.76,135.75,0.27,13.77,3.23,956.02,9.6,35.7,6.6,"Montgomery County" +"M07","Black Hill Pavilion A","Managed",7.31,0,16.91,17.12,12.67,17.83,49.55,6.1,6.6,15.27,225.95,738.79,179.23,86.01,1.93,1.14,127.1,0.25,11.98,4.26,658.61,10.1,57.2,8.9,"Montgomery County" +"M08","Black Hill Tiny Meadow","Unmanaged",11.1,0.21,16.03,13.46,10.77,35.93,49.54,6.1,5.9,18.51,114.43,681.63,96.04,96.78,1.73,0.91,95.26,0.35,14.13,3.19,894.97,8.5,53,8.6,"Montgomery County" +"M09","Ridge Road Oak Grove","Unmanaged",5.42,0,15.08,14.17,6.87,53.71,31.7,5.6,7.9,23.43,136.22,298.76,62.4,47.46,2.18,1.31,217.01,0.12,16.96,3.55,908.8,7.5,31.6,9.3,"Montgomery County" +"M10","Ridge Road Pine Field","Managed",8.95,0,17.15,25.39,10.57,21.35,35.11,5.7,4.9,7.72,143.34,1082.18,158.42,95.89,1.38,1.75,144.92,0.29,7,6.04,622.95,10.3,68.9,6.8,"Montgomery County" +"M11","Ridge Road Leafy Trail","Unmanaged",7.34,0,14.87,11.24,7.01,67.32,29.02,5.3,10.6,9.7,49.57,141.25,36.49,45.89,2.87,0.59,237.65,0.02,22.28,4.04,978.59,5.1,22.1,6.4,"Montgomery County" +"M12","Ridge Road Tennis Court","Managed",9.71,0,18.08,31.04,11.7,23.24,48.97,5.8,5.5,10.2,169.81,1258.23,154.54,72.71,3.4,3.79,127.36,0.47,7.31,3.06,523.3,9.7,82.7,8.1,"Montgomery County" +"M13","Goshen Stream Davis Mill","Managed",3.11,0.98,21.29,27.45,22.51,24.55,68.19,5.6,4.6,8.3,63.77,1366.44,142.01,122.3,4.03,2.88,181.59,0.52,6.92,6.47,480.73,9.7,84.3,7.6,"Montgomery County" +"M14","Goshen Stream Glade","Unmanaged",4.79,0.96,22.93,21.74,19.02,22.35,64.65,5,5.6,12.44,69.91,671.32,113.5,55.16,3.86,2.19,172.14,0.18,8.6,4.46,639.72,8,56,8.1,"Montgomery County" +"M15","Goshen Stream Seneca Trailhead","Managed",0,0.9,20.79,19.15,16.04,21.55,54.52,6.4,3.8,47.19,272.9,1405.53,110.35,39.61,1.88,1.9,137.51,0.59,10.15,4.14,630.94,10,86.4,18.6,"Montgomery County" +"M16","Goshen Stream Fern Gully","Unmanaged",0,0.91,18.77,28.02,20.63,35.61,64.66,4.7,11.5,11.69,64.96,115.16,60.42,9.26,2.49,1.66,373.66,0.03,18.83,3.57,893.95,8.4,14.8,6.8,"Montgomery County" +"M17","Goshen Rec Grass","Managed",0,1.19,33.91,32.39,51,53.13,99.07,5.5,6.5,25.7,193.93,1605.62,212.78,42.32,14.6,4.34,184.51,0.82,9.81,4.71,455.44,12.7,81.1,14.3,"Montgomery County" +"M18","Goshen Rec Arched Tree","Unmanaged",3.63,1.08,16.03,22.07,12.11,59.15,119.85,5.2,4.9,152.04,192.86,799.26,106.83,24.27,13.92,1.92,307.92,0.18,10.27,3,687.28,8.6,62.7,42.2,"Montgomery County" +"M19","Farm Park Bird Field","Managed",4.89,1.1,50.65,47.34,22.68,50.75,136.88,5.7,6,132.46,128.51,1259.5,156.73,21.95,22.7,8.69,308.55,0.27,11.06,8,586.81,10.8,73.4,41.9,"Montgomery County" +"M20","Farm Park Stream Side","Unmanaged",4.49,0.6,57.32,53.43,18.64,65.61,71.66,5,6,185.26,65.04,504.29,76.92,18.84,7.14,7.18,510.09,0.03,12.47,7.13,723.9,8.8,38,44.1,"Montgomery County" +"M21","Farm Park Farmhouse","Managed",3.49,0.27,26.42,30.52,17.31,30.42,77.64,5.3,5.6,27.92,183.39,756.42,109.82,50.87,5.56,2.32,106.93,0.26,13.26,3.71,625.83,8.4,61.2,13.1,"Montgomery County" +"M22","Farm Park Spice Bush Thicket","Unmanaged",5.83,0.37,24.95,28.96,17,34.19,70.43,5.3,5.2,20.68,180.73,840.06,141.15,50.44,4.53,2.84,103.21,0.39,8.73,3.13,654.19,8.7,67,10.6,"Montgomery County" +"M23","Cabin John Tai Chi Court","Managed",3.36,0.44,51.46,18.95,24.71,54.98,70.75,6,5.1,8.14,171.86,1391.94,224.92,132.97,6.25,2.75,147.41,1.3,7.53,4.38,465.19,11,84.7,7.7,"Montgomery County" +"M24","Cabin John Conifers","Unmanaged",3.56,0.31,83.52,14.97,28.42,28.63,66.14,6,4.8,5.51,184.3,917.74,274.97,148.81,2.7,1.23,115.71,0.6,6.26,3.29,520.97,9.5,77.3,6.5,"Montgomery County" +"S01","Fred Hutch Arnold Yard","Managed",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Seattle" +"S02","Fred Hutch Pine Lot","Unmanaged",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,"Seattle" +"C01","CCC SE","Unmanaged",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"C02","Organic Vineyard","Managed",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"C03","Fallow Field","Unmanaged",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"C04","Rural Home Lawn","Managed",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"C05","Vineyard Pesticide Buffer","Managed",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"E01","UTEP Hill","Unmanaged",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"E02","EP Mundy Park","Managed",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"E03","EP Memorial Park Channel","Managed",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"E04","EP Memorial Park Open Area","Managed",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"E05","EP Ascarate Park Picnic Area","Managed",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"P01","Virginia State University - Site 1","Unmanaged",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"P02","Virginia State University - Site 2","Unmanaged",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"P03","Virginia State University - Site 3","Unmanaged",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"P04","Virginia State University - Site 4","Unmanaged",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA +"P05","Virginia State University - Site 5","Managed",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA From 2e3166e8dd408d8de91a1e2640fa36075a7b8430 Mon Sep 17 00:00:00 2001 From: Elizabeth Humphries Date: Wed, 22 May 2024 13:56:33 -0400 Subject: [PATCH 02/10] update dictionary and ignore-urls --- resources/dictionary.txt | 46 +++++++++++++++++++++++++++++++++++++++ resources/ignore-urls.txt | 1 + 2 files changed, 47 insertions(+) create mode 100644 resources/ignore-urls.txt diff --git a/resources/dictionary.txt b/resources/dictionary.txt index dadb9a8..b476a07 100644 --- a/resources/dictionary.txt +++ b/resources/dictionary.txt @@ -3,12 +3,19 @@ AGBT al Annandale AnVIL +Audiographer +Audiography +automagic +Bachman BiocManager BioDIGS +BioDIGSData BioDiversity bioinformatics BIPOC Bloomberg +bookdown +Bookdown bmr Brevik Buffalari @@ -17,10 +24,13 @@ Callout Canner cbe CEC +Cliffe csv colData CosmosID +Coursera CoV +creativecommons Cruces culturable CUNY @@ -28,41 +38,62 @@ customizations dex dexamethasone Dine +DISCOVERABLE doi dplyr dropdown El +enforceability et +ExampleWorkspace extractant +Fallon +faq +FHDaSL +Firstname +FirstName +Funder GDSCN +Generis github Glimma glimmaMDS Gmail +Gooding Gorovtsov GSuite Guttman Harrisonburg Hawai'i HBCUs +Humphries https +ies Illumina +immunities impactful Inclusivity jenvman jhu Jupyter Jurkowski +Lastname +LastName +Leanpub +Licensor +LICENSOR limma LOI Manoa MDS +MERCHANTABILITY Meharry Mehlich mentorship meq metagenomics Metagenomics +Muschelli na Nanopore ncbi @@ -76,6 +107,7 @@ Notre Onboarding OTTR ottrpal +ottrproject PacBio Paso Petersburg @@ -89,19 +121,33 @@ programmatically pubmed px reproducibility +RMarkdown Rmd RStudio +Savonen +Schatz scitable scitotenv +sexualized +socio Spelman +summarization Summarization +synched +textbox +tidyverse timeframe Towson Tsaile unanalyzed underresourced underserved +Vessio +Videographer +Videography +Voeglein wip +WIPO Workspace's Workspaces www diff --git a/resources/ignore-urls.txt b/resources/ignore-urls.txt new file mode 100644 index 0000000..c1fe918 --- /dev/null +++ b/resources/ignore-urls.txt @@ -0,0 +1 @@ +https://www.bgsu.edu/content/dam/BGSU/center-for-faculty-excellence/docs/TLGuides/TLGuide-Learning-Objectives.pdf \ No newline at end of file From d71ea6c8d061024060b95335f77fcf2450a153bc Mon Sep 17 00:00:00 2001 From: Elizabeth Humphries Date: Wed, 22 May 2024 14:03:33 -0400 Subject: [PATCH 03/10] forgot the bookdown, you silly rabbit --- 08-student_anvil_guide.Rmd | 55 +++++++++++++++++++++++++++++++++++++- _bookdown.yml | 24 +++++++++++++++++ 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 _bookdown.yml diff --git a/08-student_anvil_guide.Rmd b/08-student_anvil_guide.Rmd index 9d8aaa1..9e0f414 100644 --- a/08-student_anvil_guide.Rmd +++ b/08-student_anvil_guide.Rmd @@ -1,10 +1,63 @@ -# (PART\*) Student Guide to Galaxy on AnVIL {-} +# (PART\*) Student Guide to AnVIL {-} ```{r, include = FALSE} ottrpal::set_knitr_image_path() ``` +# Using RStudio on AnVIL + +In the next few steps, you will walk through how to get set up to use RStudio on the AnVIL platform. AnVIL is centered around different “Workspaces”. Each Workspace functions almost like a mini code laboratory - it is a place where data can be examined, stored, and analyzed. The first thing we want to do is to copy or “clone” a Workspace to create a space for you to experiment. + +Use a web browser to go to the AnVIL website. In the browser type: + +``` +anvil.terra.bio +``` + +:::{.notice} +**Tip** +At this point, it might make things easier to open up a new window in your browser and split your screen. That way, you can follow along with this guide on one side and execute the steps on the other. +::: + +Your instructor will give you information on which workspace you should clone. + +## Video overview of RStudio on AnVIL + +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "child/_child_rstudio_video.Rmd", + repo_name = "jhudsl/AnVIL_Template" +) +``` + +## Launching RStudio + +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "child/_child_rstudio_launch.Rmd", + repo_name = "jhudsl/AnVIL_Template" +) +``` + +## Touring RStudio + +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "child/_child_rstudio_tour.Rmd", + repo_name = "jhudsl/AnVIL_Template" +) +``` + +## Pausing RStudio + +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "child/_child_rstudio_pause.Rmd", + repo_name = "jhudsl/AnVIL_Template" +) +``` + # Using Galaxy on AnVIL diff --git a/_bookdown.yml b/_bookdown.yml new file mode 100644 index 0000000..1617b91 --- /dev/null +++ b/_bookdown.yml @@ -0,0 +1,24 @@ +book_filename: "BioDIGS in the Classroom: Exploring Soil Data" +chapter_name: "Chapter " +repo: https://github.com/jhudsl/AnVIL_BioDIGS_Book/ +rmd_files: ["index.Rmd", + "01-BioDIGS_project_overview.Rmd", + "02-research_team.Rmd", + "03-data_tour.Rmd", + "04-billing_modules.Rmd", + "05-anvil_onboarding.Rmd", + "06-using_platforms_modules.Rmd", + "07-instructor_guide.Rmd", + "08-student_anvil_guide.Rmd", + "09-data_exploration.Rmd", + "About.Rmd", + "References.Rmd"] +new_session: yes +bibliography: [book.bib] +delete_merged_file: true +language: + ui: + chapter_name: "Chapter" +output_dir: "docs" +output: + bookdown::html_book From f2e5a095e7043b80cbf981a1aadf5eb561b5a925 Mon Sep 17 00:00:00 2001 From: Elizabeth Humphries Date: Wed, 26 Jun 2024 11:37:16 -0400 Subject: [PATCH 04/10] update cow::borrow commands for Rmds 2,3,4,5 --- 02-research_team.Rmd | 2 +- 03-data_tour.Rmd | 2 +- 04-billing_modules.Rmd | 2 +- 05-anvil_onboarding.Rmd | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/02-research_team.Rmd b/02-research_team.Rmd index 5f8d0d7..9f16396 100644 --- a/02-research_team.Rmd +++ b/02-research_team.Rmd @@ -1,7 +1,7 @@ :::: {.borrowed_chunk} ```{r, echo = FALSE, results='asis'} cow::borrow_chapter( - doc_path = "02-research_team.Rmd", + doc_path = "docs/02-research_team.md", repo_name = "fhdsl/GDSCN_BioDIGS_Book" ) ``` diff --git a/03-data_tour.Rmd b/03-data_tour.Rmd index 89ba4ac..791df4a 100644 --- a/03-data_tour.Rmd +++ b/03-data_tour.Rmd @@ -1,7 +1,7 @@ :::: {.borrowed_chunk} ```{r, echo = FALSE, results='asis'} cow::borrow_chapter( - doc_path = "03-data_tour.Rmd", + doc_path = "docs/03-data_tour.md", repo_name = "fhdsl/GDSCN_BioDIGS_Book" ) ``` diff --git a/04-billing_modules.Rmd b/04-billing_modules.Rmd index 115b8df..26bf635 100644 --- a/04-billing_modules.Rmd +++ b/04-billing_modules.Rmd @@ -1,7 +1,7 @@ :::: {.borrowed_chunk} ```{r, echo = FALSE, results='asis'} cow::borrow_chapter( - doc_path = "04-billing_modules.Rmd", + doc_path = "docs/04-billing_modules.md", repo_name = "fhdsl/GDSCN_BioDIGS_Book" ) ``` diff --git a/05-anvil_onboarding.Rmd b/05-anvil_onboarding.Rmd index 23f5e9f..5b36c22 100644 --- a/05-anvil_onboarding.Rmd +++ b/05-anvil_onboarding.Rmd @@ -1,7 +1,7 @@ :::: {.borrowed_chunk} ```{r, echo = FALSE, results='asis'} cow::borrow_chapter( - doc_path = "05-anvil_onboarding.Rmd", + doc_path = "docs/05-anvil_onboarding.md", repo_name = "fhdsl/GDSCN_BioDIGS_Book" ) ``` From 232381ad9b94252626ff53e48a98c91f40e2de63 Mon Sep 17 00:00:00 2001 From: Elizabeth Humphries Date: Wed, 26 Jun 2024 11:45:49 -0400 Subject: [PATCH 05/10] updating cow::borrow command for Rmds 1,7,8 --- 01-BioDIGS_project_overview.Rmd | 2 +- 07-instructor_guide.Rmd | 714 +------------------------------- 08-student_anvil_guide.Rmd | 169 -------- 08-student_using_rstudio.Rmd | 8 + 4 files changed, 17 insertions(+), 876 deletions(-) delete mode 100644 08-student_anvil_guide.Rmd create mode 100644 08-student_using_rstudio.Rmd diff --git a/01-BioDIGS_project_overview.Rmd b/01-BioDIGS_project_overview.Rmd index 8e519e4..9db7fd9 100644 --- a/01-BioDIGS_project_overview.Rmd +++ b/01-BioDIGS_project_overview.Rmd @@ -1,7 +1,7 @@ :::: {.borrowed_chunk} ```{r, echo = FALSE, results='asis'} cow::borrow_chapter( - doc_path = "01-BioDIGS_project_overview.Rmd", + doc_path = "docs/01-BioDIGS_project_overview.md", repo_name = "fhdsl/GDSCN_BioDIGS_Book" ) ``` diff --git a/07-instructor_guide.Rmd b/07-instructor_guide.Rmd index 5b23538..ba92e1c 100644 --- a/07-instructor_guide.Rmd +++ b/07-instructor_guide.Rmd @@ -1,708 +1,10 @@ # (PART\*) Instructor Checklist for AnVIL {-} -# Notes for Instructors - -Although AnVIL is the preferred computational platform for the GDSCN, this activity can be run using RStudio on AnVIL, [Posit Cloud](https://posit.cloud/), and local installations of R or RStudio. - -You may also adapt this activity for other languages and platforms. - -# Checklist for Running Activities on AnVIL - -If you choose to run this activity on AnVIL with your class, there are several things that you can do to make the experience easier. - -## Before the class begins {-} - -This checklist can serve as a reminder of the overall suggested steps to run an activity on AnVIL. You might find yourself changing these steps slightly as you become more familiar with AnVIL. - -**Billing** - -- Obtain funding through the [STRIDES](https://datascience.nih.gov/strides) program (optional) -- Request students make AnVIL IDs (Google IDs) -- Collect AnVIL IDs (Google IDs) from students -- Create Google Billing Account for your class - -**Resources** - -- Create a Workspace for your class (optional) -- Notify Terra of your course dates and times -- Direct students to the Workspace - -**Permissions** - -- Set up Groups to manage permissions - -| AnVIL Group | Class Workspace | Terra Billing Projects*| -|:--------------------|:----------------|:-----------------------| -| Instructor | Owner | Owner | -| Teaching assistants | Writer | Owner | -| Students | Reader | User | - - -## After the class ends {-} - -**Resources** - -- Remind students to download any files they might need -- Tell students to delete their environments and persistent disks - -**Billing** - -- Deactivate billing project - - -# Setting up Billing on AnVIL - -The following will help you set up billing for your class. You will: -* Set up a billing project for tracking costs -* Add yourself and students to the billing project to grant permission to AnVIL resources -* Learn about different sources of costs in AnVIL -* Estimate costs for your class -* Learn about how to track costs during your class - -## Creating a billing project {#billing-project} - -First, create the Billing Project. Billing Project names must be globally unique and cannot exceed 30 characters. We suggest the name of the Billing Project should be a combination of institution-class- (e.g., "jhu-bmr2021-bill-1"). To create a Billing Project: - -1. Go to https://anvil.terra.bio/#billing - -1. Click “+CREATE” - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page. The "+CREATE" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_88") - ``` - -1. Type in your Billing Project name - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The new billing project name, jhu-bmr2021-instructors-bill-1, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_98") - ``` - -1. Select the appropriate Billing Account - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The appropriate billing account name, My Billing Account, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_2") - ``` - -1. Click “CREATE BILLING PROJECT” - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The "CREATE BILLING PROJECT" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_9") - ``` - -You now have a unique **Billing Project**. - -## Adding Instructors as “Owner” - -Next, you want to give instructors permission to use the Billing Project to compute. To set instructor permissions: - -1. Go to https://anvil.terra.bio/#billing - -1. Select the “Owned by You” Billing Project sub-list - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_0") - ``` - -1. Select the Billing Project you made in [Instructor Billing Project](#billing-project) - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The instructor Billing project, in this case jhu-bmr2021-instructors, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_10") - ``` - -1. Select the “Users” tab - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The instructor Billing project, in this case jhu-bmr2021-instructors, has been selected and the Users Tab is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_24") - ``` - -1. Click “+ Add User”. You will be prompted to add a “User email *”. - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The instructor Billing project, in this case jhu-bmr2021-instructors, has been selected and the "+Add User" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_39") - ``` - -1. Begin typing the instructor Group name set up in [Instructor Group](#instructor-group). You should see an email in the form @firecloud.org (e.g., jhu-bmr2021-instructors@firecloud.org). - -1. Ensure “Can manage users (Owner)” is **selected** - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_54") - ``` - -1. Click “ADD USER” - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked. The "ADD USER" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_70") - ``` - - -::: {.notice} -This step makes it so that co-instructors can edit permissions and administer the Billing Project as needed. While this means you and co-instructors can compute using the student Billing Project, this makes spending difficult to track. Instructors should always use the **instructor Workspace** to compute. This makes it much easier to track costs associated with instructors versus students. -::: - -## Adding Students as “User” - -Next, you will add your student Group to the Billing Project so that they can compute. To set student permissions: - -1. Go to https://anvil.terra.bio/#billing - -1. Select the “Owned by You” Billing Project sub-list - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_0") - ``` - -1. Select the Billing Project you made in [Billing Project](#billing-project) - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The student Billing project, in this case jhu-bmr2021-students, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_90") - ``` - -1. Select the “Users” tab - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the Users Tab is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_301") - ``` - -1. Click “+ Add User”. You will be prompted to add a “User email *”. - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the "+Add User" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_315") - ``` - -1. Begin typing the student Group name set up in [Student Group](#student-group). You should see an email in the form @firecloud.org (e.g., jhu-bmr2021-students@firecloud.org). - -1. Keep “Can manage users (Owner)” **deselected**. - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The student Group email, in this case jhu-bmr2021-students@firecloud.org, has been filled in and the Owner role checkbox has NOT been ticked.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_132") - ``` - -1. Click “ADD USER” - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The student Group email, in this case jhu-bmr2021-students@firecloud.org, has been filled in and the Owner role checkbox has NOT been ticked. The "ADD USER" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_327") - ``` - -## Understanding the various billing costs - -Costs in AnVIL fall into one of three categories: compute costs, storage costs, and network usage (egress) costs. **Compute costs** are those that students accrue when actively using an AnVIL Workspace. Students can clone a Workspace for no cost, but they will begin to accrue costs as soon as they set up a cloud environment. Compute costs are based on how many CPUs you need, as well as how much memory and storage space you choose. You can also pause the Workspace and pay a lower cost per hour than if you were to keep the Workspace running. Current prices can be found [here](https://cloud.google.com/compute/all-pricing#top_of_page). - -**Storage costs** are driven by the persistent disk. The persistent disk allows you to store data and installed programs/libraries for a low cost. Students can delete their Workspaces but maintain their persistent disk so they still have access to previous programs they have installed and previous files they've created. Current prices can be found [here](https://cloud.google.com/storage/pricing#storage-pricing%20and%20https://cloud.google.com/compute/all-pricing#localssdpricing). - -Finally, **network usage** costs are those involved with transferring data between networks or downloading data from the cloud to your local computer. Current prices can be found [here](https://cloud.google.com/storage/pricing#network-egress). - -## Estimating costs before the class begins - -AnVIL has a free [AnVIL_Cost_Estimator](https://docs.google.com/spreadsheets/d/1GUN93HDRqDbZ0uktaZjoP-y8Ril1T_VIJnQrjRD6tV4) that allows you estimate compute, storage, and network usage costs for your class. This is a Google sheet that you can tailor to fit your needs. Before you use it, make sure the prices are up to date by following the links at the bottom of the sheet. - -If you need to create a Budget Justification for your class, you can also use the free [AnVIL_Budget_Justification](https://docs.google.com/document/d/145JFLn2hviLmaYF-mO06gbCkG0i4HRaWvkUBKORo85Y/edit) template. - -## How much does a class cost? - -One of the advantages of billing projects in Terra is that you can keep track of the costs during real time. You can see how much each Workspace is costing while your course is happening, so there are no unexpected surprises at the end! - -Full details about billing in Terra can be found [here](https://support.terra.bio/hc/en-us/articles/4405325218075). These instructions are adapted from Terra Support. - -To view the costs being accrued by each billing project, you can go to [https://console.cloud.google.com/billing](https://console.cloud.google.com/billing). At the top of the page, there is a dropdown menu. Choose the billing project name you'd like to view. - - -Locating dropdown menu - - -Once you are in proper billing project, you click on "View detailed charges" in the Billing section on the far right. - - -Locating detailed charges - - -This takes you to a report of the detailed charges accrued by the billing account. Here, you will be able to see the total cost over a time range, as well as costs broken down by services. - - -Locating dropdown menu - - -# Setting up the Class Activity - -## Overview of Class Setup - -This section will show you how to organize your class to make it easier to administer access to your content. You will need to have a list of who will be taking your class, such as a course roster or sign-up list, as well as a list of additional instructors or teaching assistants. You can make changes later, so the list of students need not be final. - -## Collect Google IDs - -AnVIL IDs are based on [Google accounts](account-setup.html#google-account). - -Students -- Contact students/participants to get their AnVIL IDs. These should be Gmail addresses or emails with GSuite capabilities. You can link students to [Student Account Setup](student-account-setup.html) for instructions on what they should do. - -Co-instructors -- If you will be working with other instructors, such as co-instructors or teaching assistants, you will need to collect their IDs as well. - -## Set Up Groups -Reminder: - -- Google **Billing Accounts** are managed on Google Cloud Platform and are used for organizing *funding sources* (e.g. credit cards, cloud credits). -- Terra **Billing Projects** are managed through Terra, and allow you to associate your Terra activity with the correct Google Billing Account. - -For a more detailed explanation, please see the chapter on Account Setup. - -We suggest creating two different Terra Billing Projects under the appropriate Billing Account that you created on `cloud.google.com`: one for students and one for co-instructors. The instructions below will walk you through how to set this up. - -Groups enable you to share your class Workspace and manage permissions for many people at once. We recommend starting with one Group for instructors and one Group for students. - -### Instructor Group {#instructor-group} {-} - -Create an informative, unique Group name for any co-instructors and teaching assistants. We suggest a combination of institution-class-role (e.g., “jhu-bmr2021-instructors”). Only letters, numbers, underscores, and dashes are allowed in Group names. To create a Group for instructors: - -1. Go to https://anvil.terra.bio/#groups - -1. Click “+ Create a New Group” - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page. The "Create a New Group" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_6") - ``` - -1. Type in your instructor Group name - -1. Click “CREATE GROUP” - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page with Create New Group pop out box. The Group name, jhu-bmr2021-instructors, has been entered and the "CREATE GROUP" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_16") - ``` - -You now have a unique **instructor Group**. - -#### Add Instructors as "Admin" (Instructor Group) {-} - -Now that your instructor Group has been created, you should add any additional instructors. You should also ensure that they have the correct permissions. - -1. Go to https://anvil.terra.bio/#groups/ and click on the instructor Group name. This page should also be visible at `https://anvil.terra.bio/#groups/`. - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group, and the specific Group that was just created. The Group Name is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g10118383b73_193_0") - ``` - -1. Click on “+Add User”. You will be prompted to add the instructor’s AnVIL ID. - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page for the specific Group that was just created. The "+Add User" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_45") - ``` - -1. Type in the instructor’s AnVIL ID - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the AnVIL ID (email) is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_58") - ``` - -1. Make sure “Can manage users (admin)” is **selected** - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the checkbox "Can manage users (admin)" has been selected and is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_65") - ``` - -1. Click ADD USER. This will take you back to the Group administration page. - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the "ADD USER" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_71") - ``` - -Make sure the newly added instructor displays “Admin” under “Roles” beside their AnVIL ID. Repeat this process for any additional co-instructors and teaching assistants. - -```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the instructor Group that was just created, where the newly added instructor is visible in the user list. The instructor`s AnVIL ID, instructor-1@gmail.com is visible next to the role "Admin", which is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_78") -``` - -### Student Group {#student-group} {-} - -Next, you will create a Group for your students. Create an informative, unique Group name. We suggest a combination of institution-class-role (e.g., “jhu-bmr2021-students”). Only letters, numbers, underscores, and dashes are allowed in Group names. To create a Group for students: - -1. Go to https://anvil.terra.bio/#groups - -1. Click “+ Create a New Group” - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page. The "Create a New Group" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_6") - ``` - -1. Type in your student Group name - -1. Click “CREATE GROUP” - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page with Create New Group pop out box. The Group name, jhu-bmr2021-students, has been entered and the "CREATE GROUP" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_38") - ``` - -You now have a unique **student Group**. - -#### Add Instructors as "Admin" (Student Group) {-} - -The next steps ensure any additional co-instructors and teaching assistants are able to administer the student Group in case you are unavailable. Follow the steps below to add each co-instructor in the student Group: - -1. Go to https://anvil.terra.bio/#groups/ and click on the student Group name. This page should be visible at `https://anvil.terra.bio/#groups/`. - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group, and the specific Group that was just created. The student Group name is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g10118383b73_193_8") - ``` - -1. Click on “+Add User”. You will be prompted to add the instructor’s AnVIL ID. - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page for the specific Group that was just created. The "+Add User" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_104") - ``` - -1. Type in the instructor’s AnVIL ID - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the AnVIL ID (email) is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_58") - ``` - -1. Make sure “Can manage users (admin)” is **selected** - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the checkbox "Can manage users (admin)" has been selected and is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_65") - ``` - -1. Click ADD USER. This will take you back to the Group administration page. - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The instructor`s AnVIL ID, instructor-1@gmail.com, has been entered and the "ADD USER" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_71") - ``` - -Make sure the newly added instructor displays “Admin” under “Roles” beside their AnVIL ID. Repeat this process for any additional co-instructors and teaching assistants. - -```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the student Group that was just created, where the newly added instructor is visible in the user list. The instructor`s AnVIL ID, instructor-1@gmail.com is visible next to the role "Admin", which is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_87") -``` - -#### Add Students as "Member" {-} - -Follow the steps below to add individual students to the student Group: - -1. Go to https://anvil.terra.bio/#groups/ and click on the student Group name. This page should be visible at `https://anvil.terra.bio/#groups/`. - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group, and the specific Group that was just created. The student Group name is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g10118383b73_193_8") - ``` - -1. Click on “+Add User”. You will be prompted to add an AnVIL ID. - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page for the specific Group that was just created. The "+Add User" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_104") - ``` - -1. Type in the student’s AnVIL ID - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The student`s AnVIL ID, student-1@gmail.com, has been entered and the AnVIL ID (email) is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_111") - ``` - -1. Click ADD USER - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the specific Group that was just created, with "Add user to Terra Group" pop out box. The student`s AnVIL ID, student-1@gmail.com, has been entered and the "ADD USER" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_117") - ``` - -Make sure the newly added student displays “Member” under “Roles” beside their AnVIL ID. At present, each student’s AnVIL ID must be added separately. - -```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group for the student Group that was just created, where the newly added student is visible in the user list. The student`s AnVIL ID, student-1@gmail.com is visible next to the role "Member", which is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_125") -``` - -Your instructor and student Groups are now set up. - -### Group Email Lists {-} - -Note that your newly created Groups have Group emails associated with them. Take note of these Group emails. You will use them for granting access to your class Billing Projects and Workspaces in the next steps. - -```{r, echo=FALSE, fig.alt='Screenshot of the Terra Group page. Emails associated with newly formed Groups have been highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_96") -``` - -## Set Up Billing Projects - -Billing Projects in Terra help organize your compute costs. Like Groups, we suggest creating two different billing projects under the appropriate Billing Account that you created on `cloud.google.com`: one for students and one for co-instructors. - -Billing Project names must be globally unique and cannot exceed 30 characters. - -### Instructor Billing Project {#instructor-billing-project} {-} - -First, create the Billing Project for instructors. We suggest the name of the Billing Project should be a combination of institution-class-role (e.g., "jhu-bmr2021-instructors-bill-1"). To create a Billing Project for instructors: - -1. Go to https://anvil.terra.bio/#billing - -1. Click “+CREATE” - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page. The "+CREATE" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_88") - ``` - -1. Type in your instructor Billing Project name - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The new billing project name, jhu-bmr2021-instructors-bill-1, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_98") - ``` - -1. Select the appropriate Billing Account - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The appropriate billing account name, My Billing Account, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_2") - ``` - -1. Click “CREATE BILLING PROJECT” - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The "CREATE BILLING PROJECT" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_9") - ``` - -You now have a unique **instructor Billing Project**. - -#### Add Instructors as “Owner” (Instructor Project) {-} - -Next, you want to give instructors permission to use the Billing Project to compute. To set instructor permissions: - -1. Go to https://anvil.terra.bio/#billing - -1. Select the “Owned by You” Billing Project sub-list - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_0") - ``` - -1. Select the Billing Project you made for instructors in [Instructor Billing Project](#instructor-billing-project) - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The instructor Billing project, in this case jhu-bmr2021-instructors, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_10") - ``` - -1. Select the “Users” tab - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The instructor Billing project, in this case jhu-bmr2021-instructors, has been selected and the Users Tab is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_24") - ``` - -1. Click “+ Add User”. You will be prompted to add a “User email *”. - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The instructor Billing project, in this case jhu-bmr2021-instructors, has been selected and the "+Add User" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_39") - ``` - -1. Begin typing the instructor Group name set up in [Instructor Group](#instructor-group). You should see an email in the form @firecloud.org (e.g., jhu-bmr2021-instructors@firecloud.org). - -1. Ensure “Can manage users (Owner)” is **selected** - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_54") - ``` - -1. Click “ADD USER” - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked. The "ADD USER" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_70") - ``` - -Your **instructor Billing Project** is now set up. - -### Student Billing Project {#student-billing-project} {-} - -Next, create a student Billing Project. Again, we suggest a combination of institution-class-role (e.g., “jhu-bmr2021-students-bill-1”). To create a Billing Project for students: - -1. Go to https://anvil.terra.bio/#billing - -1. Click “+CREATE” - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page. The "+CREATE" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_88") - ``` - -1. Type in your student Billing Project name - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The new billing project name, jhu-bmr2021-students-bill-1, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_15") - ``` - -1. Select the appropriate Billing Account (same as above) - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The appropriate billing account name, My Billing Account, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_21") - ``` - -1. Click “CREATE BILLING PROJECT” - - ```{r, echo=FALSE, fig.alt='Screenshot of the Terra Billing page with Create Billing Project pop out box. The "CREATE BILLING PROJECT" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g100474897dd_0_27") - ``` - -You now have a unique **student Billing Project**. - -#### Add Instructors as “Owner” (Student Project) {-} - -You want to ensure any additional co-instructors and teaching assistants are able to administer the student Billing Project in case you are unavailable. To set instructor permissions: - -1. Go to https://anvil.terra.bio/#billing - -1. Select the “Owned by You” Billing Project sub-list - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_0") - ``` - -1. Select the Billing Project you made for students in [Student Billing Project](#student-billing-project) - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The student Billing project, in this case jhu-bmr2021-students, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_90") - ``` - -1. Select the “Users” tab - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the Users Tab is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_301") - ``` - -1. Click “+ Add User”. You will be prompted to add a “User email *”. - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the "+Add User" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_315") - ``` - -1. Begin typing the instructor Group name set up in [### Set Up Groups]. You should see an email in the form @firecloud.org (e.g., jhu-bmr2021-instructors@firecloud.org). - -1. Ensure “Can manage users (Owner)” is **selected** - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_54") - ``` - -1. Click “ADD USER” - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The instructor Group email, in this case jhu-bmr2021-instructors@firecloud.org, has been filled in and the Owner role checkbox has been ticked. The "ADD USER" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_70") - ``` - -::: {.notice} -This step makes it so that co-instructors can edit permissions and administer the student Billing Project as needed. While this means you and co-instructors can compute using the student Billing Project, this makes spending difficult to track. Instructors should always use the **instructor Billing Project** to compute. This makes it much easier to track costs associated with instructors versus students. -::: - -#### Add Students as “User” {-} - -Next, you will add your student Group to the student Billing Project so that they can compute. To set student permissions: - -1. Go to https://anvil.terra.bio/#billing - -1. Select the “Owned by You” Billing Project sub-list - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_0") - ``` - -1. Select the Billing Project you made for students in [Student Billing Project](#student-billing-project) - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The "Owned by You" billing list has been expanded. The student Billing project, in this case jhu-bmr2021-students, is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_90") - ``` - -1. Select the “Users” tab - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the Users Tab is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_301") - ``` - -1. Click “+ Add User”. You will be prompted to add a “User email *”. - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page. The student Billing project, in this case jhu-bmr2021-students, has been selected and the "+Add User" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_315") - ``` - -1. Begin typing the student Group name set up in [Student Group](#student-group). You should see an email in the form @firecloud.org (e.g., jhu-bmr2021-students@firecloud.org). - -1. Keep “Can manage users (Owner)” **deselected**. - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The student Group email, in this case jhu-bmr2021-students@firecloud.org, has been filled in and the Owner role checkbox has NOT been ticked.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_132") - ``` - -1. Click “ADD USER” - - ```{r, echo=FALSE, fig.alt='Screenshot of the AnVIL Billing page with the "Add User" pop out box. The student Group email, in this case jhu-bmr2021-students@firecloud.org, has been filled in and the Owner role checkbox has NOT been ticked. The "ADD USER" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_327") - ``` - -Your **student Billing Project** is now set up. - -## Set Permissions on the Workspace - -Finally, you will want to set up permissions for co-instructors and students to see the class Workspace you created with the development Billing Project in [Developing Content](developing-content.html). AnVIL users can take on the "Owner", "Writer", or "Reader" role for a Workspace. - -### Add Instructors as “Owner” {-} - -You should add your co-instructors and teaching assistants as “Owners” to the class Workspace. This is useful if they need to edit the course content or share the space with students on your behalf. To share and change permissions: - -1. Go to https://anvil.terra.bio/#workspaces and find your class Workspace you set up in [Developing Content](developing-content.html) - -1. Click the teardrop button for your class Workspace - -1. Click “Share”. This will open a dialog box. - - ```{r, echo=FALSE, fig.alt='Screenshot of the class Workspace listed in the Workspaces tab. The teardrop button and the option to "Share" the Workspace are highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_344") - ``` - -1. Enter the name of the instructor Group (e.g., jhu-bmr2021-instructors). This will create a dropdown for the Group permissions in the box. Select this Group. - - ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The text "jhu-bmr" has been entered in the User email box and the dropdown below has been automatically filtered to reveal the instructor, student, and dev Groups. The instructor Group, in this case jhu-bmr2021-instructors@firecloud.org, has been highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.gdb96a00840_0_138") - ``` - -1. Change permissions to “Owner” using the dropdown menu under the instructor Group - - ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The instructor Group, in this case jhu-bmr2021-instructors@firecloud.org, has been added as a collaborator. The permissions are highlighted and show that role has been set to "Owner".'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_356") - ``` - -1. Click “SAVE” - - ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The instructor Group email has been added with permissions correctly set. The "SAVE" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_365") - ``` - -::: {.notice} -This step makes it so that co-instructors can edit the original content of the Workspace as needed. While this means you and co-instructors can compute using the development Billing Project, this makes spending difficult to track. Instructors should instead clone the Workspace using the **instructor Billing Project**. This makes it much easier to track costs associated with this iteration of your class versus further iterations (e.g., the following semester or year). -::: - -### Add Students as “Reader” {-} - -Next, add your students as “Readers” to the class Workspace. This means they will be able to view and clone the Workspace, but not make edits or perform computations. To share the Workspace: - -1. Click the teardrop button for your class Workspace - -1. Click “Share”. This will open a dialog box. - - ```{r, echo=FALSE, fig.alt='Screenshot of the class Workspace listed in the Workspaces tab. The teardrop button and the option to "Share" the Workspace are highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_344") - ``` - -1. Enter the name of the student Group. This will create a dropdown for the Group permissions in the box. Select this Group. - - ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The text "jhu-bmr" has been entered in the User email box and the dropdown below has been automatically filtered to reveal the student and dev Groups. The student Group, in this case jhu-bmr2021-students@firecloud.org, has been highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_378") - ``` - -1. Ensure permissions are set to “Reader” (default) - - ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The student Group, in this case jhu-bmr2021-students@firecloud.org, has been added as a collaborator. The permissions are highlighted and show that role is "Reader".'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_386") - ``` - -1. Click “SAVE” - - ```{r, echo=FALSE, fig.alt='Screenshot of the share Workspace pop out box. The student Group email has been added with permissions correctly set. The "SAVE" button is highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/1HHWg47Tg6miv_K7GNB6ZDTx-4Jc5IMl7APfFtD1Rqag/edit#slide=id.g1007b9b3ffb_0_394") - ``` - -You have now correctly set up your class permissions! - -## Notify Terra - -Contacting Terra ahead of your class time helps the Terra team avoid any major disruptions to your class. Contact Terra by [submitting a request](https://support.terra.bio/hc/en-us/requests/new) for a hold on scheduled maintenance and downtime. It’s also a good idea to ask about major changes planned for the time prior to your class. - - -# Getting Credit for Professional Development - -We are happy to provide a letter to your supervisor, department head, or dean to indicate you've worked through this content and intend to use it in your class. +:::: {.borrowed_chunk} +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "docs/07-instructor_guide.md", + repo_name = "fhdsl/GDSCN_BioDIGS_Book" +) +``` +:::: diff --git a/08-student_anvil_guide.Rmd b/08-student_anvil_guide.Rmd deleted file mode 100644 index 9e0f414..0000000 --- a/08-student_anvil_guide.Rmd +++ /dev/null @@ -1,169 +0,0 @@ -# (PART\*) Student Guide to AnVIL {-} - - -```{r, include = FALSE} -ottrpal::set_knitr_image_path() -``` - -# Using RStudio on AnVIL - -In the next few steps, you will walk through how to get set up to use RStudio on the AnVIL platform. AnVIL is centered around different “Workspaces”. Each Workspace functions almost like a mini code laboratory - it is a place where data can be examined, stored, and analyzed. The first thing we want to do is to copy or “clone” a Workspace to create a space for you to experiment. - -Use a web browser to go to the AnVIL website. In the browser type: - -``` -anvil.terra.bio -``` - -:::{.notice} -**Tip** -At this point, it might make things easier to open up a new window in your browser and split your screen. That way, you can follow along with this guide on one side and execute the steps on the other. -::: - -Your instructor will give you information on which workspace you should clone. - -## Video overview of RStudio on AnVIL - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_rstudio_video.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -## Launching RStudio - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_rstudio_launch.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -## Touring RStudio - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_rstudio_tour.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - -## Pausing RStudio - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_rstudio_pause.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - - -# Using Galaxy on AnVIL - -In the next few steps, you will walk through how to get set up to use Galaxy on the AnVIL platform. AnVIL is centered around different “Workspaces”. Each Workspace functions almost like a mini code laboratory - it is a place where data can be examined, stored, and analyzed. The first thing we want to do is to copy or “clone” a Workspace to create a space for you to experiment. - -Use a web browser to go to the AnVIL website. In the browser type: - -``` -anvil.terra.bio -``` - -:::{.notice} -**Tip** -At this point, it might make things easier to open up a new window in your browser and split your screen. That way, you can follow along with this guide on one side and execute the steps on the other. -::: - -Your instructor will give you information on which workspace you should clone. After logging in, click “View Workspaces”. Select the “Public” tab. In the top search bar type the activity workspace. - -Clone the workspace by clicking the teardrop button (![teardrop button](resources/images/teardrop.png){#id .class width=25 height=20px}). And selecting “Clone”. - -```{r, echo=FALSE, fig.alt='Screenshot showing the teardrop button. The button has been clicked revealing the "clone" option. The Clone option and the teardrop button are highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.ged15532ded_0_625") -``` - -In the first box, give your Workspace clone a name by adding an underscore (“_”) and your name. For example, “SARS-CoV-2-Genome_Ava_Hoffman”. Next, select the Billing project provided by your instructor. Leave the bottom two boxes as-is and click “CLONE WORKSPACE”. - -```{r, echo=FALSE, fig.alt='Screenshot showing the "clone a workspace" popout. The Workspace name, Billing Project, and Clone Workspace button have been filled in and highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.ged15532ded_0_648") -``` - -## Video overview on using Galaxy - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_galaxy_video.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - - -## Starting Galaxy {#starting-galaxy} - -Galaxy is a free, relatively easy to use bioinformatics implementation package. It changes command line programs into GUI based programs and is a great tool for performing bioinformatics analysis without having to update software or worry too much about coding. In order to use Galaxy, we need to create a cloud environment. This is like quickly renting a few computers from Google as the engine to power our Galaxy analysis. - -:::{.warning} -Currently, you will need to use Chrome or Safari as your browser for Galaxy cloud environments to work. -::: - -In your new Workspace, click on the “ANALYSES” tab. Next, click on “START”. You should see a popup window on the right side of the screen. Click on the Galaxy logo to proceed. - -```{r, echo=FALSE, fig.alt='Screenshot of the Workspace Notebooks tab. The notebook tab name and the plus button that starts a cloud environment for Galaxy have been highlighted,'} -ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.ged15532ded_0_788") -``` - -Click on “NEXT” and “CREATE” to keep all settings as-is. - -```{r, echo=FALSE, fig.alt='The CREATE button among cloud environments has been highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.ged15532ded_0_798") -``` - -Click on the Galaxy icon. - -```{r, echo=FALSE, fig.alt='The Galaxy icon appears if the environment has been successfully launched.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.g2283b458fae_100_31") -``` - -You will see that the environment is still being set up. - -```{r, echo=FALSE, fig.alt='The status of the cloud computing environment shows that it is still being set up.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.g2283b458fae_100_38") -``` - -This will take 8-10 minutes. When it is done, click “Open”. You might need to refresh the page. - -```{r, echo=FALSE, fig.alt='The Provisioning status text has changed to "Launch Galaxy" indicating the cloud environment is ready to use.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.g2283b458fae_100_46") -``` - -:::{.notice} -Remember that you can refresh your browser or navigate away at any time. This is because the connection to the environment is in the cloud, not on your personal computer. -::: - -You can also follow along with the first ~2 minutes of [this video](https://jhudatascience.org/AnVIL_Book_Getting_Started/starting-galaxy.html) to start Galaxy on AnVIL. - -## Navigating Galaxy - -Notice the three main sections. - -**Tools** - These are all of the bioinformatics tool packages available for you to use. - -**The Main Dashboard** - This contains flash messages and posts when you first open Galaxy, but when we are using data this is the main interface area. - -**History** - When you start a project you will be able to see all of the documents in the project in the history. Now be aware, this can become very busy. Also the naming that Galaxy uses is not very intuitive, so you must make sure that you label your files with something that makes sense to you. - -```{r, echo=FALSE, fig.alt='Screenshot of the Galaxy landing page. The Tools and History headings have been highlighted.'} -ottrpal::include_slide("https://docs.google.com/presentation/d/182AOzMaiyrreinnsRX2VhH7YsVgvAp4xtIB_7Mzmk6I/edit#slide=id.ged15532ded_0_816") -``` - -On the welcome page, there are links to tutorials. You may try these out on your own. If you want to try a new analysis this is a good place to start. - -## Deleting Galaxy - -```{r, echo = FALSE, results='asis'} -cow::borrow_chapter( - doc_path = "child/_child_galaxy_delete.Rmd", - repo_name = "jhudsl/AnVIL_Template" -) -``` - diff --git a/08-student_using_rstudio.Rmd b/08-student_using_rstudio.Rmd new file mode 100644 index 0000000..71574a6 --- /dev/null +++ b/08-student_using_rstudio.Rmd @@ -0,0 +1,8 @@ +:::: {.borrowed_chunk} +```{r, echo = FALSE, results='asis'} +cow::borrow_chapter( + doc_path = "docs/08-student_using_rstudio.md", + repo_name = "fhdsl/GDSCN_BioDIGS_Book" +) +``` +:::: From cd70fac06e18e945b9df828d86261d7e4bb868da Mon Sep 17 00:00:00 2001 From: Elizabeth Humphries Date: Wed, 26 Jun 2024 11:54:37 -0400 Subject: [PATCH 06/10] adding section title for student guides --- 05-anvil_onboarding.Rmd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/05-anvil_onboarding.Rmd b/05-anvil_onboarding.Rmd index 5b36c22..696860f 100644 --- a/05-anvil_onboarding.Rmd +++ b/05-anvil_onboarding.Rmd @@ -1,3 +1,5 @@ +# (PART\*) Student Guide to AnVIL {-} + :::: {.borrowed_chunk} ```{r, echo = FALSE, results='asis'} cow::borrow_chapter( From b4ce066a206957a8caa7087d879db724d666d940 Mon Sep 17 00:00:00 2001 From: Elizabeth Humphries Date: Wed, 26 Jun 2024 11:58:09 -0400 Subject: [PATCH 07/10] removing Rmd that doesn't exist from bookdown --- _bookdown.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/_bookdown.yml b/_bookdown.yml index 1617b91..a2183d3 100644 --- a/_bookdown.yml +++ b/_bookdown.yml @@ -6,10 +6,9 @@ rmd_files: ["index.Rmd", "02-research_team.Rmd", "03-data_tour.Rmd", "04-billing_modules.Rmd", - "05-anvil_onboarding.Rmd", - "06-using_platforms_modules.Rmd", "07-instructor_guide.Rmd", - "08-student_anvil_guide.Rmd", + "05-anvil_onboarding.Rmd", + "08-student_using_rstudio.Rmd", "09-data_exploration.Rmd", "About.Rmd", "References.Rmd"] From 0517203a0a7c12e2198dafb746b7fa2cfdd4d72d Mon Sep 17 00:00:00 2001 From: Elizabeth Humphries Date: Wed, 26 Jun 2024 12:02:00 -0400 Subject: [PATCH 08/10] changing Rmd 9 name in bookdown --- _bookdown.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_bookdown.yml b/_bookdown.yml index a2183d3..ce27042 100644 --- a/_bookdown.yml +++ b/_bookdown.yml @@ -9,7 +9,7 @@ rmd_files: ["index.Rmd", "07-instructor_guide.Rmd", "05-anvil_onboarding.Rmd", "08-student_using_rstudio.Rmd", - "09-data_exploration.Rmd", + "09-soil_exploration_module.Rmd", "About.Rmd", "References.Rmd"] new_session: yes From 3efe54e4bc3c696eea62e41f3e99e59e7bdb9500 Mon Sep 17 00:00:00 2001 From: Elizabeth Humphries Date: Wed, 26 Jun 2024 12:10:24 -0400 Subject: [PATCH 09/10] restoring deleted file --- 09-student_guide.Rmd | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 09-student_guide.Rmd diff --git a/09-student_guide.Rmd b/09-student_guide.Rmd new file mode 100644 index 0000000..33df504 --- /dev/null +++ b/09-student_guide.Rmd @@ -0,0 +1,10 @@ + +# Student Guide + +## Activity One + +You might want to create a student guide that contains a different subset of Rmd files from your book, or renders to a different output format (e.g. word document). You can specify the output and Rmd files that will be used for the student guide using the `_output.yml` and `_bookdown.yml` files in the student-guide directory. + +## Activity Two + +Steps of the guide could go here. From 80fbea82eebd061f65b292efb7c238822cfae5ca Mon Sep 17 00:00:00 2001 From: Elizabeth Humphries Date: Wed, 26 Jun 2024 12:15:58 -0400 Subject: [PATCH 10/10] Update 09-student_guide.Rmd --- 09-student_guide.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/09-student_guide.Rmd b/09-student_guide.Rmd index 33df504..7fef200 100644 --- a/09-student_guide.Rmd +++ b/09-student_guide.Rmd @@ -7,4 +7,4 @@ You might want to create a student guide that contains a different subset of Rmd ## Activity Two -Steps of the guide could go here. +Steps of the guide _could_ go here.