Skip to content

Repository files navigation

RStudio Bioconductor OOD

Reproducible Apptainer container images for RStudio Server with Bioconductor system-library support, deployed as an Open OnDemand interactive app across Purdue RCAC HPC clusters. Two SIF images are produced from a shared codebase: a Rocky 8 image (Bell, Negishi) and a Rocky 9 image (Gautschi, Scholar).

Prerequisites

  • Apptainer 1.3+ (available on RCAC clusters)
  • envsubst (from gettext package)
  • GNU Make
  • Root or fakeroot access for apptainer build

Quickstart

# Generate def files for both OS targets
make generate-all

# Copy the generated def to the build cluster, then:
sudo apptainer build /tmp/rstudio-bioc-ood-rocky9-r4.5.2-s2025.05.0-496.sif generated/rocky9.def

# Move to deployment location
mv /tmp/rstudio-bioc-ood-rocky9-r4.5.2-s2025.05.0-496.sif /depot/itap/ood/bio/containers/

# Compare OS-specific differences
make diff

Repository structure

rstudio-bioc-ood/
  CLAUDE.md                  # Project context for Claude Code
  ROADMAP.md                 # Phased execution plan
  README.md                  # This file
  Makefile                   # Build orchestration
  build.sh                   # Generates .def from template + config
  config/
    common.env               # Shared: R version, RStudio version, packages
    rocky8.env               # Rocky 8 overrides
    rocky9.env               # Rocky 9 overrides
  templates/
    rstudio-bioc-ood.def.tmpl  # Parameterized Apptainer def template
  generated/                 # Generated .def files (git-ignored)
  ood-app/
    bio_rstudio/             # OOD app (form.yml.erb, script.sh.erb, etc.)
  reference/                 # Read-only reference from current production
  docs/
    DEPLOY.md                # Cluster deployment checklist
    TESTING.md               # Validation steps
  scripts/                   # Validation and utility scripts

Configuration

Version pins and build parameters live in config/:

File Purpose
common.env R, RStudio, Bioconductor versions
rocky8.env Rocky 8 base image, repos, Java 11
rocky9.env Rocky 9 base image, repos, Java 17

Edit these files to bump versions, then make generate-all to regenerate defs.

Further reading

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages