Skip to content

[BIG] Adding spoQC to spatialaxe and many other changes - #206

Merged
heylf merged 76 commits into
nf-core:devfrom
heylf:spoqc
Aug 18, 2026
Merged

[BIG] Adding spoQC to spatialaxe and many other changes#206
heylf merged 76 commits into
nf-core:devfrom
heylf:spoqc

Conversation

@heylf

@heylf heylf commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

1. Adding spoQC

  • Added the entire spoQC quality-control subworkflow: subworkflows/local/spoqc/main.nf plus 31 new local modules under modules/local/spoQC/ (ambient, analysis_category, analysis_cluster, analysis_overview, annotation, bubble, cell, cellcycle, combine_masks, doublet, finalreport, general, hqcr_celltype, hqcr_ident, hqpr_bounding_box, hqpr_celltype, hqpr_clustering, hqpr_metrices, hqpr_refinement, hqtr_ac, hqtr_bounding_box, hqtr_celltype, hqtr_clustering, hqtr_metrices, hqtr_qv, hqtr_refinement, marker, model, transcript, void, whole_slide), each with its own main.nf, meta.yml, and nf-test suite (tests/main.nf.test + snapshot).
  • Wired spoQC into workflows/spatialaxe.nf.
  • Added bin/spatialdata_write.py support for spoQC's SpatialData output.
  • New test configs: conf/tests/test_spoqc.config, conf/tests/test_full_spoqc.config

Comment

Note

The tool will be released soon. It comes with proper documentation and spatialaxe will reference this documentation.

2. spatialaxe resource-label rework

  • conf/base.config: single process_high/process_low-style labels with a combinatorial label system; process_{tiny,low,mid,high,xl}_cpus, _mem, and _time labels, each scaling with task.attempt.

3. nf-schema plugin upgrade (2.5.1 → 2.7.2)

  • nextflow.config: bumped the plugin version.
  • subworkflows/nf-core/utils_nfschema_plugin/main.nf: added a cli_typecast input, renamed parametersSchemaparameters_schema across option maps, fixed --help text resolution.
  • subworkflows/nf-core/utils_nextflow_pipeline/main.nf: rewrote dumpParametersToJSON to use groovy.json.JsonGenerator with converters for Path/Duration/MemoryUnit/VersionNumber, replacing the old JsonOutput/FilesEx approach.
  • subworkflows/local/utils_nfcore_spatialaxe_pipeline/main.nf: passes the new cli_typecast argument through.
  • nextflow_schema.json: cleanup — removed redundant "default": false entries, added "default": true for cell_segmentation_only, added numeric defaults for max_x/max_y, normalized float defaults, unicode-escaped µm.
  • modules.json / ro-crate-metadata.json: regenerated to match.

4. Bigger test-data support

  • Added nf-core/unzip module usage so the pipeline can unpack the larger test dataset.
  • Added assets/samplesheet_full.csv, conf/test_full.config

5. Samplesheet redefintion

  • sample,bundle,image,annotation,stainings: samplesheet allows for two additional optional columns annotation,stainings that are useful for the QC subworkflow.

6. Rework of subworkflow and pipeline for proper qc mode

  • spatialdata_write_meta_merge/main.nf: Change to subworkflow to account for proper qc mode.
  • Change to bin/spatialdata_write.py: Adding an all mode to set all available features to True, which is important for QC.
  • Added bin/spatialdata_write.py support for spoQC's SpatialData output.

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • Make sure your code lints (nf-core pipelines lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

heylf and others added 30 commits July 23, 2026 15:51
dev to spoqc branch to avoid merge conflic
@heylf

heylf commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator Author

Finally 😅 all tests pass @kubranarci could you please check again

@kubranarci kubranarci left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM!

Comment thread modules/local/spoQC/analysis_category/tests/main.nf.test
Comment thread modules/local/spoQC/analysis_cluster/tests/main.nf.test
Comment thread tests/segfree_mode.nf.test.snap
@heylf
heylf merged commit b05a853 into nf-core:dev Aug 18, 2026
33 checks passed
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