Skip to content

docker refactor - #39

Merged
ch99l merged 2 commits into
visium-hd-cleanfrom
visium-hd-clean-docker
Jul 30, 2026
Merged

docker refactor#39
ch99l merged 2 commits into
visium-hd-cleanfrom
visium-hd-clean-docker

Conversation

@ch99l

@ch99l ch99l commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the pipeline’s containerization and Seurat clustering inputs by (1) splitting the prior generic R container into dedicated bambu and seurat containers and (2) updating clustering to consume gene_counts/ plus a serialized col_data*.rds metadata frame instead of reading SummarizedExperiment objects.

Changes:

  • Split process labeling and container selection into bambu vs seurat, add new containers/seurat image, and update GitHub Actions to build/publish multiple containers independently.
  • Refactor Seurat clustering modules/workflows to build Seurat objects from bambu count directories (ReadMtx) plus exported col_data metadata.
  • Update standard + Visium HD wiring to propagate gene_counts and col_data through main.nf and subworkflows.

Reviewed changes

Copilot reviewed 18 out of 19 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
subworkflows/clustering_standard.nf Updates clustering subworkflow inputs to use gene_counts + col_data tuples for single vs multi branching.
modules/seurat/visium_hd/clustering.nf Switches Visium HD clustering input tuple to (gene_counts, col_data, spot_mappings) and builds Seurat object via helper.
modules/seurat/standard/single_sample_clustering.nf Updates single-sample clustering to create Seurat object from counts dir + col_data.
modules/seurat/standard/multi_sample_clustering.nf Updates multi-sample clustering to create Seurat object from counts dir + col_data and harmonize by sampleName.
modules/bambu/visium_hd/transcript_discovery.nf Changes process label from r to bambu (container split).
modules/bambu/visium_hd/spot_level_quantification.nf Changes process label from r to bambu (container split).
modules/bambu/visium_hd/aggregate_bins.nf Emits col_data_${resolution}.rds instead of se_gene_counts; label updated to bambu.
modules/bambu/standard/transcript_discovery.nf Emits gene_counts dir and col_data.rds; label updated to bambu.
modules/bambu/standard/single_cell_quantification.nf Changes process label from r to bambu (container split).
modules/bambu/shared/prepare_annotation.nf Changes process label from r to bambu (container split).
modules/bambu/shared/construct_read_class.nf Changes process label from r to bambu (container split).
modules/bambu/shared/cluster_level_quantification.nf Changes process label from r to bambu (container split).
main.nf Rewires STANDARD and VISIUM_HD clustering inputs to pass gene_counts + col_data.
containers/seurat/Dockerfile Introduces a dedicated Seurat container image build.
containers/bambu/Dockerfile Removes Seurat/Harmony-related installs from bambu image (now handled by seurat image).
conf/containers.config Maps new bambu and seurat labels to dedicated images.
conf/base.config Updates the retry-on-exit-1 strategy to target the new labels.
bin/create_seurat_object.R Adds helper to create Seurat object directly from bambu count directories.
.github/workflows/build_container.yml Extends container build workflow to discover/build/publish multiple label-scoped container images.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread conf/base.config
Comment on lines 21 to +22
// R processes exit with code 1 on BiocParallel/OOM failures (not signal-based codes)
withLabel: 'r' { errorStrategy = { task.exitStatus in [1, 130, 137, 139, 143] ? 'retry' : 'finish' } }
withLabel: 'bambu|seurat' { errorStrategy = { task.exitStatus in [1, 130, 137, 139, 143] ? 'retry' : 'finish' } }
#!/usr/bin/env Rscript
library(SummarizedExperiment)
library(Seurat)
source(Sys.which("create_seurat_object.R"))
#!/usr/bin/env Rscript
library(SummarizedExperiment)
library(Seurat)
source(Sys.which("create_seurat_object.R"))
#!/usr/bin/env Rscript
library(Seurat)
library(SummarizedExperiment)
source(Sys.which("create_seurat_object.R"))
@ch99l
ch99l merged commit eae76cc into visium-hd-clean Jul 30, 2026
4 checks passed
@ch99l
ch99l deleted the visium-hd-clean-docker branch July 30, 2026 13:01
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