Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## dev - xxxx-xx-xx

### Enhancements & fixes

- Refactor nf-tests by @Aratz [#161](https://github.com/nf-core/pixelator/pull/161)

## [[2.2.0](https://github.com/nf-core/pixelator/releases/tag/2.2.0)] - 2025-11-02

This new minor version of nf-core/pixelator introduces new panel files with clearer names. These new
Expand Down
5 changes: 3 additions & 2 deletions modules/local/experiment_summary/main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,14 @@ process EXPERIMENT_SUMMARY {
path("versions.yml") , emit: versions

script:

def args = task.ext.args ?: ''
"""
# Copy the full quarto dir from the read-only image into the workdir
cp -r /workspace/inst/quarto/ ./quarto/
quarto render ./quarto/pixelatorES.qmd \\
-P sample_sheet="\$PWD/${samplesheet_path}" \\
-P data_folder="\$PWD/results/"
-P data_folder="\$PWD/results/" \\
$args \\

mv ./quarto/pixelatorES.html experiment-summary.html

Expand Down
81 changes: 1 addition & 80 deletions modules/local/experiment_summary/tests/main.nf.test
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ nextflow_process {
when {
process {
"""
input[0] = [ file(params.pipelines_testdata_base_path + 'samplesheet/pna/samplesheet_pna_es.csv', checkIfExists: true) ]
input[0] = [ file(params.pipelines_testdata_base_path + 'samplesheet/pna/samplesheet_pna.csv', checkIfExists: true) ]
input[1] = [
[id:'all', design:'pna-2', panel:'proxiome-immuno-155', technology:'pna' ],
// amplicon
Expand Down Expand Up @@ -84,83 +84,4 @@ nextflow_process {
)
}
}



test("PNA experiment summary - stub") {
when {
process {
"""
input[0] = [ file(params.pipelines_testdata_base_path + 'samplesheet/pna/samplesheet_pna_es.csv', checkIfExists: true) ]
input[1] = [
[id:'all', design:'pna-2', panel:'proxiome-immuno-155', technology:'pna' ],
// amplicon
[
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/amplicon/PNA055_Sample07_filtered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/amplicon/PNA055_Sample07_filtered_S7.report.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/amplicon/PNA055_Sample07_unfiltered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/amplicon/PNA055_Sample07_unfiltered_S7.report.json', checkIfExists: true),
],
// demux
[
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/demux/PNA055_Sample07_filtered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/demux/PNA055_Sample07_filtered_S7.report.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/demux/PNA055_Sample07_unfiltered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/demux/PNA055_Sample07_unfiltered_S7.report.json', checkIfExists: true),
],
// (combined collapse)
[
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/collapse/PNA055_Sample07_filtered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/collapse/PNA055_Sample07_filtered_S7.report.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/collapse/PNA055_Sample07_unfiltered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/collapse/PNA055_Sample07_unfiltered_S7.report.json', checkIfExists: true),
],
// graph
[
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/graph/PNA055_Sample07_filtered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/graph/PNA055_Sample07_filtered_S7.report.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/graph/PNA055_Sample07_unfiltered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/graph/PNA055_Sample07_unfiltered_S7.report.json', checkIfExists: true),
],
// denoise
[
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/denoise/PNA055_Sample07_filtered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/denoise/PNA055_Sample07_filtered_S7.report.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/denoise/PNA055_Sample07_unfiltered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/denoise/PNA055_Sample07_unfiltered_S7.report.json', checkIfExists: true),
],
// analysis
[
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/analysis/PNA055_Sample07_filtered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/analysis/PNA055_Sample07_filtered_S7.report.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/analysis/PNA055_Sample07_unfiltered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/analysis/PNA055_Sample07_unfiltered_S7.report.json', checkIfExists: true),
],
// layout
[
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/layout/PNA055_Sample07_filtered_S7.layout.pxl', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/layout/PNA055_Sample07_filtered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/layout/PNA055_Sample07_filtered_S7.report.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/layout/PNA055_Sample07_unfiltered_S7.layout.pxl', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/layout/PNA055_Sample07_unfiltered_S7.meta.json', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/pna/modules/layout/PNA055_Sample07_unfiltered_S7.report.json', checkIfExists: true),
]
]
"""
}
}

then {
assertAll(
{ assert process.success },
{
with(process.out.html) {
assert path(get(0).get(1)).endsWith("experiment-summary.html")
assert path(get(0).get(1)).exists()
}
},
{ assert snapshot(process.out.versions).match("stub-versions") },
)
}
}
}
12 changes: 0 additions & 12 deletions modules/local/experiment_summary/tests/main.nf.test.snap
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,5 @@
"nextflow": "25.04.6"
},
"timestamp": "2025-08-27T07:10:33.460197901"
},
"stub-versions": {
"content": [
[
"versions.yml:md5,1c35ddcd59548b42fc730937c4263809"
]
],
"meta": {
"nf-test": "0.9.2",
"nextflow": "25.04.6"
},
"timestamp": "2025-08-27T07:13:26.253720282"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,6 @@ nextflow_process {
tag "pixelator/single_cell_mpx_amplicon"


test("Test MPX amplicon - stub") {

options "-stub"

when {
params {
save_all = true
}
process {
"""
input[0] = [
[ id:'sample01_1k_pbmcs_scsp_v1_immunology1', design:'D21', panel:'human-sc-immunology-spatial-proteomics-1', technology:'mpx' ],
[
file(params.pipelines_testdata_base_path + 'testdata/mpx/fastq/v1/sample01_1k_pbmcs_scsp_v1_immunology1_R1.fastq.gz', checkIfExists: true),
file(params.pipelines_testdata_base_path + 'testdata/mpx/fastq/v1/sample01_1k_pbmcs_scsp_v1_immunology1_R2.fastq.gz', checkIfExists: true)
]
]
"""
}
}

then {
assertAll(
{ assert process.success },
{ assert snapshot(process.out).match() },

)
}
}

test("Test MPX amplicon - SCSP v1 | Immunology-I") {
when {
params {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,110 +40,5 @@
"nextflow": "25.04.2"
},
"timestamp": "2025-07-28T11:06:59.496585652"
},
"Test MPX amplicon - stub": {
"content": [
{
"0": [
[
{
"id": "sample01_1k_pbmcs_scsp_v1_immunology1",
"design": "D21",
"panel": "human-sc-immunology-spatial-proteomics-1",
"technology": "mpx"
},
"sample01_1k_pbmcs_scsp_v1_immunology1.merged.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
]
],
"1": [
[
{
"id": "sample01_1k_pbmcs_scsp_v1_immunology1",
"design": "D21",
"panel": "human-sc-immunology-spatial-proteomics-1",
"technology": "mpx"
},
"sample01_1k_pbmcs_scsp_v1_immunology1.report.json:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
"2": [
[
{
"id": "sample01_1k_pbmcs_scsp_v1_immunology1",
"design": "D21",
"panel": "human-sc-immunology-spatial-proteomics-1",
"technology": "mpx"
},
"sample01_1k_pbmcs_scsp_v1_immunology1.meta.json:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
"3": [
[
{
"id": "sample01_1k_pbmcs_scsp_v1_immunology1",
"design": "D21",
"panel": "human-sc-immunology-spatial-proteomics-1",
"technology": "mpx"
},
"sample01_1k_pbmcs_scsp_v1_immunology1.pixelator-amplicon.log:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
"4": [
"versions.yml:md5,60a7a0bbc070d248db9f89ab0972c46e"
],
"log": [
[
{
"id": "sample01_1k_pbmcs_scsp_v1_immunology1",
"design": "D21",
"panel": "human-sc-immunology-spatial-proteomics-1",
"technology": "mpx"
},
"sample01_1k_pbmcs_scsp_v1_immunology1.pixelator-amplicon.log:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
"merged": [
[
{
"id": "sample01_1k_pbmcs_scsp_v1_immunology1",
"design": "D21",
"panel": "human-sc-immunology-spatial-proteomics-1",
"technology": "mpx"
},
"sample01_1k_pbmcs_scsp_v1_immunology1.merged.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
]
],
"metadata": [
[
{
"id": "sample01_1k_pbmcs_scsp_v1_immunology1",
"design": "D21",
"panel": "human-sc-immunology-spatial-proteomics-1",
"technology": "mpx"
},
"sample01_1k_pbmcs_scsp_v1_immunology1.meta.json:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
"report_json": [
[
{
"id": "sample01_1k_pbmcs_scsp_v1_immunology1",
"design": "D21",
"panel": "human-sc-immunology-spatial-proteomics-1",
"technology": "mpx"
},
"sample01_1k_pbmcs_scsp_v1_immunology1.report.json:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
"versions": [
"versions.yml:md5,60a7a0bbc070d248db9f89ab0972c46e"
]
}
],
"meta": {
"nf-test": "0.9.3",
"nextflow": "25.10.0"
},
"timestamp": "2025-10-31T13:29:04.145467489"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,6 @@ nextflow_process {
tag "pixelator/single_cell_mpx_analysis"


test("Test MPX analysis - stub") {

options "-stub"

when {
process {
"""
input[0] = [
[ id:'sample01_1k_pbmcs_scsp_v1_immunology1', design:'D21', panel:'human-sc-immunology-spatial-proteomics-1', technology:'mpx' ],
file(params.pipelines_testdata_base_path + 'testdata/mpx/modules/annotate/sample01_1k_pbmcs_scsp_v1_immunology1.annotate.dataset.pxl', checkIfExists: true)
]
"""
}
}

then {
assertAll(
{ assert process.success },
{ assert snapshot(process.out).match() }
)
}
}

test("Test MPX analysis - SCSP v1 | Immunology-I") {
when {
params {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,6 @@ nextflow_process {
tag "pixelator/single_cell_mpx_annotate"


test("Test MPX annotate - stub") {

options "-stub"

when {
process {
"""
input[0] = [
[ id:'sample01_1k_pbmcs_scsp_v1_immunology1', design:'D21', panel:'human-sc-immunology-spatial-proteomics-1', technology:'mpx' ],
file(params.pipelines_testdata_base_path + 'testdata/mpx/modules/graph/sample01_1k_pbmcs_scsp_v1_immunology1.edgelist.parquet', checkIfExists: true),
[],
"human-sc-immunology-spatial-proteomics-1"
]
"""
}
}

then {
assertAll(
{ assert process.success },
{ assert snapshot(process.out).match() },

)
}
}

test("Test MPX annotate - SCSP v1 | Immunology-I") {
options "--save_all"

Expand Down
Loading