BiocSwirl is a series of in-depth swirlify generated courses used to teach bioinformatics workflows in R/Bioconductor using an interactive and easy to digest format. This project was the People's Choice Award for the Vancouver Bioinformatics Hackathon Hackseq2019.
Submission to Bioconductor pending.
# install.packages("devtools")
# library(devtools)
devtools::install_github("biocswirl-dev-team/BiocSwirl")
library(BiocSwirl)
Alternatively, the BiocSwirl courses can be installed independently. Please follow these instructions to manually install our courses: https://github.com/swirldev/swirl_courses/wiki/Legacy-Manual-Install-Instructions-for-Swirl-Courses
There have been many resources available to interdisciplinary researchers for years now in the form of Rbookdown tutorials, in person workshops, and Youtube videos. However, each method of learning has its pros and cons - for blogpost and video type tutorials we have the inability to troubleshoot and raise our hands, for in-person workshops we have time limitations.
Bioinformatics has grown in adoption in many traditional non-computer science fields that lack the time and energy to go truly in depth past copying and pasting code found online. Swirlstats and terminal-based Python courses such as browser-based Codeacademy, have shown to be efficient course structures to teach data science and statistics to complete beginners.
We developed swirlify()
-style console/terminal based courses for the purposes of teaching bioinformatics workflow steps and good coding practices. The philosophy is to keep the GUI use and application switching as minimal as possible but the content itself very rich and informative.
See also for out interface companion to the course materials. The interface (BiocTerm) and R package (BiocSwirl) can be used independently of each other but are best used together for people who are interested in making the most of their learning experience.
To view a demo, see here
BiocSwirl includes
-
Interactive course material that goes from beginner's steps (package installation and environment setup) to low level, to high level analyses and visualizations
-
Is easily configurable and breaks down complex bioinformatics workflows into simple, easy to chew steps. Includes standardized datasets to work with and checks your work
-
Highly emphases good coding practices, open science, reproducibility, and YAML file format and templates make it easy to update a workflow to match current best practices and create/communicate your own workflows for within lab
-
Example inputs and outputs
-
Course-specific package installations and standardized datasets
-
Ability to start at any point of the course material
-
Ability to save progress
-
Compatability with BiocTerm
-
Lightweight install, you can install what you want and included datasets are not large. Processing of data is not resource heavy and so it will work on low spec systems
Pending:
- Templates to communicate own workflow in notebook style
- Multilanguage workflow course materials for use with BiocTerm
- More courses
- Output checker/"Smart Marker"
- Low Level Analyses
a. Importing, raw data preprocessing
b. Alignment
c. Quality Control
d. Normalization (with and without spike-ins)
e. Dimensionality Reduction
f. Correcting for batch effects - High Level Analyses
a. Clustering methods, exploratory analyses
b. Cell cycle phase classification from gene expression data
c. HVG and marker gene identification - Visualizations for high-throughput data
Vignette - Install/Uninstall/Start Courses
coming soon.
We are always looking for pull requests and active contributors, if you are interested in designing a course for us or have a feature in mind please submit an issue before doing a pull request. We are currently looking for help developing on Windows systems, bioinformatics workflows and concepts, and support for even more languages in BiocTerm.
Name | GitHub ID | Work done |
---|---|---|
Lisa N. Cao | lisancao | User Environment & Interface Development |
Jackie Lu | jql6 | User Environment & Interface Development |
Jeremy Fan | zhemingfan | User Environment & Interface Development |
Mariam Arab | mariamarab | User Environment & Installation |
Kate Tyshchenko | ktyshchenko | Documentation, Course Material |
Paaksum Wong | paaksum | Course Material (main) |
Sourav Singh | souravsingh | Course Material |
Julia Philipp | JuliaPhilipp | Manuscript & Couse Development |
Matthew Moss | mmoss609 | Course Development |
Almas Khan | almas2019 | Course Development |
Denitsa Vasileva | deni678 | Course Development |
Jasdeep Singh | Course Development | |
Nicolai von Kügelgen | Nicolai-vKuegelgen | Course Development |
Elizabeth Hutchins | e-hutchins | Course Development |
Benson Lee | bensonlee5 | User Environment & Interface Development |
Details about hackseq19 project Details about CSHL codeathon project