A bioinformatics tool finder and module builder for CVMFS-hosted containers on BioShell
Shelley helps researchers using BioShell virtual machine images on Nectar research cloud platforms discover, query, and deploy bioinformatics software from CVMFS (CernVM File System) repositories. It provides both interactive and programmatic interfaces for finding tools, building Lmod modules, and managing containerised workflows.
- Tool Discovery: Find bioinformatics tools by name or search by description
- Container Management: Query available container versions from CVMFS
- Module Building: Automatically generate Lmod modules for tools, individually or in batch
- Interactive CLI: Guided REPL for exploring and installing tools
shelley ships with BioShell.
To install or update shelley manually:
| Goal | Guide |
|---|---|
| Install/update on a workstation, VM, or BioShell image | docs/how-to/install.md |
| Developer environment | docs/how-to/developer-setup.md |
# Find a specific tool
shelley find fastqc
# Search by function (in development)
shelley search "quality control"
# List available versions
shelley versions samtools
# Build an Lmod module
shelley build samtools
# Build a specific version
shelley build samtools/1.21
# Interactive mode
shelley interactive| Type | File | What it covers |
|---|---|---|
| Tutorial | docs/tutorials/getting-started.md | First-time walkthrough |
| How-to | docs/how-to/install.md | Install/update on a VM or BioShell image |
| How-to | docs/how-to/find-and-search.md | find, search, versions |
| How-to | docs/how-to/build-modules.md | build and batch operations |
| How-to | docs/how-to/maintain-corpus.md | Update data artifacts |
| How-to | docs/how-to/developer-setup.md | Dev environment and tests |
| Reference | docs/reference/cli.md | All CLI commands |
| Reference | docs/reference/data-sources.md | Data artifacts and schemas |
| Explanation | docs/explanation/install-design.md | Why shelley installs with uv |
| Explanation | docs/explanation/search-design.md | Why the search is designed this way |
| Explanation | docs/explanation/build-design.md | Why the build is designed this way |
Shelley is organised as a modular Python package:
shelley/
βββ client/ # CLI entry point (thin routing)
βββ commands/ # One module per user-facing command
βββ builder/ # CVMFS module building functionality
βββ script/ # Run-once to generate cached data
βββ search/ # Tool metadata search sources
βββ utils/ # Shared utilities, cache, rendering, style
- Python 3.10+
- Access to CVMFS repositories (typically
/cvmfs/singularity.galaxyproject.org/) - Lmod (for module management)
- Singularity/Apptainer (for container execution)
Copyright (C) 2026 Frederick Jaya, Mitchell O'Brien, Georgie Samaha.
shelley is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See LICENSE for the full text.
This project was completed as part of the BioCLI project, supported by the Australian BioCommons through funding from Bioplatforms Australia and the Australian Government's National Collaborative Research Infrastructure Strategy (NCRIS).
We thank Vanessa Sochat for Singularity Registry HPC (shpc) and for guidance on container-guts, on which shelley builds.