-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
mictes
committed
Apr 29, 2024
1 parent
6009c1b
commit dd43a50
Showing
5 changed files
with
64 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Overview","text":""},{"location":"#interactive-data-visualization-with-r-shiny-for-life-sciences","title":"Interactive Data Visualization with R Shiny for Life Sciences","text":"<p>This repository houses the slides and training materials for a two-day R Shiny tutorial, conducted for the Zurich Ph.D. Program in Molecular Life Sciences (joint program of the University of Zurich and ETH Zurich) in April 2024. The content covers basic to advanced topics and is ideal for anyone looking to improve their data visualisation skills with R Shiny.</p>"},{"location":"#tutorial-description","title":"Tutorial description","text":"<p>Discover the versatility of R Shiny and explore real-world examples that show how it can be used to efficiently visualise and share scientific data. Learn the basic concepts of R Shiny and create your first R Shiny application from scratch, guided by step-by-step instructions, choosing from several flavours what best suits your needs. Create a dashboard and master interactive elements such as downloading plots, selecting points and zooming into plots. Complete a mini-project with peers to customise your app with advanced widgets, layouts or statistical functions. In addition we will briefly dive into the basics of web development to customise your application beyond the standard options, add a help function and explore methods for sharing and hosting your Shiny apps.</p> <p>Course Dates: April 8 (1-4 pm) & 11 (2-5 pm) 2024 Site: Irchel campus (UZH) Tutors: Michael Teske & Jonas Schmid, Institute of Experimental Immunology, University of Zurich</p> <p>1 ECTS point will be awarded upon course completion</p>"},{"location":"#course-outline","title":"Course outline","text":"<p>Day 1:</p> <ul> <li>Introduction to R Shiny, first app</li> <li>Quick review of ggplot2</li> <li>Exploring Widgets</li> <li>Creating a dashboard</li> </ul> <p>Day 2:</p> <ul> <li>Implementing interactive plot functions</li> <li>Advanced R Shiny customization</li> <li>Deploying Shiny apps</li> </ul> <p>Assignment:</p> <p>Mini-project, further customisation of the app with advanced elements and functions (completion of milestones, group work possible) - Workload: ca. 20 h</p>"},{"location":"#requirements","title":"Requirements","text":"<ul> <li>Basic R skills<ul> <li>Basic understanding of R syntax</li> <li>Familiarity with installing and loading packages</li> <li>Working with data frames</li> <li>Creating plots (ggplot2)</li> </ul> </li> <li>Laptop with recent version of R Studio and access to UZH/eduroam WiFi</li> <li>Full participation in all sessions</li> <li>Completion of mini-project assignment within 10 days after the tutorial</li> </ul> <p>Further details will be provided to the participants shortly before the course starts, and additional information will be posted in the dedicated Slack channel.</p>"},{"location":"example_app/","title":"Example app","text":"<p>The aim of the course is to create something similar to this example app in your own flavour. </p> <p>The app uses the Iris dataset and provides a violin plot with customisable point sizes via a slider. The iris species displayed can be selected and ordered by drag-and-drop and significance levels are optionally shown. The plot can be downloaded as a PDF file. It is possible to select an area of the plot, with details of the selected points displayed in a table below. The contents of the table can be downloaded as a csv file, e.g. for further processing in MS Excel. A double-click zooms into the selected area. In addition, a help button is available to guide the user through the app's functions.</p> <p>You can view the app here: https://mictes.shinyapps.io/tutorial/</p> <p>Source code download:</p> <p>tutorial_app.R</p> <p></p>"},{"location":"exercises/","title":"Exercises","text":""},{"location":"exercises/#milestones","title":"Milestones","text":"<p>These coding studios will guide you through structured tasks in the development of your R Shiny app. With example code provided, you can choose from several options at multiple steps, enabling you to create a custom-flavored R Shiny app tailored specifically to your needs.</p>"},{"location":"exercises/#day-1","title":"Day 1","text":"<ul> <li>Calculator draft R script</li> <li>Coding studio day 1</li> </ul>"},{"location":"exercises/#day-2","title":"Day 2","text":"<ul> <li>Coding studio day 2</li> </ul>"},{"location":"exercises/#assignment","title":"Assignment","text":"<p>To complete the course, you/your team has to accomplish at least 3 additional milestones as part of an assignment.</p> <ul> <li>Assignment</li> </ul>"},{"location":"exercises/#solutions","title":"Solutions","text":"<p>Below you can find the complete solutions for day 1/day 2. Feel free to use them if you want to start over.</p>"},{"location":"exercises/#day-1_1","title":"Day 1","text":"<ul> <li>Calculator</li> <li>App Day 1</li> </ul>"},{"location":"exercises/#day-2_1","title":"Day 2","text":"<ul> <li>App Day 2</li> </ul>"},{"location":"lectures/","title":"Lectures","text":"<p>Hints: press <code>m</code> to open the menu/table of contents, <code>f</code> for fullscreen mode (<code>Esc</code> to exit fullscreen) and <code>Ctrl</code>/<code>Option</code> + click to zoom in. Use <code>q</code> for the laser-pointer and <code>t</code> for starting countdowns.</p>"},{"location":"lectures/#lesson-slides","title":"Lesson Slides","text":"<p>These slides thoroughly introduce fundamental concepts in R Shiny, covering server/UI interactions, widgets, reactive programming, and more. They also provide an overview of creating visually appealing plots with ggplot2, complemented with practical examples. Additionally, we explore the standard web technologies utilised by R Shiny and demonstrate how to use CSS stylesheets to enhance our apps beyond standard options.</p>"},{"location":"lectures/#day-1","title":"Day 1","text":"<ul> <li>Lesson 1: Introduction</li> <li>Lesson 2: ggplot2 recap</li> </ul>"},{"location":"lectures/#day-2","title":"Day 2","text":"<ul> <li>Lesson 3: Webdevelopment adventure</li> </ul>"},{"location":"resources/","title":"Resources","text":""},{"location":"resources/#datasets","title":"Datasets","text":""},{"location":"resources/#ruhland-et-al-2016","title":"Ruhland et al., 2016","text":"<p>DESeq2 results of RNA-seq data comparing ETOH- (wild type) and TAM-treated (senescent, conditionally overexpressed cell cycle inhibitor p27) mouse skin fibroblasts. You can use this dataset if you want to create an app with a volcano plot.</p> <p>Ruhland, M. K. et al. Stromal senescence establishes an immunosuppressive microenvironment that drives tumorigenesis. Nat. Commun. 7:11762 doi: 10.1038/ncomms11762 (2016).</p> <p>Ruhland2016.csv</p>"},{"location":"resources/#cheatsheets-examples","title":"Cheatsheets & Examples","text":"<ul> <li>R Shiny Cheatsheet</li> <li>R Shiny Widget Gallery</li> <li> <p>R Shiny Gallery</p> </li> <li> <p>ggplo2 Cheatsheet</p> </li> <li> <p>R Graph Gallery</p> </li> <li> <p>shinyDashboard reference</p> </li> </ul>"},{"location":"resources/#further-reading","title":"Further Reading","text":"<ul> <li>R Shiny Get Started</li> <li>Video: R Tutorial: Reactivity 101</li> <li>How to understand reactivity in R</li> <li> <p>Video: Shiny Modules in 100 Seconds</p> </li> <li> <p>Introduction to ggplot2</p> </li> <li> <p>Video: ggplot2 explained in 5 minutes!</p> </li> <li> <p>w3schools: CSS</p> </li> </ul>"},{"location":"resources/#misc","title":"Misc","text":"<ul> <li> <p>k-means reactlog</p> </li> <li> <p>Tips & Tricks Day 1</p> </li> </ul>"}]} | ||
{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Overview","text":""},{"location":"#interactive-data-visualization-with-r-shiny-for-life-sciences","title":"Interactive Data Visualization with R Shiny for Life Sciences","text":"<p>This repository houses the slides and training materials for a two-day R Shiny tutorial, conducted for the Zurich Ph.D. Program in Molecular Life Sciences (joint program of the University of Zurich and ETH Zurich) in April 2024. The content covers basic to advanced topics and is ideal for anyone looking to improve their data visualisation skills with R Shiny.</p>"},{"location":"#tutorial-description","title":"Tutorial description","text":"<p>Discover the versatility of R Shiny and explore real-world examples that show how it can be used to efficiently visualise and share scientific data. Learn the basic concepts of R Shiny and create your first R Shiny application from scratch, guided by step-by-step instructions, choosing from several flavours what best suits your needs. Create a dashboard and master interactive elements such as downloading plots, selecting points and zooming into plots. Complete a mini-project with peers to customise your app with advanced widgets, layouts or statistical functions. In addition we will briefly dive into the basics of web development to customise your application beyond the standard options, add a help function and explore methods for sharing and hosting your Shiny apps.</p> <p>Course Dates: April 8 (1-4 pm) & 11 (2-5 pm) 2024 Site: Irchel campus (UZH) Tutors: Michael Teske & Jonas Schmid, Institute of Experimental Immunology, University of Zurich</p> <p>1 ECTS point will be awarded upon course completion.</p>"},{"location":"#course-outline","title":"Course outline","text":"<p>Day 1:</p> <ul> <li>Introduction to R Shiny, first app</li> <li>Quick review of ggplot2</li> <li>Exploring Widgets</li> <li>Creating a dashboard</li> </ul> <p>Day 2:</p> <ul> <li>Implementing interactive plot functions</li> <li>Advanced R Shiny customization</li> <li>Deploying Shiny apps</li> </ul> <p>Assignment:</p> <p>Mini-project, further customisation of the app with advanced elements and functions (completion of milestones, group work possible) - Workload: ca. 20 h</p>"},{"location":"#requirements","title":"Requirements","text":"<ul> <li>Basic R skills<ul> <li>Basic understanding of R syntax</li> <li>Familiarity with installing and loading packages</li> <li>Working with data frames</li> <li>Creating plots (ggplot2)</li> </ul> </li> <li>Laptop with recent version of R Studio and access to UZH/eduroam WiFi</li> <li>Full participation in all sessions</li> <li>Completion of mini-project assignment within 10 days after the tutorial</li> </ul> <p>Further details will be provided to the participants shortly before the course starts, and additional information will be posted in the dedicated Slack channel.</p>"},{"location":"example_app/","title":"Example app","text":"<p>The aim of the course is to create something similar to this example app in your own flavour. </p> <p>The app uses the Iris dataset and provides a violin plot with customisable point sizes via a slider. The iris species displayed can be selected and ordered by drag-and-drop and significance levels are optionally shown. The plot can be downloaded as a PDF file. It is possible to select an area of the plot, with details of the selected points displayed in a table below. The contents of the table can be downloaded as a csv file, e.g. for further processing in MS Excel. A double-click zooms into the selected area. In addition, a help button is available to guide the user through the app's functions.</p> <p>You can view the app here: https://mictes.shinyapps.io/tutorial/</p> <p>Source code download:</p> <p>tutorial_app.R</p> <p></p>"},{"location":"exercises/","title":"Exercises","text":""},{"location":"exercises/#milestones","title":"Milestones","text":"<p>These coding studios will guide you through structured tasks in the development of your R Shiny app. With example code provided, you can choose from several options at multiple steps, enabling you to create a custom-flavored R Shiny app tailored specifically to your needs.</p>"},{"location":"exercises/#day-1","title":"Day 1","text":"<ul> <li>Calculator draft R script</li> <li>Coding studio day 1</li> </ul>"},{"location":"exercises/#day-2","title":"Day 2","text":"<ul> <li>Coding studio day 2</li> </ul>"},{"location":"exercises/#assignment","title":"Assignment","text":"<p>To complete the course, you/your team has to accomplish at least 3 additional milestones as part of an assignment.</p> <ul> <li>Assignment</li> </ul> <p>Alongside concise instructions for the tasks below, the slides also provide further information about the assignment and submission process. We will take a brief look at some of these tasks at the end of Day 2. Please feel free to post any questions in the Slack channel at any time.</p> Task Difficulty Deploy app online 2 DataTable extensions (download csv) 2 subset dataset 2 shinyWidgets : Extend widgets available in shiny 2 Shiny Dashboard layout elements 3 Add favicon 1.5 Interactive help function 3 Plot statistics 3 Password protection with shinyauthr 3"},{"location":"exercises/#solutions","title":"Solutions","text":"<p>Below you can find the complete solutions for day 1/day 2. Feel free to use them if you want to start over.</p>"},{"location":"exercises/#day-1_1","title":"Day 1","text":"<ul> <li>Calculator</li> <li>App Day 1</li> </ul>"},{"location":"exercises/#day-2_1","title":"Day 2","text":"<ul> <li>App Day 2</li> </ul>"},{"location":"lectures/","title":"Lectures","text":"<p>Hints: press <code>m</code> to open the menu/table of contents, <code>f</code> for fullscreen mode (<code>Esc</code> to exit fullscreen) and <code>Ctrl</code>/<code>Option</code> + click to zoom in. Use <code>q</code> for the laser-pointer and <code>t</code> for starting countdowns.</p>"},{"location":"lectures/#lesson-slides","title":"Lesson Slides","text":"<p>These slides thoroughly introduce fundamental concepts in R Shiny, covering server/UI interactions, widgets, reactive programming, and more. They also provide an overview of creating visually appealing plots with ggplot2, complemented with practical examples. Additionally, we explore the standard web technologies utilised by R Shiny and demonstrate how to use CSS stylesheets to enhance our apps beyond standard options.</p>"},{"location":"lectures/#day-1","title":"Day 1","text":"<ul> <li>Lesson 1: Introduction</li> <li>Lesson 2: ggplot2 recap</li> </ul>"},{"location":"lectures/#day-2","title":"Day 2","text":"<ul> <li>Lesson 3: Webdevelopment adventure</li> </ul>"},{"location":"resources/","title":"Resources","text":""},{"location":"resources/#datasets","title":"Datasets","text":""},{"location":"resources/#ruhland-et-al-2016","title":"Ruhland et al., 2016","text":"<p>DESeq2 results of RNA-seq data comparing ETOH- (wild type) and TAM-treated (senescent, conditionally overexpressed cell cycle inhibitor p27) mouse skin fibroblasts. You can use this dataset if you want to create an app with a volcano plot.</p> <p>Ruhland, M. K. et al. Stromal senescence establishes an immunosuppressive microenvironment that drives tumorigenesis. Nat. Commun. 7:11762 doi: 10.1038/ncomms11762 (2016).</p> <p>Ruhland2016.csv</p>"},{"location":"resources/#cheatsheets-examples","title":"Cheatsheets & Examples","text":"<ul> <li>R Shiny Cheatsheet</li> <li>R Shiny Widget Gallery</li> <li> <p>R Shiny Gallery</p> </li> <li> <p>ggplo2 Cheatsheet</p> </li> <li> <p>R Graph Gallery</p> </li> <li> <p>shinyDashboard reference</p> </li> </ul>"},{"location":"resources/#further-reading","title":"Further Reading","text":"<ul> <li>R Shiny Get Started</li> <li>Video: R Tutorial: Reactivity 101</li> <li>How to understand reactivity in R</li> <li> <p>Video: Shiny Modules in 100 Seconds</p> </li> <li> <p>Introduction to ggplot2</p> </li> <li> <p>Video: ggplot2 explained in 5 minutes!</p> </li> <li> <p>w3schools: CSS</p> </li> </ul>"},{"location":"resources/#misc","title":"Misc","text":"<ul> <li> <p>k-means reactlog</p> </li> <li> <p>Tips & Tricks Day 1</p> </li> </ul>"}]} |