diff --git a/modules/nf-core/maxquant/lfq/main.nf b/modules/nf-core/maxquant/lfq/main.nf index 92318ee1ee8f..f3576efbb1ca 100644 --- a/modules/nf-core/maxquant/lfq/main.nf +++ b/modules/nf-core/maxquant/lfq/main.nf @@ -12,7 +12,7 @@ process MAXQUANT_LFQ { output: tuple val(meta), path("${prefix}/*.txt"), emit: maxquant_txt - path "versions.yml" , emit: versions + tuple val("${task.process}"), val("maxquant"), eval("maxquant --version 2>&1 | sed 's/MaxQuantCmd //' || true"), emit: versions_maxquant, topic: versions when: task.ext.when == null || task.ext.when @@ -29,11 +29,6 @@ process MAXQUANT_LFQ { ${args} \\ mqpar_changed.xml mv combined/txt/*.txt ${prefix}/ - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - maxquant: \$(maxquant --version 2>&1 > /dev/null | cut -f2 -d\" \") - END_VERSIONS """ stub: @@ -54,10 +49,5 @@ process MAXQUANT_LFQ { touch ${prefix}/peptides.txt touch ${prefix}/proteinGroups.txt touch ${prefix}/summary.txt - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - maxquant: \$(maxquant --version 2>&1 > /dev/null | cut -f2 -d\" \") - END_VERSIONS """ } diff --git a/modules/nf-core/maxquant/lfq/meta.yml b/modules/nf-core/maxquant/lfq/meta.yml index 1081d28e20ba..f7545047111c 100644 --- a/modules/nf-core/maxquant/lfq/meta.yml +++ b/modules/nf-core/maxquant/lfq/meta.yml @@ -1,17 +1,19 @@ name: maxquant_lfq -description: Run standard proteomics data analysis with MaxQuant, mostly dedicated - to label-free. Paths to fasta and raw files needs to be marked by "PLACEHOLDER" +description: Run standard proteomics data analysis with MaxQuant, mostly + dedicated to label-free. Paths to fasta and raw files needs to be marked by + "PLACEHOLDER" keywords: - sort - proteomics - mass-spectroscopy tools: - maxquant: - description: MaxQuant is a quantitative proteomics software package designed for - analyzing large mass-spectrometric data sets. License restricted. + description: MaxQuant is a quantitative proteomics software package designed + for analyzing large mass-spectrometric data sets. License restricted. homepage: https://www.maxquant.org/ documentation: http://coxdocs.org/doku.php?id=maxquant:start - licence: ["http://www.coxdocs.org/lib/exe/fetch.php?media=license_agreement.pdf"] + licence: + - "http://www.coxdocs.org/lib/exe/fetch.php?media=license_agreement.pdf" identifier: biotools:maxquant input: - - meta: @@ -45,13 +47,29 @@ output: description: tables with peptides and protein information pattern: "*.{txt}" ontologies: [] + versions_maxquant: + - - ${task.process}: + type: string + description: The name of the process + - maxquant: + type: string + description: The name of the tool + - maxquant --version 2>&1 | sed 's/MaxQuantCmd //' || true: + type: eval + description: The expression to obtain the version of the tool + +topics: versions: - - versions.yml: - type: file - description: File containing software version - pattern: "versions.yml" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - - ${task.process}: + type: string + description: The name of the process + - maxquant: + type: string + description: The name of the tool + - maxquant --version 2>&1 | sed 's/MaxQuantCmd //' || true: + type: eval + description: The expression to obtain the version of the tool + authors: - "@veitveit" maintainers: diff --git a/modules/nf-core/maxquant/lfq/tests/main.nf.test b/modules/nf-core/maxquant/lfq/tests/main.nf.test index a213f4689510..a48c0fed01d5 100644 --- a/modules/nf-core/maxquant/lfq/tests/main.nf.test +++ b/modules/nf-core/maxquant/lfq/tests/main.nf.test @@ -19,7 +19,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'proteomics/database/yeast_UPS.fasta', checkIfExists:true), file(params.modules_testdata_base_path + 'proteomics/parameter/mqpar.xml', checkIfExists:true) ] - input[1] = Channel.of([ + input[1] = channel.of([ file(params.modules_testdata_base_path + 'proteomics/msspectra/OVEMB150205_12.raw'), file(params.modules_testdata_base_path + 'proteomics/msspectra/OVEMB150205_14.raw') ]).collect() @@ -29,18 +29,13 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot( // Need to check only the file names as empty files are created - process.out.maxquant_txt.collect{ - it[1].collect{ file(it).getName() } - }, - process.out.versions, - ).match() } + // Need to check only the file names as empty files are created + { assert snapshot(sanitizeOutput(process.out, unstableKeys:["maxquant_txt"])).match() } ) } } test("yeast_UPS - msspectra raw -- stub") { - tag "stub" options "-stub" when { process { @@ -50,7 +45,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'proteomics/database/yeast_UPS.fasta', checkIfExists:true), file(params.modules_testdata_base_path + 'proteomics/parameter/mqpar.xml', checkIfExists:true) ] - input[1] = Channel.of([ + input[1] = channel.of([ file(params.modules_testdata_base_path + 'proteomics/msspectra/OVEMB150205_12.raw'), file(params.modules_testdata_base_path + 'proteomics/msspectra/OVEMB150205_14.raw') ]).collect() @@ -60,10 +55,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot( - process.out, - path(process.out.versions[0]).yaml - ).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/maxquant/lfq/tests/main.nf.test.snap b/modules/nf-core/maxquant/lfq/tests/main.nf.test.snap index 1aa0f96f9ebf..5c6013f5d606 100644 --- a/modules/nf-core/maxquant/lfq/tests/main.nf.test.snap +++ b/modules/nf-core/maxquant/lfq/tests/main.nf.test.snap @@ -2,7 +2,7 @@ "yeast_UPS - msspectra raw -- stub": { "content": [ { - "0": [ + "maxquant_txt": [ [ { "id": "test" @@ -25,76 +25,60 @@ ] ] ], - "1": [ - "versions.yml:md5,60dc5d20588a3b49c7d0c453bd98c5ee" - ], + "versions_maxquant": [ + [ + "MAXQUANT_LFQ", + "maxquant", + "2.0.3.0" + ] + ] + } + ], + "timestamp": "2026-06-30T15:43:06.639002941", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.3" + } + }, + "yeast_UPS - msspectra raw": { + "content": [ + { "maxquant_txt": [ [ { "id": "test" }, [ - "Oxidation (M)Sites.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "allPeptides.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "evidence.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "matchedFeatures.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "modificationSpecificPeptides.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "ms3Scans.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "msScans.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "msms.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "msmsScans.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "mzRange.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "parameters.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "peptides.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "proteinGroups.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + "Oxidation (M)Sites.txt", + "allPeptides.txt", + "evidence.txt", + "matchedFeatures.txt", + "modificationSpecificPeptides.txt", + "ms3Scans.txt", + "msScans.txt", + "msms.txt", + "msmsScans.txt", + "mzRange.txt", + "parameters.txt", + "peptides.txt", + "proteinGroups.txt", + "summary.txt" ] ] ], - "versions": [ - "versions.yml:md5,60dc5d20588a3b49c7d0c453bd98c5ee" + "versions_maxquant": [ + [ + "MAXQUANT_LFQ", + "maxquant", + "2.0.3.0" + ] ] - }, - { - "MAXQUANT_LFQ": { - "maxquant": "2.0.3.0" - } } ], + "timestamp": "2026-06-30T16:12:14.910445538", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.4" - }, - "timestamp": "2025-05-07T17:41:13.129192804" - }, - "yeast_UPS - msspectra raw": { - "content": [ - [ - [ - "Oxidation (M)Sites.txt", - "allPeptides.txt", - "evidence.txt", - "matchedFeatures.txt", - "modificationSpecificPeptides.txt", - "ms3Scans.txt", - "msScans.txt", - "msms.txt", - "msmsScans.txt", - "mzRange.txt", - "parameters.txt", - "peptides.txt", - "proteinGroups.txt", - "summary.txt" - ] - ], - [ - "versions.yml:md5,60dc5d20588a3b49c7d0c453bd98c5ee" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.4" - }, - "timestamp": "2025-05-07T17:40:29.652923118" + "nf-test": "0.9.5", + "nextflow": "26.04.3" + } } } \ No newline at end of file