A curated collection of Apptainer/Singularity recipes for bioinformatics and cancer genomics on HPC systems.
Containers are built, tested, scanned, signed, and published to GitHub Container Registry from versioned recipes in recipes/.
Pull a published image:
apptainer pull bwa.sif oras://ghcr.io/brucemoran/singularity/bwa--0-7-17:latest
apptainer exec bwa.sif bwa mem ref.fa r1.fastq.gz r2.fastq.gz > aligned.samBuild locally from the canonical recipes/ tree:
git clone https://github.com/brucemoran/Singularity
cd Singularity
sudo apptainer build bwa.sif recipes/aligners/bwa/bwa_0.7.17.defInspect metadata and provenance:
apptainer inspect bwa.sif
apptainer verify bwa.sifrecipes/: canonical, versioned recipe source tree for all new workcatalogue.md: auto-generated published container cataloguetests/: smoke tests, tiny FASTA/FASTQ fixtures, and tooling testsexamples/: Nextflow, Snakemake, SLURM, and WDL usage examplesutilities/: helper scripts for labels, linting, catalogue generation, and module generationdocs/: cluster, security, and base-image policy documentationscs/: legacy active recipe tree retained for compatibility and migrationshub/: archived Singularity Hub-era definitions
The authoritative published image list lives in catalogue.md.
It is generated from %labels in recipes/**/*.def, so image metadata, pull commands, and documentation stay aligned.
To refresh locally:
python utilities/generate_catalogue.py --output catalogue.mdRecipe changes flow through these stages:
lint.yml: validates naming, labels, pinning, and recipe policy before build.build.yml: builds changed recipes with Apptainer.test.yml: runs smoke tests and tooling tests.security-scan.yml: generates SBOMs and scans for CVEs with Syft and Grype.publish.yml: pushes signed.sifartifacts to GHCR via ORAS and verifies the published artifact by pulling it back.catalogue.yml: refreshescatalogue.mdfrom recipe metadata.
- Workflow examples:
examples/README.md - Modulefiles:
modules/generated from recipe metadata - HPC guidance:
docs/cluster-usage.md - Security and provenance:
docs/security.md - Base image policy:
docs/base-images.md
See CONTRIBUTING.md for recipe conventions, label schema, policy checks, and local validation steps.
scs/ and shub/ are retained to preserve the original repository history and to support staged migration. New recipes should be added under recipes/, and new automation should target recipes/ first.