You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- GPU: wire --num-gpus into image_qc.py + set CUDA_VISIBLE_DEVICES in the
module so num_gpus actually caps device use; add process_gpu_qc to the aws
profile GPU-queue routing; add schema minimum:0.
- publishDir: stop double-nesting (qc/image_qc/image_qc -> qc/image_qc) for
both QC analysis steps.
- Finish molecule->transcript rename in outputs (metrics JSON keys + figure
filenames) and the report's reads; fix an exposed figure-name collision.
- Wire ch_qc_reports from the QC reports so the MultiQC collection isn't dead.
- Schema: move QC params into a dedicated qc_options group.
- Make ROI tile size configurable via params.image_qc_roi_size.
- Commit the previously-missing pytest unit tests for the transcript QC maths.
- Docs: CHANGELOG entry + usage.md QC-mode section.
Co-authored-by: Malwina Prater <mprater@altoslabs.com>
Co-authored-by: Nell Nie <nnie@altoslabs.com>
Co-authored-by: Christel Krueger <ckrueger@altoslabs.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,14 @@
3
3
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
4
4
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
5
6
+
## dev
7
+
8
+
### `Added`
9
+
10
+
- Image QC and transcript QC subworkflow (`QC`): runs `IMAGE_QC_ANALYSIS` (focus / SNR / morphology metrics) and `TRANSCRIPT_QC_PROCESSING` (per-transcript and per-cell metrics), each rendering a Quarto HTML report via the shared `QUARTO` module. New `image_qc`, `transcript_qc`, and `quarto` local modules with pinned `environment.yml` and Dockerfiles.
11
+
- GPU-optional image QC via `params.num_gpus` (`null` = CPU; `N` = request and cap to N GPUs via the accelerator directive + `CUDA_VISIBLE_DEVICES`).
12
+
- New QC parameters: `num_gpus`, `stain_names`, `neg_control_prefix`, `roi_image_qc_thresholds_yaml`, and the `image_qc_*` analysis flags (with `nextflow_schema.json` entries).
Copy file name to clipboardExpand all lines: docs/usage.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,6 +71,22 @@ nextflow run nf-core/spatialaxe \
71
71
--mode segfree
72
72
```
73
73
74
+
### QC mode
75
+
76
+
`IMAGE_QC ➔ TRANSCRIPT_QC`
77
+
78
+
Runs the quality-control layer only — image QC (focus / SNR / morphology) and transcript QC (per-transcript and per-cell metrics), each producing an HTML report. The QC layer also runs as part of the other modes (`run_qc = true` by default).
79
+
80
+
```bash
81
+
nextflow run nf-core/spatialaxe \
82
+
-profile <docker/singularity/.../institute> \
83
+
--input samplesheet.csv \
84
+
--outdir <OUTDIR> \
85
+
--mode qc
86
+
```
87
+
88
+
Image QC is GPU-optional: leave `--num_gpus` unset for CPU, or set `--num_gpus N` to request and use N GPUs (requires a GPU-enabled profile/queue).
Copy file name to clipboardExpand all lines: nextflow.config
+11Lines changed: 11 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -118,6 +118,7 @@ params {
118
118
stain_names =null// semicolon-separated stain/channel names for the morphology image (null = image QC defaults)
119
119
neg_control_prefix ='NegControl'// prefix for Xenium negative controls (matches both NegControlProbe_* and NegControlCodeword_*); passed to transcript QC as --non-gene-prefix
120
120
roi_image_qc_thresholds_yaml =null// path to ROI threshold config for image QC (null = bundled conf/roi_image_qc_thresholds.yaml)
121
+
image_qc_roi_size =35// image QC: ROI tile size in pixels for the grid focus/SNR analysis
121
122
legacy_focus =false// image QC: use the CPU for-loop focus score instead of GPU convolution
0 commit comments