Reproducible teaching labs for RNA-seq and R programming built around GitHub Codespaces. This repo ships a full RStudio Server IDE, an optional desktop-lite workflow, and a mamba-managed toolkit so every student lands in the same environment regardless of their laptop.
- Click Open in GitHub Codespaces. GitHub provisions a Codespace from
.devcontainer/devcontainer.json. - Initial creation installs Ubuntu packages, R/Bioconductor libraries, and CLI tools�plan for 30 minutes. Keep the tab open until the build completes.
- Once VS Code opens, run:
rstudio-server start
- Port 8787 auto-forwards. Use the notification or Ports tab to open RStudio (user
rstudio, passwordrstudio).
- Click Reopen My Codespace button on top and pick the workspace you created earlier.
- Because packages are already cached, it resumes in seconds.
- Restart RStudio with
rstudio-server startand reopen port 8787.
A screenshot annotated with these callouts will be inserted here.
- Source edit R scripts/Rmd notebooks, run chunks, and view rendered docs.
- Console executes commands interactively; shows warnings/errors and
rstudio-servermessages. - Terminal full shell access (bash) for mamba commands, git, or custom scripts.
- Environment lists objects currently in memory (data frames, vectors, models); lets you inspect or remove them.
- History chronological log of executed commands with buttons to re-run or send to Source.
- Files browse project folders, upload/download files, and open notebooks.
- Plots displays the current graphics device; use navigation arrows to flip through prior plots.
- Packages see installed libraries, enable/disable them, and launch help pages.
- Open the
.Rmdyou want (see Lessons below) via the Files pane. - Set the working directory with
setwd()or the gear icon if needed. - Use Run / Run All buttons to execute chunks, or press
Ctrl+Shift+Enter(Cmd+Shift+Enteron macOS) to knit. - Keep an eye on the Console for errors; restart R (
Session -> Restart R) if memory gets cluttered.
- R_Programming_basics_practical.Rmd introduces R syntax, data frames, and visualization fundamentals tailored for bioinformatics students.
- Gene_expression_DEG_practical.Rmd walks through differential gene expression analysis with DESeq2, including QC, normalization, and volcano plots.
- DEXSeq_salmon_DTU_practical.Rmd covers isoform-level quantification with Salmon and DEXSeq for differential transcript usage.
- RStudio Server 2023.x exposed on port 8787 via the Rocker devcontainer feature.
- XFCE desktop + noVNC bridge (desktop-lite feature) so you can run GUI apps inside the Codespace when enabled.
- Conda/mamba toolchain (Miniforge feature) for FastQC, MultiQC, Salmon, STAR, samtools, seqtk, bedtools, etc. (
env/mamba-environment.yml). - Pre-installed R/Bioconductor stack covering all supplied practicals (DESeq2, airway, IsoformSwitchAnalyzeR, clusterProfiler, ...).
- Ready-to-teach content: Rmd notebooks, docs, and data mirrored from the original Gitpod-based course.
docs/grading material and supporting markdown.env/shared config such asmamba-environment.ymland R data sets.figures/reference screenshots.rocker/legacy Dockerfiles.*.Rmdthe teaching notebooks students run in RStudio.
The post-create hook runs .devcontainer/scripts/install-r-packages.R, ensuring:
- airway, SummarizedExperiment, DESeq2, vsn, apeglm, AnnotationDbi, org.Hs.eg.db
- clusterProfiler, enrichplot, DOSE, IsoformSwitchAnalyzeR
- tidyverse, ggplot2, ggnewscale, ggbeeswarm, ggrepel, pheatmap, RColorBrewer, dbplyr, tidyr, readr, GGally Add more via that script as needed.
# Requires Docker + VS Code Dev Containers extension
git clone https://github.com/FairTeach/codespaces_RStudio.git
cd codespaces_RStudio
code .
# When prompted, "Reopen in Container"Same devcontainer features run locally, so behavior matches Codespaces.
Miniforge installs mamba under /opt/conda. The bootstrap script creates/updates rnaseq-tools defined in env/mamba-environment.yml:
mamba activate rnaseq-tools
multiqc --helpAdd extra tools (e.g., gffcompare, bwa, hisat2) to the YAML and rebuild or run mamba env update inside the Codespace.
- Rebuild the container (
Codespaces / Rebuild container) after changing.devcontainer/**,env/mamba-environment.yml, or bootstrap scripts. - If RStudio Server doesn�t start, check the Ports tab for 8787; restart with
rstudio-server stop/rstudio-server start. - Desktop-lite can be toggled via the command palette (
Codespaces: Open in Browser) if you need the VNC desktop.
¿Happy learning? Questions or suggestions? Open an issue or reach out on @FairTeach!
Professor: Igor Ruiz de los Mozos Aliaga PhD
Institution: NASERTIC / UPNA / UNAV
Office hours: By appointment
Facilities: IRIS Polo de Innovación Digital – Molecular Biology, Synthetic Biology, and HPC laboratories

