docker refactor - #39
Merged
Merged
Conversation
There was a problem hiding this comment.
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
bambuvsseurat, add newcontainers/seuratimage, 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 exportedcol_datametadata. - Update standard + Visium HD wiring to propagate
gene_countsandcol_datathroughmain.nfand 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 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")) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.