├── .gitignore ├── .travis.yml ├── DESCRIPTION ├── README.md ├── TEST_Workshop.md ├── USING_THE_AMI.md ├── _bookdown.yml ├── _build.sh ├── _deploy.sh ├── _output.yml ├── index.Rmd ├── inst └── docker │ ├── Dockerfile │ └── notes.add_packages.txt └── preamble.tex /.gitignore: -------------------------------------------------------------------------------- 1 | # History files 2 | .Rhistory 3 | .Rapp.history 4 | 5 | # Session Data files 6 | .RData 7 | 8 | # Example code in package build process 9 | *-Ex.R 10 | 11 | # Output files from R CMD build 12 | /*.tar.gz 13 | 14 | # Output files from R CMD check 15 | /*.Rcheck/ 16 | 17 | # RStudio files 18 | .Rproj.user/ 19 | 20 | # produced vignettes 21 | vignettes/*.html 22 | vignettes/*.pdf 23 | 24 | # OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3 25 | .httr-oauth 26 | 27 | # knitr and R markdown default cache directories 28 | /*_cache/ 29 | /cache/ 30 | 31 | # Temporary files created by R markdown 32 | *.utf8.md 33 | *.knit.md 34 | 35 | # Shiny token, see https://shiny.rstudio.com/articles/shinyapps.html 36 | rsconnect/ 37 | _book 38 | /_bookdown_files/plyrangesTximeta_files/figure-html/unnamed-chunk-28-1.png 39 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: r 2 | r: bioc-devel 3 | 4 | sudo: false 5 | 6 | cache: 7 | packages: yes 8 | directories: 9 | - $TRAVIS_BUILD_DIR/_bookdown_files 10 | 11 | before_script: 12 | - chmod +x ./_build.sh 13 | - chmod +x ./_deploy.sh 14 | 15 | script: 16 | - ./_build.sh 17 | - ./_deploy.sh 18 | 19 | -------------------------------------------------------------------------------- /DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: BiocWorkshops2019 2 | Type: Book 3 | Title: Bioconductor 2019 Conference Workshops 4 | Version: 3.9.1 5 | Depends: R (>= 3.6.0), R (< 3.7.0) 6 | Imports: 7 | plyrangesTximetaCaseStudy, 8 | motifStackWorkshop, 9 | PublicDataResources, 10 | BioconductorOnContainers, 11 | BiocCloudws, 12 | EpiForBioWorkshop, 13 | BioC19CWL, 14 | OSCABioc2019, 15 | enrichOmics, 16 | CNVWorkshop, 17 | plyrangesWorkshops, 18 | bioc2019singlecell, 19 | ATACseqQCWorkshop, 20 | Bioc2019PanCancerStudy, 21 | Bioc2019Anno, 22 | Bioc2019pathwayPCA, 23 | BiocIntro, 24 | recountWorkshop2019, 25 | MultiAssayWorkshop, 26 | genomeRegionPooling, 27 | DelayedArrayWorkshop, 28 | muscWorkshop, 29 | iSEEWorkshop2019, 30 | MicrobiomeWorkshop 31 | Remotes: 32 | rstudio/bookdown, 33 | mikelove/plyrangesTximetaCaseStudy, 34 | jianhong/motifStackWorkshop, 35 | waldronlab/PublicDataResources, 36 | nturaga/BioconductorOnContainers, 37 | BiocCloudws=vjcitn/Bioc2019CloudWkshop, 38 | cmirzayi/EpiForBioWorkshop, 39 | hubentu/BioC19CWL, 40 | robertamezquita/OSCABioc2019, 41 | waldronlab/enrichOmics, 42 | waldronlab/CNVWorkshop, 43 | sa-lee/plyrangesWorkshops, 44 | drisso/bioc2019singlecell, 45 | haibol2016/ATACseqQCWorkshop, 46 | TransBioInfoLab/Bioc2019PanCancerStudy, 47 | jmacdon/Bioc2019Anno, 48 | TransBioInfoLab/Bioc2019pathwayPCA, 49 | Bioconductor/BiocIntro@BioC2019, 50 | LieberInstitute/recountWorkshop2019, 51 | waldronlab/MultiAssayWorkshop, 52 | genomeRegionPooling=databio/genome-region-workshop, 53 | DelayedArrayWorkshop=PeteHaitch/BioC2019_DelayedArray_workshop, 54 | muscWorkshop=HelenaLC/BioC2019-workshop_multi-scRNA-seq, 55 | kevinrue/iSEEWorkshop2019, 56 | waldronlab/MicrobiomeWorkshop 57 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | This repository contains details of the build process and usage for materials 3 | from the [Bioc2019 conference]. 4 | 5 | [Bioc2019 conference]: https://bioc2019.bioconductor.org 6 | 7 | # Compiled Workshops Link 8 | 9 | https://rebrand.ly/biocworkshops2019 10 | 11 | # Running workshop materials locally 12 | 13 | The workshops (except the CWL workshop) are all installed and 14 | ready-to-run inside [docker]; you will need to *install docker* on your machine to 15 | follow along. We have a base docker image [seandavi/bioc_2019] that contains 16 | the operating system and base R installation. The workshops and additional package (over 600) 17 | are included as a separate download that can be mounted into the container 18 | as a `volume`. To use the entire set of workshop materials, do: 19 | 20 | - Make a directory for the installed packages: 21 | 22 | ``` 23 | mkdir /home/ubuntu/bioc-libs # or another convenient directory with about 20GB of free space 24 | ``` 25 | 26 | - Download and untar entire tar.gz file with all installed packages and materials: 27 | 28 | ``` 29 | cd /home/ubuntu/bioc-libs # use the directory from above 30 | wget https://s3.amazonaws.com/biocbuild.cancerdatasci.org/bioc2019-usr-local.tar.gz 31 | tar -xzf bioc2019-usr-local.tar.gz 32 | ``` 33 | 34 | - Run docker locally with (you may or may not need `sudo` depending on your docker setup): 35 | 36 | ``` 37 | # again, use the directory from above 38 | sudo docker run --name bioc_2019 -d -v /home/ubuntu/bioc-libs:/usr/local/lib/R/site-library \ 39 | -p 80:8787 -e PASSWORD=bioc seandavi/bioc_2019 40 | ``` 41 | 42 | - Credentials: 43 | - username: 'rstudio' 44 | - password: 'as you set it--bioc above' 45 | 46 | [docker]: https://docker.io 47 | [seandavi/bioc_2019]: https://cloud.docker.com/u/seandavi/repository/docker/seandavi/bioc_2019 48 | 49 | 50 | # Instructions For Workshop Authors 51 | 52 | ## Getting started 53 | 54 | To contribute a new workshop, open a [BiocWorkshops issue][] starting with 55 | the `[Workshop]` keyword in the title of the issue. Provide a link to the 56 | repository in the issue message body. You may also include GitHub usernames 57 | of workshop collaborators. For a successful workshop build, adhere to the 58 | following: 59 | 60 | 1. Package your workshop as an R package. The example package https://github.com/lpantano/dummychapter1 demonstrates all key elements of how your package must be prepared, and also provides an example `.travis.yml` for Continuous Integration against bioc-devel. 61 | 2. Include a standard vignette in the vignettes directory 62 | 3. Put any extra files (images, .bib) in `inst/vignettes` and reference them 63 | in the vignette using `system.file` 64 | 4. Number **3** requires package chapter installation before vignette build or 65 | `build_vignettes=TRUE` when building the package. 66 | 5. Use only one top-level section (`#`), for the title of your workshop. All other sections must be second-level (`##`) or lower. You may find the [usage section of the Bookdown documentation](https://bookdown.org/yihui/bookdown/usage.html) helpful for background. 67 | 6. Do not use `BiocStyle` functionality. The style will be based on bookdown/gitbook. 68 | 69 | ### DESCRIPTION 70 | 71 | Update the DESCRIPTION file adding packages utilized in your workshop to 72 | the **Imports** field. 73 | 74 | ### Use bioc-devel 75 | 76 | BioC2019 workshops will run on **bioc-devel (3.10)**. That means that this book will be built on bioc-devel, workshop participants will use virtual machines running bioc-devel, and your workshops will be tested against bioc-devel. See [Using ‘bioc-devel’ during mid-April to mid-October](https://www.bioconductor.org/developers/how-to/useDevel/) for how to run bioc-devel; thankfully we are in the easy time of year for running release and devel side-by-side. Also, the [dummy chapter](https://github.com/lpantano/dummychapter1) includes a highly recommendable TravisCI setup for Continuous Integration against bioc-devel. 77 | 78 | ## Deadlines for Bioc2019 79 | 80 | Please be aware of the following deadlines for the [Bioconductor 2019 Conference][] in New York 81 | 82 | - **Mon May 27:** draft workshop materials submitted as an Issue to this Bioconductor GitHub repo 83 | - **Mon June 10:** complete workshop submitted. Only bugfixes / refinements should be made after this point. 84 | - **Mon June 17:** All workshops complete and building without error. No new commits to contributor repos will be incorporated. 85 | 86 | [BiocWorkshops issue]: https://github.com/Bioconductor/BiocWorkshops2019/issues 87 | [Bioconductor 2019 Conference]: https://bioc2019.bioconductor.org/ 88 | 89 | Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License. 90 | -------------------------------------------------------------------------------- /TEST_Workshop.md: -------------------------------------------------------------------------------- 1 | # Testing your Bioconductor Workshop on Travis CI 2 | 3 | Please refer to this website for detailed instructions on setting up Travis to 4 | build your Bioconductor Workshop chapter: 5 | https://bookdown.org/yihui/bookdown/github.html 6 | 7 | Be sure to enable Travis for your *fork* of the workshops repository by going 8 | to: https://www.travis-ci.org/account/repositories and moving the slider to the 9 | right. 10 | 11 | ## GitHub Personal Access Token 12 | 13 | In order to set up Travis, you will need a GitHub PAT. 14 | You can generate one via the `usethis` package: 15 | 16 | ```r 17 | library(usethis) 18 | 19 | ## Check to see if a PAT exists already: 20 | github_token() 21 | 22 | ## If it doesn't, run this and follow instructions: 23 | browse_github_token() 24 | ``` 25 | 26 | You will then need to save the environment variable via Travis in your 27 | repository's settings by going to the Travis CI website page for your 28 | project. 29 | 30 | ## Creating a `gh-pages` branch 31 | 32 | To build your chapter, you will need to create a GitHub Pages branch. 33 | You can use the following commands to `checkout` the branch and to clear 34 | the current directory in the branch: 35 | 36 | ``` 37 | git checkout --orphan gh-pages 38 | git rm -rf . 39 | 40 | # create a hidden file .nojekyll 41 | touch .nojekyll 42 | git add .nojekyll 43 | ``` 44 | 45 | Then commit the branch to GitHub: 46 | 47 | ``` 48 | git commit -m "Initial commit" 49 | git push origin gh-pages 50 | ``` 51 | 52 | ## Files to include in your repository 53 | 54 | To build your book / chapter, you will need a few files: 55 | 56 | * `_bookdown.yml` 57 | * `.travis.yml` 58 | * `_build.sh` 59 | * `_deploy.sh` 60 | * `DESCRIPTION` 61 | 62 | See the templates in the `BiocWorkshops2019` folder. 63 | 64 | -------------------------------------------------------------------------------- /USING_THE_AMI.md: -------------------------------------------------------------------------------- 1 | ## Using the Amazon Machine Image 2 | 3 | The AMI ID is currently: `ami-06a87b03fb3cdf14c` 4 | 5 | You can launch the AMI using the command line `aws` utility, an SDK like boto3/python, or 6 | from the Amazon Web Services Console. 7 | 8 | ### Security group 9 | 10 | The following ports need to be open: 11 | 12 | - Port 80 (rstudio running on docker) 13 | - Port 8080 (rstudio running on AMI hardware) 14 | - Port 22 (for ssh access to machine) 15 | 16 | ## FAQ 17 | 18 | - What is the difference between the port 80 and port 8080 versions? 19 | 20 | The port 80 version is identical to what you would get if you follow the [RUN_LOCAL.md](RUN_LOCAL.md) instructions. 21 | The port 8080 includes installed `docker`, `cwltool`, and `hisat2` for running CWL-based workflows, etc. 22 | 23 | - What is the username and password? 24 | - Port 80: 25 | - username: `rstudio` 26 | - password: `bioc` 27 | - Port 8080 28 | - username: `ubuntu` 29 | - password: `bioc` 30 | -------------------------------------------------------------------------------- /_bookdown.yml: -------------------------------------------------------------------------------- 1 | book_filename: "_BioC2019.md" 2 | pagetitle: "Bioconductor 2019 Workshops" 3 | new_session: yes 4 | 5 | language: 6 | ui: 7 | chapter_name: "Chapter " 8 | 9 | delete_merged_file: true 10 | 11 | -------------------------------------------------------------------------------- /_build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -ev 4 | 5 | Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::gitbook')" 6 | Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::pdf_book')" 7 | Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::epub_book')" 8 | 9 | -------------------------------------------------------------------------------- /_deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | [ -z "${GITHUB_PAT}" ] && exit 0 6 | [ "${TRAVIS_BRANCH}" != "master" ] && exit 0 7 | 8 | git config --global user.email "user.email@example.org" 9 | git config --global user.name "user-name" 10 | 11 | git clone -b gh-pages https://${GITHUB_PAT}@github.com/${TRAVIS_REPO_SLUG}.git book-output 12 | cd book-output 13 | cp -r ../_book/* ./ 14 | git add --all * 15 | git commit -m "Update the book" || true 16 | git push -q origin gh-pages 17 | 18 | -------------------------------------------------------------------------------- /_output.yml: -------------------------------------------------------------------------------- 1 | bookdown::gitbook: 2 | config: 3 | toc: 4 | collapse: section 5 | before: | 6 |
  • Bioconductor 2019 Workshops
  • 7 | after: | 8 |
  • Bioconductor Conference
  • 9 | download: ["pdf", "epub"] 10 | sharing: 11 | github: yes 12 | facebook: no 13 | twitter: yes 14 | bookdown::pdf_book: 15 | latex_engine: xelatex 16 | includes: 17 | in_header: preamble.tex 18 | citation_package: natbib 19 | keep_tex: yes 20 | bookdown::epub_book: default 21 | -------------------------------------------------------------------------------- /index.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | knit: "bookdown::render_book" 3 | title: "The Bioconductor 2019 Workshop Compilation" 4 | description: "This book contains all the workshops presented at the Bioconductor 2019 Conference" 5 | site: bookdown::bookdown_site 6 | github-repo: Bioconductor/BiocWorkshops2019 7 | documentclass: book 8 | geometry: 9 | - inner=1.25in 10 | - outer=1in 11 | --- 12 | 13 | # Introduction {-} 14 | 15 | Editors: 16 | Sean Davis^[Center for Cancer Research, National Cancer Institute, National Institutes of Health, Bethesda, MD] 17 | Lorea Pantano Rubino^[Harvard Chan School of Public Health, Boston, MA] 18 | Marcel Ramos^[City University of New York and Roswell Park Comprehensive Cancer Center, NY] 19 | Levi Waldron^[City University of New York, New York, NY] 20 |
    21 | Last modified: `r file.info('index.Rmd')$mtime` 22 | 23 | Welcome to Bioc2019. This year's conference includes a wide array of workshops 24 | for audiences ranging from beginner to advance users and developers. Workshop 25 | materials are available as a book in html, pdf, and eBook format at 26 | https://bioconductor.github.io/BiocWorkshops2019/. Workshops are organized by level 27 | and topic according to numbers, as described below. Every workshop starts with a 28 | syllabus that will help you to decide whether it matches your learning goals. 29 | 30 | ## The Workshops 31 | 32 | This book contains workshops for _R_ / _Bioconductor_ 33 | training. The workshops are divided into 3 sections: 34 | 35 | - **Learn** (100-series chapters) contains material for beginning 36 | users of _R_ and _Bioconductor_. However, even experienced _R_ and _Bioconductor_ 37 | users may find something new here. 38 | 39 | - **Use** (200-series chapters) contains workshops emphasizing use of 40 | _Bioconductor_ for common tasks, e.g., RNA-seq differential 41 | expression, single-cell analysis, gene set enrichment, multi'omics analysis, 42 | genome analysis, network analysis, and pharmacogenomics. 43 | 44 | - **Develop** (500-series chapters) contains workshops to help expert 45 | users hone their skills and contribute their domain-specific 46 | knowledge to the _Bioconductor_ community. These workshops are presented 47 | on "Developer Day". 48 | 49 | ## How to use these workshops 50 | 51 | These workshops have a lot of package dependencies, and some use data 52 | that you must have on disk. There are several ways to run the code 53 | from these workshops yourself. 54 | 55 | ### Install on your own computer 56 | 57 | These workshops were developed for Bioconductor 3.10 (development 58 | branch) to allow teaching the most up-to-date methods. Some, but not 59 | all, workshop materials will work on Bioconductor 3.9, and (almost?) 60 | all should work after the release of Bioconductor 3.10 in October 2019. 61 | To run the workshops on your own computer, you should install 62 | Bioconductor >= 3.10 (which is the development version before October 63 | 2019, and the release version thereafter). The following commands 64 | should then install all needed dependencies, at least for Linux: 65 | 66 | ```{r,eval=FALSE} 67 | if (!require("BiocManager", quietly = TRUE)) 68 | install.packages("BiocManager") 69 | BiocManager::install("Bioconductor/BiocWorkshops2019") 70 | ``` 71 | 72 | We have noticed that on Windows and Mac, this may not install the 73 | required annotation and experimental data packages. If you get errors 74 | about missing dependencies, you can install these with additional 75 | calls to the `BiocManager::install()` function. 76 | 77 | ### Use the exact same AMI as the workshop 78 | 79 | Each participant in the Bioc2019 workshops was provided with their own 80 | machine image (called an Amazon Machine Image [AMI]) that contained 81 | up-to-date versions of R, required R packages, all necessary operating 82 | system libraries, and all workshop materials. This image has been 83 | tested by the organizers and more than 100 workshop participants, so 84 | if you use it, *everything will just work.* Using this image is the 85 | most hassle-free way to work through these workshops yourself without 86 | having to worry about setup. 87 | 88 | ## License 89 | 90 | These materials are published under the Creative Commons CC BY license. You are free to: 91 | * **Share** — copy and redistribute the material in any medium or format 92 | * **Adapt** — remix, transform, and build upon the material for any purpose, even commercially. 93 | 94 | Under the following terms: 95 | * **Attribution** — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. 96 | * **No additional restrictions** — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. 97 | 98 | [View License Deed](https://creativecommons.org/licenses/by/4.0) | [View Legal Code](https://creativecommons.org/licenses/by/4.0/legalcode) 99 | [Bioconductor 2019 Conference]: https://bioc2019.bioconductor.org/ 100 | -------------------------------------------------------------------------------- /inst/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM bioconductor/bioconductor_full:devel 2 | 3 | RUN apt-get update 4 | RUN apt-get install -y libudunits2-dev libgdal-dev libgeos-dev libproj-dev 5 | RUN apt-get install -y cwltool hisat2 6 | RUN apt-get install -y apt-transport-https ca-certificates curl software-properties-common 7 | 8 | RUN Rscript -e 'BiocManager::install("remotes")' 9 | 10 | RUN pip install virtualenv 11 | RUN Rscript -e 'BiocManager::install("tensorflow")' 12 | RUN Rscript -e 'tensorflow::install_tensorflow()' 13 | 14 | RUN groupadd docker 15 | RUN usermod -aG docker bioc 16 | RUN usermod -aG docker rstudio 17 | 18 | RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 19 | RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" 20 | RUN apt-get update 21 | RUN apt-get install -y docker-ce 22 | -------------------------------------------------------------------------------- /inst/docker/notes.add_packages.txt: -------------------------------------------------------------------------------- 1 | To collect packages: 2 | 3 | - Inside the docker container running R 4 | 5 | cd /usr/local/lib/R/site-library 6 | tar -czf /tmp/bioc-lib.tar.gz 7 | # copy to storage location 8 | aws s3 cp ~/bioc-lib.tar.gz s3://biocbuild.cancerdatasci.org/bioc2019-usr-local.tar.gz 9 | 10 | 11 | - on host machine to run NEW docker 12 | 13 | cd /tmp 14 | mkdir bioc-local 15 | cd bioc-local 16 | wget https://s3.amazonaws.com/biocbuild.cancerdatasci.org/bioc2019-usr-local.tar.gz 17 | tar -xzf bioc2019-usr-local.tar.gz 18 | sudo docker run -d -v /tmp/bioc-local:/usr/local/lib/R/site-library \ 19 | --restart=always \ 20 | -p 80:8787 -e PASSWORD=bioc seandavi/bioc_2019 21 | 22 | -------------------------------------------------------------------------------- /preamble.tex: -------------------------------------------------------------------------------- 1 | \DeclareUnicodeCharacter{2514}{\mbox{\kern.23em 2 | \vrule height2.2exdepth-1.8ptwidth.4pt\vrule height2.2ptdepth-1.8ptwidth.23em}} 3 | \DeclareUnicodeCharacter{2500}{\mbox{\vrule height2.2ptdepth-1.8ptwidth.5em}} 4 | --------------------------------------------------------------------------------