Skip to content

Adding initial version of CellBender WILDS Docker image#367

Merged
tefirman merged 13 commits into
mainfrom
add-cellbender
Jun 30, 2026
Merged

Adding initial version of CellBender WILDS Docker image#367
tefirman merged 13 commits into
mainfrom
add-cellbender

Conversation

@tefirman

@tefirman tefirman commented Jun 24, 2026

Copy link
Copy Markdown
Member

Type of Change

  • New Docker image

Description

Adds a Docker image for CellBender v0.3.2, a tool for removing ambient RNA and barcode swapping artifacts from droplet-based scRNA-seq and snRNA-seq count matrices using a deep generative model (published in Nature Methods 2023).

  • Base image: python:3.11-slim
  • Installation method: pip (from GitHub main branch, see note below)
  • Key dependencies: PyTorch (CUDA-enabled for optional GPU acceleration), PyTables/HDF5 for .h5 file I/O
  • Compatible with both linux/amd64 and linux/arm64

Note on version pinning exception: CellBender is installed directly from the upstream main branch rather than a pinned PyPI release. The v0.3.2 PyPI release has a torch.save checkpoint serialization bug (broadinstitute/CellBender#444) that causes runs to fail in practice. The fix is merged on main but not yet in a release. This image will be updated to pin a specific version once v0.3.3 is published.

Testing

How did you test these changes?

Ran make lint IMAGE=cellbender with hadolint v2.12.0 and validated end-to-end by running a WDL workflow against the built image.

Did the tests pass?

Yes — lint passed clean and the WDL workflow completed successfully.

Checklist

  • Dockerfile follows naming convention (Dockerfile_X.Y.Z or Dockerfile_latest)
  • All required OCI metadata labels are present and accurate
  • README.md is included/updated in the tool directory
  • Tested locally with make validate IMAGE=toolname (or manually built and verified)
  • Image builds successfully for target platform(s)

Additional Context

PyTorch is installed with CUDA support (the default pip wheel) so users can take advantage of GPU acceleration via --cuda on GPU-enabled machines. CellBender falls back to CPU automatically when no GPU is detected.

@tefirman tefirman marked this pull request as ready for review June 24, 2026 03:58
@tefirman tefirman requested a review from emjbishop June 25, 2026 19:14
@tefirman tefirman merged commit 8061ce7 into main Jun 30, 2026
1 check passed
@tefirman tefirman deleted the add-cellbender branch June 30, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants