From 94b78126c4405de68b7891b2285f616825c588f5 Mon Sep 17 00:00:00 2001 From: annaasklof Date: Tue, 31 Mar 2026 13:50:53 +0200 Subject: [PATCH 01/18] add dds/createproject --- .../nf-core/dds/createproject/environment.yml | 12 ++++ modules/nf-core/dds/createproject/main.nf | 38 ++++++++++++ modules/nf-core/dds/createproject/meta.yml | 36 +++++++++++ .../dds/createproject/tests/main.nf.test | 59 +++++++++++++++++++ .../dds/createproject/tests/main.nf.test.snap | 25 ++++++++ 5 files changed, 170 insertions(+) create mode 100644 modules/nf-core/dds/createproject/environment.yml create mode 100644 modules/nf-core/dds/createproject/main.nf create mode 100644 modules/nf-core/dds/createproject/meta.yml create mode 100644 modules/nf-core/dds/createproject/tests/main.nf.test create mode 100644 modules/nf-core/dds/createproject/tests/main.nf.test.snap diff --git a/modules/nf-core/dds/createproject/environment.yml b/modules/nf-core/dds/createproject/environment.yml new file mode 100644 index 000000000000..e9156c445ef4 --- /dev/null +++ b/modules/nf-core/dds/createproject/environment.yml @@ -0,0 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda + +dependencies: + - dependencies: + - conda-forge::pip=25.3 + - conda-forge::python=3.12.13 + - pip: + - dds-cli==2.14.0 diff --git a/modules/nf-core/dds/createproject/main.nf b/modules/nf-core/dds/createproject/main.nf new file mode 100644 index 000000000000..13beac2b63d1 --- /dev/null +++ b/modules/nf-core/dds/createproject/main.nf @@ -0,0 +1,38 @@ +process DDS_CREATEPROJECT { + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/97/971f09f84bdc0d023c1ac45905d21bfe4f1a36e4c822edf75325e55b68639a05/data': + 'community.wave.seqera.io/library/python_pip_dds-cli:c4d21ad6e2eb6702' }" + + input: + val title + val description + val pi + + output: + path 'output.log', emit: log + path "versions.yml", emit: versions + + script: + """ + printf '%s' $DDS_CLI_TOKEN > .dds_cli_token + chmod 600 .dds_cli_token + DDS_CLI_ENV="dev-instance" dds --token-path .dds_cli_token project create --title "$title" --description "$description" --principal-investigator "$pi" > output.log + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + dds: \$(dds --version) + END_VERSIONS + """ + + stub: + """ + touch output.log + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + dds: \$(dds --version) + END_VERSIONS + """ +} diff --git a/modules/nf-core/dds/createproject/meta.yml b/modules/nf-core/dds/createproject/meta.yml new file mode 100644 index 000000000000..26ac85e6d69b --- /dev/null +++ b/modules/nf-core/dds/createproject/meta.yml @@ -0,0 +1,36 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "dds_createproject" +description: This moduel is used to create a project on the SciLifeLab Data Delivery System (DDS). +keywords: + - DDS +tools: + - "dds": + description: "The Data Delivery System (DDS) is a cloud-based system for the delivery of data from SciLifeLab platforms to their users. " + homepage: "https://delivery.scilifelab.se" + documentation: "https://scilifelabdatacentre.github.io/dds_cli/" + tool_dev_url: "https://github.com/ScilifelabDataCentre/dds_cli" + licence: ["MIT"] + +input: + - title: + type: val + description: The title of the project. + + - description: + type: val + description: A description of the project. + + - pi: + type: val + description: Email of the Principal Investigator. + +output: + - 'output.log': + type: file + description: For a successful run, this file contains the projectID of the project created. + +authors: + - "@annaasklof" +maintainers: + - "@annaasklof" diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test b/modules/nf-core/dds/createproject/tests/main.nf.test new file mode 100644 index 000000000000..eae47d0712b1 --- /dev/null +++ b/modules/nf-core/dds/createproject/tests/main.nf.test @@ -0,0 +1,59 @@ +// TODO nf-core: Once you have added the required tests, please run the following command to build this file: +// nf-core modules test dds/createproject +nextflow_process { + + name "Test Process DDS_CREATEPROJECT" + script "../main.nf" + process "DDS_CREATEPROJECT" + + tag "modules" + tag "modules_nfcore" + tag "dds" + tag "dds/createproject" + + test("dds/createproject") { + + when { + process { + """ + input[0] = "Test title" + input[1] = "Test description" + input[2] = "test-pi@mail.com" + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot ( + process.out.log.get(0).readLines().first().contains("Project created with id:") + ) + } + ) + } + } + + test("dds/createproject - stub") { + + options "-stub" + + when { + process { + """ + input[0] = "Test title" + input[1] = "Test description" + input[2] = "test-pi@mail.com" + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() + } + ) + } + } +} \ No newline at end of file diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test.snap b/modules/nf-core/dds/createproject/tests/main.nf.test.snap new file mode 100644 index 000000000000..f2dd0241a105 --- /dev/null +++ b/modules/nf-core/dds/createproject/tests/main.nf.test.snap @@ -0,0 +1,25 @@ +{ + "dds/createproject - stub": { + "content": [ + { + "0": [ + "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + "1": [ + "versions.yml:md5,e252f286fa38e80bb6ac674d138c5c9e" + ], + "log": [ + "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + "versions": [ + "versions.yml:md5,e252f286fa38e80bb6ac674d138c5c9e" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-31T11:54:41.916461" + } +} \ No newline at end of file From 7489e4a19227727f9ef8eb18b9c0924ea54898af Mon Sep 17 00:00:00 2001 From: annaasklof Date: Wed, 1 Apr 2026 09:40:17 +0200 Subject: [PATCH 02/18] align with nf-core/tools v 3.5.2 --- modules/nf-core/dds/environment.yml | 10 ++++ modules/nf-core/dds/main.nf | 48 ++++++++++++++++ modules/nf-core/dds/meta.yml | 57 +++++++++++++++++++ modules/nf-core/dds/tests/main.nf.test | 62 +++++++++++++++++++++ modules/nf-core/dds/tests/main.nf.test.snap | 33 +++++++++++ 5 files changed, 210 insertions(+) create mode 100644 modules/nf-core/dds/environment.yml create mode 100644 modules/nf-core/dds/main.nf create mode 100644 modules/nf-core/dds/meta.yml create mode 100644 modules/nf-core/dds/tests/main.nf.test create mode 100644 modules/nf-core/dds/tests/main.nf.test.snap diff --git a/modules/nf-core/dds/environment.yml b/modules/nf-core/dds/environment.yml new file mode 100644 index 000000000000..c4a4b47e7a56 --- /dev/null +++ b/modules/nf-core/dds/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - conda-forge::pip=25.3 + - conda-forge::python=3.12.13 + - pip: + - dds-cli==2.14.0 diff --git a/modules/nf-core/dds/main.nf b/modules/nf-core/dds/main.nf new file mode 100644 index 000000000000..e32f8fe477eb --- /dev/null +++ b/modules/nf-core/dds/main.nf @@ -0,0 +1,48 @@ + +process DDS_CREATEPROJECT { + label 'process_single' + + // TODO nf-core: See section in main README for further information regarding finding and adding container addresses to the section below. + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/97/971f09f84bdc0d023c1ac45905d21bfe4f1a36e4c822edf75325e55b68639a05/data': + 'community.wave.seqera.io/library/python_pip_dds-cli:c4d21ad6e2eb6702' }" + + input: + val title + val description + val pi + + output: + path 'output.log', emit: log + tuple val("${task.process}"), val('dds'), eval("dds --version"), topic: versions, emit: versions_dds + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + + """ + printf '%s' $DDS_CLI_TOKEN > .dds_cli_token + chmod 600 .dds_cli_token + DDS_CLI_ENV="dev-instance" dds --token-path .dds_cli_token project create --title "$title" --description "$description" --principal-investigator "$pi" > output.log + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + dds: \$(dds --version) + END_VERSIONS + """ + + stub: + def args = task.ext.args ?: '' + + """ + touch output.log + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + dds: \$(dds --version) + END_VERSIONS + """ +} diff --git a/modules/nf-core/dds/meta.yml b/modules/nf-core/dds/meta.yml new file mode 100644 index 000000000000..21f5d333570e --- /dev/null +++ b/modules/nf-core/dds/meta.yml @@ -0,0 +1,57 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "dds_createproject" +description: This moduel is used to create a project on the SciLifeLab Data Delivery System (DDS). +keywords: + - DDS +tools: + - "dds": + description: "The Data Delivery System (DDS) is a cloud-based system for the delivery of data from SciLifeLab platforms to their users." + homepage: "https://delivery.scilifelab.se" + documentation: "https://scilifelabdatacentre.github.io/dds_cli/" + tool_dev_url: "https://github.com/ScilifelabDataCentre/dds_cli" + licence: "MIT" + +input: + - title: + type: val + description: The title of the project. + + - description: + type: val + description: A description of the project. + + - pi: + type: val + description: Email of the Principal Investigator. + +output: + 'output.log': + - "*.bam": + type: file + description: For a successful run, this file contains the projectID of the project created. + + versions_dds: + - - ${task.process}: + type: string + description: The name of the process + - dds: + type: string + description: The name of the tool + - dds --version: + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - dds: + type: string + description: The name of the tool + - dds --version: + type: eval + description: The expression to obtain the version of the tool +authors: + - "@annaasklof" +maintainers: + - "@annaasklof" diff --git a/modules/nf-core/dds/tests/main.nf.test b/modules/nf-core/dds/tests/main.nf.test new file mode 100644 index 000000000000..935c53167ff0 --- /dev/null +++ b/modules/nf-core/dds/tests/main.nf.test @@ -0,0 +1,62 @@ +// TODO nf-core: Once you have added the required tests, please run the following command to build this file: +// nf-core modules test dds +nextflow_process { + + name "Test Process DDS_CREATEPROJECT" + script "../main.nf" + process "DDS_CREATEPROJECT" + + tag "modules" + tag "modules_nfcore" + tag "dds" + tag "dds/createproject" + + + test("dds/createproject") { + + when { + process { + """ + input[0] = "Test title" + input[1] = "Test description" + input[2] = "test-pi@mail.com" + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + process.out.log.get(0).readLines().first().contains("Project created with id:") + ) + } + ) + } + + } + + test("dds/createproject - stub") { + + options "-stub" + + when { + process { + """ + input[0] = "Test title" + input[1] = "Test description" + input[2] = "test-pi@mail.com" + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/dds/tests/main.nf.test.snap b/modules/nf-core/dds/tests/main.nf.test.snap new file mode 100644 index 000000000000..7841d208bb58 --- /dev/null +++ b/modules/nf-core/dds/tests/main.nf.test.snap @@ -0,0 +1,33 @@ +{ + "dds/createproject - stub": { + "content": [ + { + "0": [ + "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + "1": [ + [ + "DDS_CREATEPROJECT", + "dds", + "Data Delivery System, version 2.14.0" + ] + ], + "log": [ + "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + "versions_dds": [ + [ + "DDS_CREATEPROJECT", + "dds", + "Data Delivery System, version 2.14.0" + ] + ] + } + ], + "timestamp": "2026-04-01T09:34:41.472875", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } + } +} \ No newline at end of file From 5fd51494fffd2eb6b6cc8493bc886498af02c0ed Mon Sep 17 00:00:00 2001 From: annaasklof Date: Wed, 1 Apr 2026 10:03:00 +0200 Subject: [PATCH 03/18] align with nf-core/tools v 3.5.2 --- .../nf-core/dds/createproject/environment.yml | 4 +- modules/nf-core/dds/createproject/main.nf | 21 +++++--- modules/nf-core/dds/createproject/meta.yml | 51 +++++++++++++------ .../dds/createproject/tests/main.nf.test | 19 ++++--- .../dds/createproject/tests/main.nf.test.snap | 20 +++++--- 5 files changed, 77 insertions(+), 38 deletions(-) diff --git a/modules/nf-core/dds/createproject/environment.yml b/modules/nf-core/dds/createproject/environment.yml index e9156c445ef4..21357d5cbdb8 100644 --- a/modules/nf-core/dds/createproject/environment.yml +++ b/modules/nf-core/dds/createproject/environment.yml @@ -3,10 +3,8 @@ channels: - conda-forge - bioconda - dependencies: - - dependencies: - conda-forge::pip=25.3 - conda-forge::python=3.12.13 - pip: - - dds-cli==2.14.0 + - dds-cli==2.14.0 \ No newline at end of file diff --git a/modules/nf-core/dds/createproject/main.nf b/modules/nf-core/dds/createproject/main.nf index 13beac2b63d1..4cdc2d220b87 100644 --- a/modules/nf-core/dds/createproject/main.nf +++ b/modules/nf-core/dds/createproject/main.nf @@ -1,20 +1,27 @@ process DDS_CREATEPROJECT { + label 'process_single' + // TODO nf-core: See section in main README for further information regarding finding and adding container addresses to the section below. conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/97/971f09f84bdc0d023c1ac45905d21bfe4f1a36e4c822edf75325e55b68639a05/data': 'community.wave.seqera.io/library/python_pip_dds-cli:c4d21ad6e2eb6702' }" input: - val title - val description - val pi + val title + val description + val pi output: - path 'output.log', emit: log - path "versions.yml", emit: versions + path 'output.log', emit: log + tuple val("${task.process}"), val('dds'), eval("dds --version"), topic: versions, emit: versions_dds + + when: + task.ext.when == null || task.ext.when script: + def args = task.ext.args ?: '' + """ printf '%s' $DDS_CLI_TOKEN > .dds_cli_token chmod 600 .dds_cli_token @@ -27,10 +34,12 @@ process DDS_CREATEPROJECT { """ stub: + def args = task.ext.args ?: '' + """ touch output.log - cat <<-END_VERSIONS > versions.yml + cat <<-END_VERSIONS > versions.yml "${task.process}": dds: \$(dds --version) END_VERSIONS diff --git a/modules/nf-core/dds/createproject/meta.yml b/modules/nf-core/dds/createproject/meta.yml index 26ac85e6d69b..21f5d333570e 100644 --- a/modules/nf-core/dds/createproject/meta.yml +++ b/modules/nf-core/dds/createproject/meta.yml @@ -1,4 +1,3 @@ ---- # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "dds_createproject" description: This moduel is used to create a project on the SciLifeLab Data Delivery System (DDS). @@ -6,30 +5,52 @@ keywords: - DDS tools: - "dds": - description: "The Data Delivery System (DDS) is a cloud-based system for the delivery of data from SciLifeLab platforms to their users. " + description: "The Data Delivery System (DDS) is a cloud-based system for the delivery of data from SciLifeLab platforms to their users." homepage: "https://delivery.scilifelab.se" documentation: "https://scilifelabdatacentre.github.io/dds_cli/" tool_dev_url: "https://github.com/ScilifelabDataCentre/dds_cli" - licence: ["MIT"] + licence: "MIT" input: - - title: + - title: type: val description: The title of the project. - - - description: - type: val - description: A description of the project. - - pi: - type: val - description: Email of the Principal Investigator. - + - description: + type: val + description: A description of the project. + + - pi: + type: val + description: Email of the Principal Investigator. + output: - - 'output.log': - type: file - description: For a successful run, this file contains the projectID of the project created. + 'output.log': + - "*.bam": + type: file + description: For a successful run, this file contains the projectID of the project created. + versions_dds: + - - ${task.process}: + type: string + description: The name of the process + - dds: + type: string + description: The name of the tool + - dds --version: + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - dds: + type: string + description: The name of the tool + - dds --version: + type: eval + description: The expression to obtain the version of the tool authors: - "@annaasklof" maintainers: diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test b/modules/nf-core/dds/createproject/tests/main.nf.test index eae47d0712b1..fa999ee4e8e8 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test +++ b/modules/nf-core/dds/createproject/tests/main.nf.test @@ -1,5 +1,5 @@ // TODO nf-core: Once you have added the required tests, please run the following command to build this file: -// nf-core modules test dds/createproject +// nf-core modules test dds nextflow_process { name "Test Process DDS_CREATEPROJECT" @@ -11,6 +11,7 @@ nextflow_process { tag "dds" tag "dds/createproject" + test("dds/createproject") { when { @@ -24,14 +25,15 @@ nextflow_process { } then { - assertAll( - { assert process.success }, - { assert snapshot ( + assert process.success + assertAll( + { assert snapshot( process.out.log.get(0).readLines().first().contains("Project created with id:") - ) + ) } ) } + } test("dds/createproject - stub") { @@ -49,11 +51,12 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out).match() - } + { assert snapshot(process.out).match() } ) } + } + } \ No newline at end of file diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test.snap b/modules/nf-core/dds/createproject/tests/main.nf.test.snap index f2dd0241a105..7997972f2fd0 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test.snap +++ b/modules/nf-core/dds/createproject/tests/main.nf.test.snap @@ -6,20 +6,28 @@ "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" ], "1": [ - "versions.yml:md5,e252f286fa38e80bb6ac674d138c5c9e" + [ + "DDS_CREATEPROJECT", + "dds", + "Data Delivery System, version 2.14.0" + ] ], "log": [ "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" ], - "versions": [ - "versions.yml:md5,e252f286fa38e80bb6ac674d138c5c9e" + "versions_dds": [ + [ + "DDS_CREATEPROJECT", + "dds", + "Data Delivery System, version 2.14.0" + ] ] } ], + "timestamp": "2026-04-01T09:57:15.846767", "meta": { - "nf-test": "0.9.2", + "nf-test": "0.9.5", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-31T11:54:41.916461" + } } } \ No newline at end of file From 4dd396409fb54644371db71adcc7b87a0d247675 Mon Sep 17 00:00:00 2001 From: annaasklof Date: Wed, 1 Apr 2026 10:07:31 +0200 Subject: [PATCH 04/18] remove previous files --- modules/nf-core/dds/environment.yml | 10 ---- modules/nf-core/dds/main.nf | 48 ---------------- modules/nf-core/dds/meta.yml | 57 ------------------- modules/nf-core/dds/tests/main.nf.test | 62 --------------------- modules/nf-core/dds/tests/main.nf.test.snap | 33 ----------- 5 files changed, 210 deletions(-) delete mode 100644 modules/nf-core/dds/environment.yml delete mode 100644 modules/nf-core/dds/main.nf delete mode 100644 modules/nf-core/dds/meta.yml delete mode 100644 modules/nf-core/dds/tests/main.nf.test delete mode 100644 modules/nf-core/dds/tests/main.nf.test.snap diff --git a/modules/nf-core/dds/environment.yml b/modules/nf-core/dds/environment.yml deleted file mode 100644 index c4a4b47e7a56..000000000000 --- a/modules/nf-core/dds/environment.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json -channels: - - conda-forge - - bioconda -dependencies: - - conda-forge::pip=25.3 - - conda-forge::python=3.12.13 - - pip: - - dds-cli==2.14.0 diff --git a/modules/nf-core/dds/main.nf b/modules/nf-core/dds/main.nf deleted file mode 100644 index e32f8fe477eb..000000000000 --- a/modules/nf-core/dds/main.nf +++ /dev/null @@ -1,48 +0,0 @@ - -process DDS_CREATEPROJECT { - label 'process_single' - - // TODO nf-core: See section in main README for further information regarding finding and adding container addresses to the section below. - conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/97/971f09f84bdc0d023c1ac45905d21bfe4f1a36e4c822edf75325e55b68639a05/data': - 'community.wave.seqera.io/library/python_pip_dds-cli:c4d21ad6e2eb6702' }" - - input: - val title - val description - val pi - - output: - path 'output.log', emit: log - tuple val("${task.process}"), val('dds'), eval("dds --version"), topic: versions, emit: versions_dds - - when: - task.ext.when == null || task.ext.when - - script: - def args = task.ext.args ?: '' - - """ - printf '%s' $DDS_CLI_TOKEN > .dds_cli_token - chmod 600 .dds_cli_token - DDS_CLI_ENV="dev-instance" dds --token-path .dds_cli_token project create --title "$title" --description "$description" --principal-investigator "$pi" > output.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dds: \$(dds --version) - END_VERSIONS - """ - - stub: - def args = task.ext.args ?: '' - - """ - touch output.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dds: \$(dds --version) - END_VERSIONS - """ -} diff --git a/modules/nf-core/dds/meta.yml b/modules/nf-core/dds/meta.yml deleted file mode 100644 index 21f5d333570e..000000000000 --- a/modules/nf-core/dds/meta.yml +++ /dev/null @@ -1,57 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json -name: "dds_createproject" -description: This moduel is used to create a project on the SciLifeLab Data Delivery System (DDS). -keywords: - - DDS -tools: - - "dds": - description: "The Data Delivery System (DDS) is a cloud-based system for the delivery of data from SciLifeLab platforms to their users." - homepage: "https://delivery.scilifelab.se" - documentation: "https://scilifelabdatacentre.github.io/dds_cli/" - tool_dev_url: "https://github.com/ScilifelabDataCentre/dds_cli" - licence: "MIT" - -input: - - title: - type: val - description: The title of the project. - - - description: - type: val - description: A description of the project. - - - pi: - type: val - description: Email of the Principal Investigator. - -output: - 'output.log': - - "*.bam": - type: file - description: For a successful run, this file contains the projectID of the project created. - - versions_dds: - - - ${task.process}: - type: string - description: The name of the process - - dds: - type: string - description: The name of the tool - - dds --version: - type: eval - description: The expression to obtain the version of the tool -topics: - versions: - - - ${task.process}: - type: string - description: The name of the process - - dds: - type: string - description: The name of the tool - - dds --version: - type: eval - description: The expression to obtain the version of the tool -authors: - - "@annaasklof" -maintainers: - - "@annaasklof" diff --git a/modules/nf-core/dds/tests/main.nf.test b/modules/nf-core/dds/tests/main.nf.test deleted file mode 100644 index 935c53167ff0..000000000000 --- a/modules/nf-core/dds/tests/main.nf.test +++ /dev/null @@ -1,62 +0,0 @@ -// TODO nf-core: Once you have added the required tests, please run the following command to build this file: -// nf-core modules test dds -nextflow_process { - - name "Test Process DDS_CREATEPROJECT" - script "../main.nf" - process "DDS_CREATEPROJECT" - - tag "modules" - tag "modules_nfcore" - tag "dds" - tag "dds/createproject" - - - test("dds/createproject") { - - when { - process { - """ - input[0] = "Test title" - input[1] = "Test description" - input[2] = "test-pi@mail.com" - """ - } - } - - then { - assert process.success - assertAll( - { assert snapshot( - process.out.log.get(0).readLines().first().contains("Project created with id:") - ) - } - ) - } - - } - - test("dds/createproject - stub") { - - options "-stub" - - when { - process { - """ - input[0] = "Test title" - input[1] = "Test description" - input[2] = "test-pi@mail.com" - """ - } - } - - then { - assert process.success - assertAll( - { assert snapshot(process.out).match() } - ) - } - - } - -} diff --git a/modules/nf-core/dds/tests/main.nf.test.snap b/modules/nf-core/dds/tests/main.nf.test.snap deleted file mode 100644 index 7841d208bb58..000000000000 --- a/modules/nf-core/dds/tests/main.nf.test.snap +++ /dev/null @@ -1,33 +0,0 @@ -{ - "dds/createproject - stub": { - "content": [ - { - "0": [ - "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "1": [ - [ - "DDS_CREATEPROJECT", - "dds", - "Data Delivery System, version 2.14.0" - ] - ], - "log": [ - "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "versions_dds": [ - [ - "DDS_CREATEPROJECT", - "dds", - "Data Delivery System, version 2.14.0" - ] - ] - } - ], - "timestamp": "2026-04-01T09:34:41.472875", - "meta": { - "nf-test": "0.9.5", - "nextflow": "25.10.4" - } - } -} \ No newline at end of file From 202365c0824e10b0ba1a04042a61f19f92215ee4 Mon Sep 17 00:00:00 2001 From: annaasklof Date: Thu, 2 Apr 2026 10:17:05 +0200 Subject: [PATCH 05/18] remove rest from bam --- modules/nf-core/dds/createproject/meta.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/nf-core/dds/createproject/meta.yml b/modules/nf-core/dds/createproject/meta.yml index 21f5d333570e..54daa9626628 100644 --- a/modules/nf-core/dds/createproject/meta.yml +++ b/modules/nf-core/dds/createproject/meta.yml @@ -25,8 +25,7 @@ input: description: Email of the Principal Investigator. output: - 'output.log': - - "*.bam": + - 'output.log': type: file description: For a successful run, this file contains the projectID of the project created. From 0391214d02b030c0d32da1c287b6e3adf9471082 Mon Sep 17 00:00:00 2001 From: annaasklof Date: Tue, 31 Mar 2026 13:50:53 +0200 Subject: [PATCH 06/18] add dds/createproject # Conflicts: # modules/nf-core/dds/createproject/environment.yml # modules/nf-core/dds/createproject/main.nf # modules/nf-core/dds/createproject/meta.yml # modules/nf-core/dds/createproject/tests/main.nf.test # modules/nf-core/dds/createproject/tests/main.nf.test.snap --- .../nf-core/dds/createproject/environment.yml | 2 +- modules/nf-core/dds/createproject/main.nf | 4 ++-- modules/nf-core/dds/createproject/meta.yml | 22 +++++++++++-------- .../dds/createproject/tests/main.nf.test | 17 ++++++-------- .../dds/createproject/tests/main.nf.test.snap | 20 +++++------------ 5 files changed, 29 insertions(+), 36 deletions(-) diff --git a/modules/nf-core/dds/createproject/environment.yml b/modules/nf-core/dds/createproject/environment.yml index 21357d5cbdb8..c4a4b47e7a56 100644 --- a/modules/nf-core/dds/createproject/environment.yml +++ b/modules/nf-core/dds/createproject/environment.yml @@ -7,4 +7,4 @@ dependencies: - conda-forge::pip=25.3 - conda-forge::python=3.12.13 - pip: - - dds-cli==2.14.0 \ No newline at end of file + - dds-cli==2.14.0 diff --git a/modules/nf-core/dds/createproject/main.nf b/modules/nf-core/dds/createproject/main.nf index 4cdc2d220b87..7cafbc9f80d4 100644 --- a/modules/nf-core/dds/createproject/main.nf +++ b/modules/nf-core/dds/createproject/main.nf @@ -21,7 +21,7 @@ process DDS_CREATEPROJECT { script: def args = task.ext.args ?: '' - + """ printf '%s' $DDS_CLI_TOKEN > .dds_cli_token chmod 600 .dds_cli_token @@ -35,7 +35,7 @@ process DDS_CREATEPROJECT { stub: def args = task.ext.args ?: '' - + """ touch output.log diff --git a/modules/nf-core/dds/createproject/meta.yml b/modules/nf-core/dds/createproject/meta.yml index 54daa9626628..da1502bb3fc9 100644 --- a/modules/nf-core/dds/createproject/meta.yml +++ b/modules/nf-core/dds/createproject/meta.yml @@ -1,33 +1,37 @@ +--- # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "dds_createproject" -description: This moduel is used to create a project on the SciLifeLab Data Delivery System (DDS). +description: This module is used to create a project on the SciLifeLab Data Delivery System (DDS). keywords: - DDS + - SciLifeLab + - data delivery tools: - "dds": description: "The Data Delivery System (DDS) is a cloud-based system for the delivery of data from SciLifeLab platforms to their users." homepage: "https://delivery.scilifelab.se" documentation: "https://scilifelabdatacentre.github.io/dds_cli/" tool_dev_url: "https://github.com/ScilifelabDataCentre/dds_cli" - licence: "MIT" + licence: ["MIT"] input: - title: - type: val + type: string description: The title of the project. - description: - type: val - description: A description of the project. + type: string + description: A description of the project. - pi: - type: val + type: string description: Email of the Principal Investigator. output: - - 'output.log': - type: file - description: For a successful run, this file contains the projectID of the project created. + log: + - - "output.log": + type: file + description: For a successful run, this file contains the projectID of the project created. versions_dds: - - ${task.process}: diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test b/modules/nf-core/dds/createproject/tests/main.nf.test index fa999ee4e8e8..f92e76ec8b1d 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test +++ b/modules/nf-core/dds/createproject/tests/main.nf.test @@ -1,5 +1,5 @@ // TODO nf-core: Once you have added the required tests, please run the following command to build this file: -// nf-core modules test dds +// nf-core modules test dds/createproject nextflow_process { name "Test Process DDS_CREATEPROJECT" @@ -11,7 +11,6 @@ nextflow_process { tag "dds" tag "dds/createproject" - test("dds/createproject") { when { @@ -25,15 +24,14 @@ nextflow_process { } then { - assert process.success assertAll( - { assert snapshot( + { assert process.success }, + { assert snapshot ( process.out.log.get(0).readLines().first().contains("Project created with id:") - ) + ) } ) } - } test("dds/createproject - stub") { @@ -51,12 +49,11 @@ nextflow_process { } then { - assert process.success assertAll( - { assert snapshot(process.out).match() } + { assert process.success }, + { assert snapshot(process.out).match() + } ) } - } - } \ No newline at end of file diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test.snap b/modules/nf-core/dds/createproject/tests/main.nf.test.snap index 7997972f2fd0..f2dd0241a105 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test.snap +++ b/modules/nf-core/dds/createproject/tests/main.nf.test.snap @@ -6,28 +6,20 @@ "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" ], "1": [ - [ - "DDS_CREATEPROJECT", - "dds", - "Data Delivery System, version 2.14.0" - ] + "versions.yml:md5,e252f286fa38e80bb6ac674d138c5c9e" ], "log": [ "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" ], - "versions_dds": [ - [ - "DDS_CREATEPROJECT", - "dds", - "Data Delivery System, version 2.14.0" - ] + "versions": [ + "versions.yml:md5,e252f286fa38e80bb6ac674d138c5c9e" ] } ], - "timestamp": "2026-04-01T09:57:15.846767", "meta": { - "nf-test": "0.9.5", + "nf-test": "0.9.2", "nextflow": "25.10.4" - } + }, + "timestamp": "2026-03-31T11:54:41.916461" } } \ No newline at end of file From 81aa3aad1203ac69ef13296d6cf58b55d6355363 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Tue, 31 Mar 2026 13:15:33 +0000 Subject: [PATCH 07/18] [automated] Fix linting with Prettier --- modules/nf-core/dds/createproject/tests/main.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test b/modules/nf-core/dds/createproject/tests/main.nf.test index f92e76ec8b1d..28affaad8a1b 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test +++ b/modules/nf-core/dds/createproject/tests/main.nf.test @@ -56,4 +56,4 @@ nextflow_process { ) } } -} \ No newline at end of file +} From cbfd08cf0f39da33f95879d26eaf44361ff6e439 Mon Sep 17 00:00:00 2001 From: mashehu Date: Fri, 10 Apr 2026 15:33:41 +0200 Subject: [PATCH 08/18] fix version output --- modules/nf-core/dds/createproject/main.nf | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/modules/nf-core/dds/createproject/main.nf b/modules/nf-core/dds/createproject/main.nf index 7cafbc9f80d4..daf600aa21c5 100644 --- a/modules/nf-core/dds/createproject/main.nf +++ b/modules/nf-core/dds/createproject/main.nf @@ -1,7 +1,6 @@ process DDS_CREATEPROJECT { label 'process_single' - // TODO nf-core: See section in main README for further information regarding finding and adding container addresses to the section below. conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/97/971f09f84bdc0d023c1ac45905d21bfe4f1a36e4c822edf75325e55b68639a05/data': @@ -14,7 +13,7 @@ process DDS_CREATEPROJECT { output: path 'output.log', emit: log - tuple val("${task.process}"), val('dds'), eval("dds --version"), topic: versions, emit: versions_dds + tuple val("${task.process}"), val('dds'), eval("dds --version | sed 's/.*version //'"), topic: versions, emit: versions_dds when: task.ext.when == null || task.ext.when @@ -26,11 +25,6 @@ process DDS_CREATEPROJECT { printf '%s' $DDS_CLI_TOKEN > .dds_cli_token chmod 600 .dds_cli_token DDS_CLI_ENV="dev-instance" dds --token-path .dds_cli_token project create --title "$title" --description "$description" --principal-investigator "$pi" > output.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dds: \$(dds --version) - END_VERSIONS """ stub: @@ -38,10 +32,5 @@ process DDS_CREATEPROJECT { """ touch output.log - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - dds: \$(dds --version) - END_VERSIONS """ } From 96f06a5a5f9f53c765022f5ab71907c9d3aaf700 Mon Sep 17 00:00:00 2001 From: mashehu Date: Fri, 10 Apr 2026 15:34:05 +0200 Subject: [PATCH 09/18] fix meta.yml content --- modules/nf-core/dds/createproject/meta.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/nf-core/dds/createproject/meta.yml b/modules/nf-core/dds/createproject/meta.yml index da1502bb3fc9..a4ff69d5df9e 100644 --- a/modules/nf-core/dds/createproject/meta.yml +++ b/modules/nf-core/dds/createproject/meta.yml @@ -8,17 +8,18 @@ keywords: - data delivery tools: - "dds": - description: "The Data Delivery System (DDS) is a cloud-based system for the delivery of data from SciLifeLab platforms to their users." + description: "The Data Delivery System (DDS) is a cloud-based system for the delivery + of data from SciLifeLab platforms to their users." homepage: "https://delivery.scilifelab.se" documentation: "https://scilifelabdatacentre.github.io/dds_cli/" tool_dev_url: "https://github.com/ScilifelabDataCentre/dds_cli" - licence: ["MIT"] - + licence: + - "MIT" + identifier: "" input: - title: type: string description: The title of the project. - - description: type: string description: A description of the project. @@ -26,12 +27,11 @@ input: - pi: type: string description: Email of the Principal Investigator. - output: log: - - - "output.log": - type: file - description: For a successful run, this file contains the projectID of the project created. + - output.log: + type: file + description: File containing the projectID of the project created. versions_dds: - - ${task.process}: @@ -43,6 +43,7 @@ output: - dds --version: type: eval description: The expression to obtain the version of the tool + topics: versions: - - ${task.process}: From 11c23d8975a457ac72395e475c9eecac9203d1bd Mon Sep 17 00:00:00 2001 From: mashehu Date: Fri, 10 Apr 2026 16:07:01 +0200 Subject: [PATCH 10/18] move token to inputs (should be a more reliable solution) --- modules/nf-core/dds/createproject/main.nf | 5 ++--- modules/nf-core/dds/createproject/meta.yml | 20 +++++++++++-------- .../dds/createproject/tests/main.nf.test | 4 ++-- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/modules/nf-core/dds/createproject/main.nf b/modules/nf-core/dds/createproject/main.nf index daf600aa21c5..04b3706a387a 100644 --- a/modules/nf-core/dds/createproject/main.nf +++ b/modules/nf-core/dds/createproject/main.nf @@ -10,6 +10,7 @@ process DDS_CREATEPROJECT { val title val description val pi + path token_file output: path 'output.log', emit: log @@ -22,9 +23,7 @@ process DDS_CREATEPROJECT { def args = task.ext.args ?: '' """ - printf '%s' $DDS_CLI_TOKEN > .dds_cli_token - chmod 600 .dds_cli_token - DDS_CLI_ENV="dev-instance" dds --token-path .dds_cli_token project create --title "$title" --description "$description" --principal-investigator "$pi" > output.log + dds --token-path $token_file project create --title "$title" --description "$description" --principal-investigator "$pi" > output.log """ stub: diff --git a/modules/nf-core/dds/createproject/meta.yml b/modules/nf-core/dds/createproject/meta.yml index a4ff69d5df9e..f34ce87d66ce 100644 --- a/modules/nf-core/dds/createproject/meta.yml +++ b/modules/nf-core/dds/createproject/meta.yml @@ -27,12 +27,12 @@ input: - pi: type: string description: Email of the Principal Investigator. + - token_file: + type: file + description: Path to a DDS CLI token file (created via `dds auth`). Must be + readable by the pipeline user. + ontologies: [] output: - log: - - output.log: - type: file - description: File containing the projectID of the project created. - versions_dds: - - ${task.process}: type: string @@ -40,10 +40,14 @@ output: - dds: type: string description: The name of the tool - - dds --version: + - dds --version | sed 's/.*version //': type: eval description: The expression to obtain the version of the tool - + log: + - output.log: + type: file + description: File containing the projectID of the project created. + ontologies: [] topics: versions: - - ${task.process}: @@ -52,7 +56,7 @@ topics: - dds: type: string description: The name of the tool - - dds --version: + - dds --version | sed 's/.*version //': type: eval description: The expression to obtain the version of the tool authors: diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test b/modules/nf-core/dds/createproject/tests/main.nf.test index 28affaad8a1b..82bf2ada405a 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test +++ b/modules/nf-core/dds/createproject/tests/main.nf.test @@ -1,5 +1,3 @@ -// TODO nf-core: Once you have added the required tests, please run the following command to build this file: -// nf-core modules test dds/createproject nextflow_process { name "Test Process DDS_CREATEPROJECT" @@ -19,6 +17,7 @@ nextflow_process { input[0] = "Test title" input[1] = "Test description" input[2] = "test-pi@mail.com" + input[3] = path(System.getenv("DDS_TOKEN_PATH") ?: "NO_TOKEN") """ } } @@ -44,6 +43,7 @@ nextflow_process { input[0] = "Test title" input[1] = "Test description" input[2] = "test-pi@mail.com" + input[3] = path("NO_TOKEN") """ } } From c910bca6383e88523dd97629c05f9211a5d26dd9 Mon Sep 17 00:00:00 2001 From: mashehu Date: Fri, 10 Apr 2026 17:11:13 +0200 Subject: [PATCH 11/18] don't require success for main test --- .../dds/createproject/tests/main.nf.test | 4 ++-- .../dds/createproject/tests/main.nf.test.snap | 18 +++++++++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test b/modules/nf-core/dds/createproject/tests/main.nf.test index 82bf2ada405a..6908ace92e79 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test +++ b/modules/nf-core/dds/createproject/tests/main.nf.test @@ -17,7 +17,7 @@ nextflow_process { input[0] = "Test title" input[1] = "Test description" input[2] = "test-pi@mail.com" - input[3] = path(System.getenv("DDS_TOKEN_PATH") ?: "NO_TOKEN") + input[3] = file(System.getenv("DDS_TOKEN_PATH") ?: params.modules_testdata_base_path + 'generic/txt/hello.txt') """ } } @@ -43,7 +43,7 @@ nextflow_process { input[0] = "Test title" input[1] = "Test description" input[2] = "test-pi@mail.com" - input[3] = path("NO_TOKEN") + input[3] = file(params.modules_testdata_base_path + 'generic/txt/hello.txt') """ } } diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test.snap b/modules/nf-core/dds/createproject/tests/main.nf.test.snap index f2dd0241a105..3dbc90437f82 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test.snap +++ b/modules/nf-core/dds/createproject/tests/main.nf.test.snap @@ -6,20 +6,28 @@ "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" ], "1": [ - "versions.yml:md5,e252f286fa38e80bb6ac674d138c5c9e" + [ + "DDS_CREATEPROJECT", + "dds", + "2.14.0" + ] ], "log": [ "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" ], - "versions": [ - "versions.yml:md5,e252f286fa38e80bb6ac674d138c5c9e" + "versions_dds": [ + [ + "DDS_CREATEPROJECT", + "dds", + "2.14.0" + ] ] } ], "meta": { - "nf-test": "0.9.2", + "nf-test": "0.9.3", "nextflow": "25.10.4" }, - "timestamp": "2026-03-31T11:54:41.916461" + "timestamp": "2026-04-10T16:57:13.178392" } } \ No newline at end of file From 94ba5e52aa8a8eefc931b7774b9a71407dbc88f0 Mon Sep 17 00:00:00 2001 From: mashehu Date: Wed, 10 Jun 2026 12:54:48 +0200 Subject: [PATCH 12/18] update to dds-cli 2.14.3 --- .../nf-core/dds/createproject/environment.yml | 2 +- modules/nf-core/dds/createproject/main.nf | 6 ++--- modules/nf-core/dds/createproject/meta.yml | 27 ++++++++++++++++++- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/modules/nf-core/dds/createproject/environment.yml b/modules/nf-core/dds/createproject/environment.yml index c4a4b47e7a56..03a90bb0a036 100644 --- a/modules/nf-core/dds/createproject/environment.yml +++ b/modules/nf-core/dds/createproject/environment.yml @@ -7,4 +7,4 @@ dependencies: - conda-forge::pip=25.3 - conda-forge::python=3.12.13 - pip: - - dds-cli==2.14.0 + - dds-cli==2.14.3 diff --git a/modules/nf-core/dds/createproject/main.nf b/modules/nf-core/dds/createproject/main.nf index 04b3706a387a..9f3911f4cb1b 100644 --- a/modules/nf-core/dds/createproject/main.nf +++ b/modules/nf-core/dds/createproject/main.nf @@ -2,9 +2,9 @@ process DDS_CREATEPROJECT { label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/97/971f09f84bdc0d023c1ac45905d21bfe4f1a36e4c822edf75325e55b68639a05/data': - 'community.wave.seqera.io/library/python_pip_dds-cli:c4d21ad6e2eb6702' }" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/73/7352a40103ce629fbc72986922a68e8f9cc35630b89ee836a0c03dfd676f2341/data': + 'community.wave.seqera.io/library/pip_python_dds-cli:4a7daeb54b4c7a8c' }" input: val title diff --git a/modules/nf-core/dds/createproject/meta.yml b/modules/nf-core/dds/createproject/meta.yml index f34ce87d66ce..5e0c6b9802b4 100644 --- a/modules/nf-core/dds/createproject/meta.yml +++ b/modules/nf-core/dds/createproject/meta.yml @@ -1,7 +1,8 @@ --- # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "dds_createproject" -description: This module is used to create a project on the SciLifeLab Data Delivery System (DDS). +description: This module is used to create a project on the SciLifeLab Data + Delivery System (DDS). keywords: - DDS - SciLifeLab @@ -63,3 +64,27 @@ authors: - "@annaasklof" maintainers: - "@annaasklof" +containers: + docker: + linux/amd64: + name: community.wave.seqera.io/library/pip_python_dds-cli:4a7daeb54b4c7a8c + build_id: bd-4a7daeb54b4c7a8c_1 + scan_id: sc-175817d0c023f7c1_1 + linux/arm64: + name: community.wave.seqera.io/library/pip_python_dds-cli:ab6efd1ed8af3fea + build_id: bd-ab6efd1ed8af3fea_1 + scan_id: sc-af3babfa6db44fcc_1 + singularity: + linux/amd64: + name: oras://community.wave.seqera.io/library/pip_python_dds-cli:a1d1c0e2a13b5df4 + build_id: bd-a1d1c0e2a13b5df4_1 + https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/73/7352a40103ce629fbc72986922a68e8f9cc35630b89ee836a0c03dfd676f2341/data + linux/arm64: + name: oras://community.wave.seqera.io/library/pip_python_dds-cli:6f4fcdba4a36c4ed + build_id: bd-6f4fcdba4a36c4ed_1 + https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/09/098a7aae2590da026a7b3f0e087492a2c10378a7f3e34f9dc8b80f9281555dd5/data + conda: + linux/amd64: + lock_file: modules/nf-core/dds/createproject/.conda-lock/linux_amd64-bd-4a7daeb54b4c7a8c_1.txt + linux/arm64: + lock_file: modules/nf-core/dds/createproject/.conda-lock/linux_arm64-bd-ab6efd1ed8af3fea_1.txt From 4583220ca637bce474ae1af248d9352b7087300d Mon Sep 17 00:00:00 2001 From: mashehu Date: Wed, 10 Jun 2026 14:32:50 +0200 Subject: [PATCH 13/18] fix token permissions --- modules/nf-core/dds/createproject/main.nf | 5 ++++- .../dds/createproject/tests/main.nf.test.snap | 12 ++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/modules/nf-core/dds/createproject/main.nf b/modules/nf-core/dds/createproject/main.nf index 9f3911f4cb1b..8b18a79a2b2e 100644 --- a/modules/nf-core/dds/createproject/main.nf +++ b/modules/nf-core/dds/createproject/main.nf @@ -23,7 +23,10 @@ process DDS_CREATEPROJECT { def args = task.ext.args ?: '' """ - dds --token-path $token_file project create --title "$title" --description "$description" --principal-investigator "$pi" > output.log + # dds requires 600 permissions on the token file; copy first since Nextflow stages inputs as symlinks + cp $token_file token.conf + chmod 600 token.conf + dds --token-path token.conf project create --title "$title" --description "$description" --principal-investigator "$pi" > output.log """ stub: diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test.snap b/modules/nf-core/dds/createproject/tests/main.nf.test.snap index 3dbc90437f82..0976158f5cda 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test.snap +++ b/modules/nf-core/dds/createproject/tests/main.nf.test.snap @@ -9,7 +9,7 @@ [ "DDS_CREATEPROJECT", "dds", - "2.14.0" + "2.14.3" ] ], "log": [ @@ -19,15 +19,15 @@ [ "DDS_CREATEPROJECT", "dds", - "2.14.0" + "2.14.3" ] ] } ], + "timestamp": "2026-06-10T14:06:41.821832", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-04-10T16:57:13.178392" + "nf-test": "0.9.5", + "nextflow": "26.04.3" + } } } \ No newline at end of file From dda81a00f5813a2bcdd38b2613a63ffea44f11b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anna=20Askl=C3=B6f?= <38557093+annaasklof@users.noreply.github.com> Date: Fri, 26 Jun 2026 13:31:37 +0200 Subject: [PATCH 14/18] Update main.nf.test remove dds cli test --- .../dds/createproject/tests/main.nf.test | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test b/modules/nf-core/dds/createproject/tests/main.nf.test index 6908ace92e79..9ca9b1a196f2 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test +++ b/modules/nf-core/dds/createproject/tests/main.nf.test @@ -9,30 +9,6 @@ nextflow_process { tag "dds" tag "dds/createproject" - test("dds/createproject") { - - when { - process { - """ - input[0] = "Test title" - input[1] = "Test description" - input[2] = "test-pi@mail.com" - input[3] = file(System.getenv("DDS_TOKEN_PATH") ?: params.modules_testdata_base_path + 'generic/txt/hello.txt') - """ - } - } - - then { - assertAll( - { assert process.success }, - { assert snapshot ( - process.out.log.get(0).readLines().first().contains("Project created with id:") - ) - } - ) - } - } - test("dds/createproject - stub") { options "-stub" From 916ea17c57b56c24cb96cb218a36901f09a51aac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anna=20Askl=C3=B6f?= <38557093+annaasklof@users.noreply.github.com> Date: Fri, 26 Jun 2026 13:38:34 +0200 Subject: [PATCH 15/18] Update modules/nf-core/dds/createproject/tests/main.nf.test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Matthias Hörtenhuber --- modules/nf-core/dds/createproject/tests/main.nf.test | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test b/modules/nf-core/dds/createproject/tests/main.nf.test index 9ca9b1a196f2..3ed066580171 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test +++ b/modules/nf-core/dds/createproject/tests/main.nf.test @@ -27,8 +27,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() - } + { assert snapshot(sanitizeOutput(process.out)).match()} ) } } From 50146cb9becacc67e1ae686004697aeedb2d412e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anna=20Askl=C3=B6f?= <38557093+annaasklof@users.noreply.github.com> Date: Fri, 26 Jun 2026 13:38:46 +0200 Subject: [PATCH 16/18] Update modules/nf-core/dds/createproject/meta.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Matthias Hörtenhuber --- modules/nf-core/dds/createproject/meta.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/nf-core/dds/createproject/meta.yml b/modules/nf-core/dds/createproject/meta.yml index 5e0c6b9802b4..b7aec4f73732 100644 --- a/modules/nf-core/dds/createproject/meta.yml +++ b/modules/nf-core/dds/createproject/meta.yml @@ -24,7 +24,6 @@ input: - description: type: string description: A description of the project. - - pi: type: string description: Email of the Principal Investigator. From 4160a708f3a740d76fa3ffea8dd9b3b1ffd9cd47 Mon Sep 17 00:00:00 2001 From: mashehu Date: Fri, 26 Jun 2026 15:31:28 +0200 Subject: [PATCH 17/18] update snapshot --- .../dds/createproject/tests/main.nf.test.snap | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/modules/nf-core/dds/createproject/tests/main.nf.test.snap b/modules/nf-core/dds/createproject/tests/main.nf.test.snap index 0976158f5cda..3f27bd1a918c 100644 --- a/modules/nf-core/dds/createproject/tests/main.nf.test.snap +++ b/modules/nf-core/dds/createproject/tests/main.nf.test.snap @@ -2,16 +2,6 @@ "dds/createproject - stub": { "content": [ { - "0": [ - "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "1": [ - [ - "DDS_CREATEPROJECT", - "dds", - "2.14.3" - ] - ], "log": [ "output.log:md5,d41d8cd98f00b204e9800998ecf8427e" ], @@ -24,10 +14,10 @@ ] } ], - "timestamp": "2026-06-10T14:06:41.821832", + "timestamp": "2026-06-26T14:21:53.921262", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.3" + "nextflow": "26.04.4" } } } \ No newline at end of file From d3613706ed222335c6842c171b5626364277ff94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anna=20Askl=C3=B6f?= <38557093+annaasklof@users.noreply.github.com> Date: Mon, 29 Jun 2026 09:32:44 +0200 Subject: [PATCH 18/18] add author --- modules/nf-core/dds/createproject/meta.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/nf-core/dds/createproject/meta.yml b/modules/nf-core/dds/createproject/meta.yml index b7aec4f73732..985ebd55732b 100644 --- a/modules/nf-core/dds/createproject/meta.yml +++ b/modules/nf-core/dds/createproject/meta.yml @@ -61,6 +61,7 @@ topics: description: The expression to obtain the version of the tool authors: - "@annaasklof" + - "@mashehu" maintainers: - "@annaasklof" containers: