diff --git a/CHANGELOG.md b/CHANGELOG.md
index fc6a9233..8f8b9c2f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed an issue where stripping the sequence in `SUMMARIZE_RESULTS` did not work for complex modifications [#436](https://github.com/nf-core/mhcquant/pull/436)
+### `Changed`
+
+- Migrate to topic channels [#431](https://github.com/nf-core/mhcquant/pull/431)
+
+### `Dependencies`
+
+| Dependency | Old version | New version |
+| ---------- | ----------- | ----------- |
+| `MultiQC` | 1.31.0 | 1.33.0 |
+| `Nf-core` | 3.4.1 | 3.5.1 |
+| `openms` | 3.4.1 | 3.5.0 |
+
## 3.1.0 - BlüBa - 07/01/26
### `Added`
diff --git a/modules.json b/modules.json
index efeedebb..4d2cd03e 100644
--- a/modules.json
+++ b/modules.json
@@ -7,67 +7,62 @@
"nf-core": {
"gunzip": {
"branch": "master",
- "git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
+ "git_sha": "96c57dfd98a0641886a67bd449fe33ee2ec0e374",
"installed_by": ["modules"]
},
"multiqc": {
"branch": "master",
- "git_sha": "af27af1be706e6a2bb8fe454175b0cdf77f47b49",
+ "git_sha": "5bdb098216aaf5df9c3b6343e6204cd932503c16",
"installed_by": ["modules"]
},
"openms/decoydatabase": {
"branch": "master",
- "git_sha": "0c47e4193ddde2c5edbc206b5420cbcbee5c9797",
+ "git_sha": "ca1cd2456f36c913fb3cfb6bdfbf9d1794fd493b",
"installed_by": ["modules"]
},
"openms/filefilter": {
"branch": "master",
- "git_sha": "0c47e4193ddde2c5edbc206b5420cbcbee5c9797",
+ "git_sha": "ca1cd2456f36c913fb3cfb6bdfbf9d1794fd493b",
"installed_by": ["modules"]
},
"openms/idfilter": {
"branch": "master",
- "git_sha": "0c47e4193ddde2c5edbc206b5420cbcbee5c9797",
- "installed_by": ["modules"]
- },
- "openms/idmassaccuracy": {
- "branch": "master",
- "git_sha": "0c47e4193ddde2c5edbc206b5420cbcbee5c9797",
+ "git_sha": "ca1cd2456f36c913fb3cfb6bdfbf9d1794fd493b",
"installed_by": ["modules"]
},
"openms/idmerger": {
"branch": "master",
- "git_sha": "0c47e4193ddde2c5edbc206b5420cbcbee5c9797",
+ "git_sha": "ca1cd2456f36c913fb3cfb6bdfbf9d1794fd493b",
"installed_by": ["modules"]
},
"openms/idripper": {
"branch": "master",
- "git_sha": "0c47e4193ddde2c5edbc206b5420cbcbee5c9797",
+ "git_sha": "ca1cd2456f36c913fb3cfb6bdfbf9d1794fd493b",
"installed_by": ["modules"]
},
"openms/idscoreswitcher": {
"branch": "master",
- "git_sha": "0c47e4193ddde2c5edbc206b5420cbcbee5c9797",
+ "git_sha": "ca1cd2456f36c913fb3cfb6bdfbf9d1794fd493b",
"installed_by": ["modules"]
},
"openms/peakpickerhires": {
"branch": "master",
- "git_sha": "0c47e4193ddde2c5edbc206b5420cbcbee5c9797",
+ "git_sha": "ca1cd2456f36c913fb3cfb6bdfbf9d1794fd493b",
"installed_by": ["modules"]
},
"openms/peptideindexer": {
"branch": "master",
- "git_sha": "0c47e4193ddde2c5edbc206b5420cbcbee5c9797",
+ "git_sha": "ca1cd2456f36c913fb3cfb6bdfbf9d1794fd493b",
"installed_by": ["modules"]
},
"openmsthirdparty/cometadapter": {
"branch": "master",
- "git_sha": "0c47e4193ddde2c5edbc206b5420cbcbee5c9797",
+ "git_sha": "ca1cd2456f36c913fb3cfb6bdfbf9d1794fd493b",
"installed_by": ["modules"]
},
"thermorawfileparser": {
"branch": "master",
- "git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46",
+ "git_sha": "daaecc3478d6f6ad9cb8f48ec7d657ab6c67877f",
"installed_by": ["modules"]
}
}
diff --git a/modules/local/easypqp/convert/main.nf b/modules/local/easypqp/convert/main.nf
index 45387cdc..5e442dfc 100644
--- a/modules/local/easypqp/convert/main.nf
+++ b/modules/local/easypqp/convert/main.nf
@@ -14,7 +14,7 @@ process EASYPQP_CONVERT {
output:
tuple val(meta), path("*.psmpkl") , emit: psmpkl
tuple val(meta), path("*.peakpkl"), emit: peakpkl
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('easypqp'), eval("easypqp --version 2>&1 | grep -oP '(?<=easypqp, version )\\d+\\.\\d+\\.\\d+'"), emit: versions, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -32,11 +32,6 @@ process EASYPQP_CONVERT {
--spectra $spectra \\
--unimod $unimod \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- easypqp: \$(easypqp --version 2>&1 | grep -oP '(?<=easypqp, version )\\d+\\.\\d+\\.\\d+')
- END_VERSIONS
"""
stub:
@@ -49,10 +44,5 @@ process EASYPQP_CONVERT {
touch "${prefix}.psmpkl"
touch "${prefix}.peakpkl"
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- easypqp: \$(easypqp --version 2>&1 | grep -oP '(?<=easypqp, version )\\d+\\.\\d+\\.\\d+')
- END_VERSIONS
"""
}
diff --git a/modules/local/easypqp/library/main.nf b/modules/local/easypqp/library/main.nf
index 6f720fb1..8db92728 100644
--- a/modules/local/easypqp/library/main.nf
+++ b/modules/local/easypqp/library/main.nf
@@ -12,7 +12,7 @@ process EASYPQP_LIBRARY {
output:
tuple val(meta), path("*.tsv") , emit: tsv
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('easypqp'), eval("easypqp --version 2>&1 | grep -oP '(?<=easypqp, version )\\d+\\.\\d+\\.\\d+'"), emit: versions, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -30,11 +30,6 @@ process EASYPQP_LIBRARY {
--out ${prefix}_speclib.tsv \
$args \
$psmpkl $peakpkl
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- easypqp: \$(easypqp --version 2>&1 | grep -oP '(?<=easypqp, version )\\d+\\.\\d+\\.\\d+')
- END_VERSIONS
"""
stub:
@@ -46,10 +41,5 @@ process EASYPQP_LIBRARY {
mkdir -p \$MPLCONFIGDIR \$XDG_CACHE_HOME
touch "${prefix}_speclib.tsv"
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- easypqp: \$(easypqp --version 2>&1 | grep -oP '(?<=easypqp, version )\\d+\\.\\d+\\.\\d+')
- END_VERSIONS
"""
}
diff --git a/modules/local/epicore/main.nf b/modules/local/epicore/main.nf
index a04efff9..664c993e 100644
--- a/modules/local/epicore/main.nf
+++ b/modules/local/epicore/main.nf
@@ -16,7 +16,7 @@ process EPICORE {
path "${result_tsv}", emit: final_epicore_tsv
path "epicore_length_distribution.html", emit: length_dist
path "epicore_intensity_histogram.html", emit: intensity_hist
- path "versions.yml", emit: versions
+ tuple val("${task.process}"), val('epicore'), eval("echo \$(epicore --version) | grep 'epicore' | cut -d ' ' -f3 | cut -c2-"), emit: versions, topic: versions
script:
def args = task.ext.args ?: ''
@@ -32,11 +32,6 @@ process EPICORE {
# Add epicore statistics to MultiQC general stats table
wc -l < epitopes.csv | awk '{print \$1 - 1}' > epicores.txt
awk 'NR==1 {print \$0 ",# Epicores"; next} NR==2 {getline extra < "epicores.txt"; print \$0 "," extra}' $general_stats > _modified_$general_stats
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- epicore: \$(echo \$(epicore --version) | grep 'epicore' | cut -d ' ' -f3 | cut -c2-)
- END_VERSIONS
"""
stub:
@@ -47,10 +42,5 @@ process EPICORE {
touch ${prefix}.tsv
touch epicore_length_distribution.html
touch epicore_intensity_hist.html
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- epicore: \$(echo \$(epicore --version) | grep 'epicore' | cut -d ' ' -f3 | cut -c2-)
- END_VERSIONS
"""
}
diff --git a/modules/local/ms2rescore/main.nf b/modules/local/ms2rescore/main.nf
index 06fcb72a..8adc1fc5 100644
--- a/modules/local/ms2rescore/main.nf
+++ b/modules/local/ms2rescore/main.nf
@@ -17,7 +17,7 @@ process MS2RESCORE {
tuple val(meta), path("*ms2rescore.idXML") , emit: idxml
tuple val(meta), path("*feature_names.tsv"), emit: feature_names
tuple val(meta), path("*.html" ) , optional:true, emit: html
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('MS2Rescore'), eval("echo \"\$(ms2rescore --version 2>&1)\" | grep -oP 'MS²Rescore \\(v\\K[^\\)]+'"), emit: versions, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -33,11 +33,6 @@ process MS2RESCORE {
--output_path ${prefix}.idXML \\
--processes $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- MS²Rescore: \$(echo \$(ms2rescore --version 2>&1) | grep -oP 'MS²Rescore \\(v\\K[^\\)]+' ))
- END_VERSIONS
"""
stub:
@@ -47,10 +42,5 @@ process MS2RESCORE {
touch ${prefix}.idXML
touch ${meta.id}_feature_names.tsv
touch ${meta.id}.html
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- MS²Rescore: \$(echo \$(ms2rescore --version 2>&1) | grep -oP 'MS²Rescore \\(v\\K[^\\)]+' ))
- END_VERSIONS
"""
}
diff --git a/modules/local/openms/featurefinderidentification/main.nf b/modules/local/openms/featurefinderidentification/main.nf
index 794455ec..8c9303bd 100644
--- a/modules/local/openms/featurefinderidentification/main.nf
+++ b/modules/local/openms/featurefinderidentification/main.nf
@@ -13,27 +13,23 @@ process OPENMS_FEATUREFINDERIDENTIFICATION {
output:
tuple val(meta), path("*.featureXML"), emit: featurexml
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | grep -E '^Version' | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//'"), emit: versions_featurefinderidentification, topic: versions
when:
task.ext.when == null || task.ext.when
script:
def prefix = task.ext.prefix ?: "${meta.id}_${meta.sample}_${meta.condition}"
- def args = task.ext.args ?: ''
def quant_fdr = params.quantification_fdr ? "-id $id_int -id_ext $id_ext -svm:min_prob ${params.quantification_min_prob}" : "-id $id_ext"
- args = args + " $quant_fdr"
+ def args = quant_fdr
+ args = args + (task.ext.args ? " ${task.ext.args}" : '')
"""
- FeatureFinderIdentification -in $mzml \\
+ FeatureFinderIdentification \\
+ -in $mzml \\
-out ${prefix}.featureXML \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -41,10 +37,5 @@ process OPENMS_FEATUREFINDERIDENTIFICATION {
"""
touch ${prefix}.featureXML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/local/openms/idconflictresolver/main.nf b/modules/local/openms/idconflictresolver/main.nf
index 9228ee81..c5389502 100644
--- a/modules/local/openms/idconflictresolver/main.nf
+++ b/modules/local/openms/idconflictresolver/main.nf
@@ -12,7 +12,7 @@ process OPENMS_IDCONFLICTRESOLVER {
output:
tuple val(meta), path("*.consensusXML"), emit: consensusxml
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | grep -E '^Version' | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//'"), emit: versions, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -25,11 +25,6 @@ process OPENMS_IDCONFLICTRESOLVER {
-in $consensus \\
-out ${prefix}.consensusXML \\
-threads $task.cpus
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -37,10 +32,5 @@ process OPENMS_IDCONFLICTRESOLVER {
"""
touch ${prefix}.consensusXML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/openms/idmassaccuracy/environment.yml b/modules/local/openms/idmassaccuracy/environment.yml
similarity index 100%
rename from modules/nf-core/openms/idmassaccuracy/environment.yml
rename to modules/local/openms/idmassaccuracy/environment.yml
diff --git a/modules/nf-core/openms/idmassaccuracy/main.nf b/modules/local/openms/idmassaccuracy/main.nf
similarity index 72%
rename from modules/nf-core/openms/idmassaccuracy/main.nf
rename to modules/local/openms/idmassaccuracy/main.nf
index 819720e2..9c4d4cd0 100644
--- a/modules/nf-core/openms/idmassaccuracy/main.nf
+++ b/modules/local/openms/idmassaccuracy/main.nf
@@ -13,7 +13,7 @@ process OPENMS_IDMASSACCURACY {
output:
tuple val(meta), path("*frag_mass_err.tsv") , emit: frag_err
tuple val(meta), path("*prec_mass_err.tsv") , emit: prec_err, optional: true
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -29,11 +29,6 @@ process OPENMS_IDMASSACCURACY {
-out_fragment ${prefix}_frag_mass_err.tsv \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- OpenMS: \$(FileInfo 2>&1 | grep -E '^Version(.*)' | cut -d ' ' -f 2 | cut -d '-' -f 1)
- END_VERSIONS
"""
stub:
@@ -43,10 +38,5 @@ process OPENMS_IDMASSACCURACY {
"""
touch ${prefix}_frag_mass_err.tsv
touch ${prefix}_prec_mass_err.tsv
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- OpenMS: \$(FileInfo 2>&1 | grep -E '^Version(.*)' | cut -d ' ' -f 2 | cut -d '-' -f 1)
- END_VERSIONS
"""
}
diff --git a/modules/local/openms/idmassaccuracy/meta.yml b/modules/local/openms/idmassaccuracy/meta.yml
new file mode 100644
index 00000000..4da25896
--- /dev/null
+++ b/modules/local/openms/idmassaccuracy/meta.yml
@@ -0,0 +1,74 @@
+name: "openms_idfilter"
+description: Filters peptide/protein identification results by different
+ criteria.
+keywords:
+ - filter
+ - idXML
+ - openms
+ - proteomics
+tools:
+ - "openms":
+ description: "OpenMS is an open-source software C++ library for LC-MS data management
+ and analyses"
+ homepage: "https://openms.de"
+ documentation: "https://openms.readthedocs.io/en/latest/index.html"
+ tool_dev_url: "https://github.com/OpenMS/OpenMS"
+ doi: "10.1038/s41592-024-02197-7"
+ licence: ["BSD"]
+ identifier: ""
+
+input:
+ - - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. `[ id:'test', single_end:false ]`
+ - id_file:
+ type: file
+ description: Peptide-spectrum matches.
+ pattern: "*.{idXML,consensusXML}"
+ ontologies: []
+ - filter_file:
+ type: file
+ description: Optional idXML file to filter on/out peptides or proteins
+ patter: "*.{idXML,fasta}"
+ ontologies: []
+output:
+ filtered:
+ - - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. `[ id:'test', single_end:false ]`
+ - "*.{idXML,consensusXML}":
+ type: file
+ description: Filtered peptide-spectrum matches.
+ pattern: "*.{idXML,consensusXML}"
+ ontologies: []
+ versions_openms:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
+ versions:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+authors:
+ - "@jonasscheid"
+maintainers:
+ - "@jonasscheid"
diff --git a/modules/local/openms/mapaligneridentification/environment.yml b/modules/local/openms/mapaligneridentification/environment.yml
index d85a93ef..c8bad1b9 100644
--- a/modules/local/openms/mapaligneridentification/environment.yml
+++ b/modules/local/openms/mapaligneridentification/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - bioconda::openms=3.4.1
+ - bioconda::openms=3.5.0
diff --git a/modules/local/openms/mapaligneridentification/main.nf b/modules/local/openms/mapaligneridentification/main.nf
index fd19d5c3..ca9630e9 100644
--- a/modules/local/openms/mapaligneridentification/main.nf
+++ b/modules/local/openms/mapaligneridentification/main.nf
@@ -4,15 +4,15 @@ process OPENMS_MAPALIGNERIDENTIFICATION {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(idxmls)
output:
tuple val(meta), path("*.trafoXML"), emit: trafoxml
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -26,11 +26,6 @@ process OPENMS_MAPALIGNERIDENTIFICATION {
-in $idxmls \\
-trafo_out ${out_names} \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -38,10 +33,5 @@ process OPENMS_MAPALIGNERIDENTIFICATION {
"""
touch test1.consensusXML
touch test2.consensusXML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/local/openms/maprttransformer/environment.yml b/modules/local/openms/maprttransformer/environment.yml
index d85a93ef..c8bad1b9 100644
--- a/modules/local/openms/maprttransformer/environment.yml
+++ b/modules/local/openms/maprttransformer/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - bioconda::openms=3.4.1
+ - bioconda::openms=3.5.0
diff --git a/modules/local/openms/maprttransformer/main.nf b/modules/local/openms/maprttransformer/main.nf
index a2889e35..2977da96 100644
--- a/modules/local/openms/maprttransformer/main.nf
+++ b/modules/local/openms/maprttransformer/main.nf
@@ -4,22 +4,22 @@ process OPENMS_MAPRTTRANSFORMER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(alignment_file), path(trafoxml)
output:
tuple val(meta), path("*_aligned.*"), emit: aligned
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
script:
- def args = task.ext.args ?: ''
- def prefix = task.ext.prefix ?: "${meta.id}"
+ def args = task.ext.args ?: ''
+ def prefix = task.ext.prefix ?: "${meta.id}_aligned"
def fileExt = alignment_file.collect { it.name.tokenize("\\.")[1] }.join(' ')
"""
@@ -29,11 +29,6 @@ process OPENMS_MAPRTTRANSFORMER {
-out ${prefix}.${fileExt} \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -42,10 +37,5 @@ process OPENMS_MAPRTTRANSFORMER {
"""
touch ${prefix}.${fileExt}
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/local/openms/mztabexporter/environment.yml b/modules/local/openms/mztabexporter/environment.yml
index d85a93ef..c8bad1b9 100644
--- a/modules/local/openms/mztabexporter/environment.yml
+++ b/modules/local/openms/mztabexporter/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - bioconda::openms=3.4.1
+ - bioconda::openms=3.5.0
diff --git a/modules/local/openms/mztabexporter/main.nf b/modules/local/openms/mztabexporter/main.nf
index ee5500b4..36349a28 100644
--- a/modules/local/openms/mztabexporter/main.nf
+++ b/modules/local/openms/mztabexporter/main.nf
@@ -4,15 +4,15 @@ process OPENMS_MZTABEXPORTER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(in_file)
output:
tuple val(meta), path("*.mzTab"), emit: mztab
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -27,11 +27,6 @@ process OPENMS_MZTABEXPORTER {
-out ${prefix}.mzTab \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -39,10 +34,5 @@ process OPENMS_MZTABEXPORTER {
"""
touch ${prefix}.mzTab
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/local/openms/psmfeatureextractor/environment.yml b/modules/local/openms/psmfeatureextractor/environment.yml
index d85a93ef..c8bad1b9 100644
--- a/modules/local/openms/psmfeatureextractor/environment.yml
+++ b/modules/local/openms/psmfeatureextractor/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - bioconda::openms=3.4.1
+ - bioconda::openms=3.5.0
diff --git a/modules/local/openms/psmfeatureextractor/main.nf b/modules/local/openms/psmfeatureextractor/main.nf
index 870e6519..407e04a5 100644
--- a/modules/local/openms/psmfeatureextractor/main.nf
+++ b/modules/local/openms/psmfeatureextractor/main.nf
@@ -4,15 +4,15 @@ process OPENMS_PSMFEATUREEXTRACTOR {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(idxml), path(feature_file)
output:
tuple val(meta), path("*.idXML"), emit: idxml
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -31,11 +31,6 @@ process OPENMS_PSMFEATUREEXTRACTOR {
-threads $task.cpus \\
-extra \$extra_features \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -43,10 +38,5 @@ process OPENMS_PSMFEATUREEXTRACTOR {
"""
touch ${prefix}.idXML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/local/openms/textexporter/environment.yml b/modules/local/openms/textexporter/environment.yml
index d85a93ef..c8bad1b9 100644
--- a/modules/local/openms/textexporter/environment.yml
+++ b/modules/local/openms/textexporter/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - bioconda::openms=3.4.1
+ - bioconda::openms=3.5.0
diff --git a/modules/local/openms/textexporter/main.nf b/modules/local/openms/textexporter/main.nf
index 46dd8f33..920f312f 100644
--- a/modules/local/openms/textexporter/main.nf
+++ b/modules/local/openms/textexporter/main.nf
@@ -4,15 +4,15 @@ process OPENMS_TEXTEXPORTER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(file)
output:
tuple val(meta), path("*.tsv"), emit: tsv
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -29,11 +29,6 @@ process OPENMS_TEXTEXPORTER {
-id:add_hit_metavalues 0 \\
-id:peptides_only \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -41,10 +36,5 @@ process OPENMS_TEXTEXPORTER {
"""
touch ${prefix}.tsv
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/local/openmsthirdparty/featurelinkerunlabeledkd/environment.yml b/modules/local/openmsthirdparty/featurelinkerunlabeledkd/environment.yml
index dde2f844..9255b744 100644
--- a/modules/local/openmsthirdparty/featurelinkerunlabeledkd/environment.yml
+++ b/modules/local/openmsthirdparty/featurelinkerunlabeledkd/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - bioconda::openms-thirdparty=3.4.1
+ - bioconda::openms-thirdparty=3.5.0
diff --git a/modules/local/openmsthirdparty/featurelinkerunlabeledkd/main.nf b/modules/local/openmsthirdparty/featurelinkerunlabeledkd/main.nf
index 96ce7b37..a10153d2 100644
--- a/modules/local/openmsthirdparty/featurelinkerunlabeledkd/main.nf
+++ b/modules/local/openmsthirdparty/featurelinkerunlabeledkd/main.nf
@@ -4,15 +4,15 @@ process OPENMS_FEATURELINKERUNLABELEDKD {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms-thirdparty:3.4.1--h9ee0642_1' :
- 'biocontainers/openms-thirdparty:3.4.1--h9ee0642_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms-thirdparty:3.5.0--h9ee0642_0' :
+ 'biocontainers/openms-thirdparty:3.5.0--h9ee0642_0' }"
input:
tuple val(meta), path(features)
output:
tuple val(meta), path("*.consensusXML"), emit: consensusxml
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -21,14 +21,10 @@ process OPENMS_FEATURELINKERUNLABELEDKD {
def prefix = task.ext.prefix ?: "${meta.id}_all_features_merged"
"""
- FeatureLinkerUnlabeledKD -in $features \\
+ FeatureLinkerUnlabeledKD \\
+ -in $features \\
-out ${prefix}.consensusXML \\
-threads $task.cpus
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms-thirdparty: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -36,10 +32,5 @@ process OPENMS_FEATURELINKERUNLABELEDKD {
"""
touch ${prefix}.consensusXML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms-thirdparty: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/local/openmsthirdparty/percolatoradapter/environment.yml b/modules/local/openmsthirdparty/percolatoradapter/environment.yml
index dde2f844..9255b744 100644
--- a/modules/local/openmsthirdparty/percolatoradapter/environment.yml
+++ b/modules/local/openmsthirdparty/percolatoradapter/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - bioconda::openms-thirdparty=3.4.1
+ - bioconda::openms-thirdparty=3.5.0
diff --git a/modules/local/openmsthirdparty/percolatoradapter/main.nf b/modules/local/openmsthirdparty/percolatoradapter/main.nf
index 8199ce17..550d6253 100644
--- a/modules/local/openmsthirdparty/percolatoradapter/main.nf
+++ b/modules/local/openmsthirdparty/percolatoradapter/main.nf
@@ -4,8 +4,8 @@ process OPENMS_PERCOLATORADAPTER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms-thirdparty:3.4.1--h9ee0642_1' :
- 'biocontainers/openms-thirdparty:3.4.1--h9ee0642_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms-thirdparty:3.5.0--h9ee0642_0' :
+ 'biocontainers/openms-thirdparty:3.5.0--h9ee0642_0' }"
input:
tuple val(meta), path(merged_with_features)
@@ -13,7 +13,8 @@ process OPENMS_PERCOLATORADAPTER {
output:
tuple val(meta), path("*.idXML") , emit: idxml
tuple val(meta), path("*_percolator_feature_weights.tsv"), emit: feature_weights, optional: true
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('PercolatorAdapter'), eval("PercolatorAdapter 2>&1 | grep -E '^Version(.*)' | sed 's/Version: //g' | cut -d ' ' -f 1"), emit: versions_percolatoradapter, topic: versions
+ tuple val("${task.process}"), val('percolator'), eval("percolator -h 2>&1 | grep -E '^Percolator version(.*)' | sed 's/Percolator version //g'"), emit: versions_percolator, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -28,12 +29,6 @@ process OPENMS_PERCOLATORADAPTER {
-out ${prefix}.idXML \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- PercolatorAdapter: \$(PercolatorAdapter 2>&1 | grep -E '^Version(.*)' | sed 's/Version: //g' | cut -d ' ' -f 1)
- percolator: \$(percolator -h 2>&1 | grep -E '^Percolator version(.*)' | sed 's/Percolator version //g')
- END_VERSIONS
"""
stub:
@@ -41,11 +36,5 @@ process OPENMS_PERCOLATORADAPTER {
"""
touch ${prefix}.idXML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- PercolatorAdapter: \$(PercolatorAdapter 2>&1 | grep -E '^Version(.*)' | sed 's/Version: //g' | cut -d ' ' -f 1)
- percolator: \$(percolator -h 2>&1 | grep -E '^Percolator version(.*)' | sed 's/Percolator version //g')
- END_VERSIONS
"""
}
diff --git a/modules/local/pyopenms/chromatogramextractor/main.nf b/modules/local/pyopenms/chromatogramextractor/main.nf
index 33f138e0..038177ab 100644
--- a/modules/local/pyopenms/chromatogramextractor/main.nf
+++ b/modules/local/pyopenms/chromatogramextractor/main.nf
@@ -12,7 +12,7 @@ process PYOPENMS_CHROMATOGRAMEXTRACTOR {
output:
tuple val(meta), path("*.csv") , emit: csv
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('pyopenms'), eval("pip show pyopenms | grep Version | sed 's/Version: //'"), emit: versions, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -25,11 +25,6 @@ process PYOPENMS_CHROMATOGRAMEXTRACTOR {
chromatogram_extractor.py \\
-in $mzml \\
-out ${prefix}_chrom.csv \\
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- pyopenms: \$(pip show pyopenms | grep Version | sed 's/Version: //')
- END_VERSIONS
"""
stub:
@@ -37,10 +32,5 @@ process PYOPENMS_CHROMATOGRAMEXTRACTOR {
"""
touch ${prefix}_chrom.csv
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- pyopenms: \$(pip show pyopenms | grep Version | sed 's/Version: //')
- END_VERSIONS
"""
}
diff --git a/modules/local/pyopenms/ionannotator/main.nf b/modules/local/pyopenms/ionannotator/main.nf
index cb5f06a6..e58c6ce1 100644
--- a/modules/local/pyopenms/ionannotator/main.nf
+++ b/modules/local/pyopenms/ionannotator/main.nf
@@ -12,7 +12,7 @@ process PYOPENMS_IONANNOTATOR {
output:
tuple val(meta), path("*.tsv") , emit: tsv
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('pyopenms'), eval("pip show pyopenms | grep Version | sed 's/Version: //'"), emit: versions, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -35,12 +35,6 @@ process PYOPENMS_IONANNOTATOR {
$zions \\
$aions \\
$cions
-
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- pyopenms: \$(pip show pyopenms | grep Version | sed 's/Version: //')
- END_VERSIONS
"""
stub:
@@ -49,10 +43,5 @@ process PYOPENMS_IONANNOTATOR {
"""
touch ${prefix}_all_peaks.tsv
touch ${prefix}_matching_ions.tsv
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- pyopenms: \$(pip show pyopenms | grep Version | sed 's/Version: //')
- END_VERSIONS
"""
}
diff --git a/modules/local/pyopenms/summarize_results/main.nf b/modules/local/pyopenms/summarize_results/main.nf
index e92edd38..c26a416c 100644
--- a/modules/local/pyopenms/summarize_results/main.nf
+++ b/modules/local/pyopenms/summarize_results/main.nf
@@ -16,7 +16,7 @@ process SUMMARIZE_RESULTS {
path '*_peptide_length.csv' , emit: lengths, optional: true
path '*_peptide_intensity.csv' , emit: intensities, optional: true
tuple val(meta), path('*.tsv'), path('*_general_stats.csv') , emit: epicore_input
- path 'versions.yml' , emit: versions
+ tuple val("${task.process}"), val('pyopenms'), eval("pip show pyopenms | grep Version | sed 's/Version: //'"), emit: versions, topic: versions
script:
def args = task.ext.args ?: ''
@@ -29,11 +29,6 @@ process SUMMARIZE_RESULTS {
--out_prefix $prefix \\
$quantify \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- pyopenms: \$(pip show pyopenms | grep Version | sed 's/Version: //')
- END_VERSIONS
"""
stub:
@@ -48,10 +43,5 @@ process SUMMARIZE_RESULTS {
touch ${prefix}_peptide_intensity.csv
touch ${prefix}_general_stats.csv
touch ${prefix}.tsv
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- pyopenms: \$(pip show pyopenms | grep Version | sed 's/Version: //')
- END_VERSIONS
"""
}
diff --git a/modules/local/tdf2mzml/main.nf b/modules/local/tdf2mzml/main.nf
index b900b81a..482545a9 100644
--- a/modules/local/tdf2mzml/main.nf
+++ b/modules/local/tdf2mzml/main.nf
@@ -8,19 +8,14 @@ process TDF2MZML {
output:
tuple val(meta), path("*.mzML"), emit: mzml
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('python'), eval("python3 --version | cut -d ' ' -f2"), emit: versions, topic: versions
+ tuple val("${task.process}"), val('tdf2mzml'), eval("echo 0.3.0"), emit: versions_1, topic: versions
script:
def prefix = task.ext.prefix ?: "${tdf.simpleName}"
"""
tdf2mzml.py -i $tdf -o ${prefix}.mzML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- python: \$(python3 --version | cut -d ' ' -f2)
- tdf2mzml: \$(echo 0.3.0)
- END_VERSIONS
"""
stub:
@@ -28,11 +23,5 @@ process TDF2MZML {
"""
touch ${prefix}.mzML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- python: \$(python3 --version | cut -d ' ' -f2)
- tdf2mzml: \$(echo 0.3.0)
- END_VERSIONS
"""
}
diff --git a/modules/local/untar/main.nf b/modules/local/untar/main.nf
index 35c364b1..649af575 100644
--- a/modules/local/untar/main.nf
+++ b/modules/local/untar/main.nf
@@ -12,7 +12,7 @@ process UNTAR {
output:
tuple val(meta), path("*.d"), emit: untar
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('untar'), eval("echo \$(tar --version 2>&1) | sed 's/^.*(GNU tar) //; s/ Copyright.*\$//'"), emit: versions, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -33,11 +33,6 @@ process UNTAR {
$archive \\
--strip-components=\$depth \\
$args2
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- untar: \$(echo \$(tar --version 2>&1) | sed 's/^.*(GNU tar) //; s/ Copyright.*\$//')
- END_VERSIONS
"""
stub:
@@ -46,10 +41,5 @@ process UNTAR {
"""
mkdir $prefix
touch ${prefix}/file.txt
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- untar: \$(echo \$(tar --version 2>&1) | sed 's/^.*(GNU tar) //; s/ Copyright.*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/local/unzip/main.nf b/modules/local/unzip/main.nf
index 5405ef0f..3c5e5110 100644
--- a/modules/local/unzip/main.nf
+++ b/modules/local/unzip/main.nf
@@ -12,7 +12,7 @@ process UNZIP {
output:
tuple val(meta), path("*.d"), emit: unzipped_archive
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('7za'), eval("echo \$(7za --help) | sed 's/.*p7zip Version //; s/(.*//'"), emit: versions, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -28,11 +28,6 @@ process UNZIP {
-o"." \\
$args \\
$archive
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- 7za: \$(echo \$(7za --help) | sed 's/.*p7zip Version //; s/(.*//')
- END_VERSIONS
"""
stub:
@@ -40,10 +35,5 @@ process UNZIP {
"""
touch ${prefix}.d
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- 7za: \$(echo \$(7za --help) | sed 's/.*p7zip Version //; s/(.*//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/gunzip/main.nf b/modules/nf-core/gunzip/main.nf
index 3ffc8e92..a8533e74 100644
--- a/modules/nf-core/gunzip/main.nf
+++ b/modules/nf-core/gunzip/main.nf
@@ -12,7 +12,7 @@ process GUNZIP {
output:
tuple val(meta), path("${gunzip}"), emit: gunzip
- path "versions.yml", emit: versions
+ tuple val("${task.process}"), val('gunzip'), eval('gunzip --version 2>&1 | head -1 | sed "s/^.*(gzip) //; s/ Copyright.*//"'), topic: versions, emit: versions_gunzip
when:
task.ext.when == null || task.ext.when
@@ -32,24 +32,14 @@ process GUNZIP {
${args} \\
${archive} \\
> ${gunzip}
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- gunzip: \$(echo \$(gunzip --version 2>&1) | sed 's/^.*(gzip) //; s/ Copyright.*\$//')
- END_VERSIONS
"""
stub:
- def args = task.ext.args ?: ''
def extension = (archive.toString() - '.gz').tokenize('.')[-1]
def name = archive.toString() - '.gz' - ".${extension}"
def prefix = task.ext.prefix ?: name
gunzip = prefix + ".${extension}"
"""
touch ${gunzip}
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- gunzip: \$(echo \$(gunzip --version 2>&1) | sed 's/^.*(gzip) //; s/ Copyright.*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/gunzip/meta.yml b/modules/nf-core/gunzip/meta.yml
index 926bb22a..bba6b3ba 100644
--- a/modules/nf-core/gunzip/meta.yml
+++ b/modules/nf-core/gunzip/meta.yml
@@ -34,13 +34,29 @@ output:
description: Compressed/uncompressed file
pattern: "*.*"
ontologies: []
+ versions_gunzip:
+ - - ${task.process}:
+ type: string
+ description: The process the versions were collected from
+ - gunzip:
+ type: string
+ description: The tool name
+ - gunzip --version 2>&1 | head -1 | sed "s/^.*(gzip) //; s/ Copyright.*//":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The process the versions were collected from
+ - gunzip:
+ type: string
+ description: The tool name
+ - gunzip --version 2>&1 | head -1 | sed "s/^.*(gzip) //; s/ Copyright.*//":
+ type: eval
+ description: The expression to obtain the version of the tool
+
authors:
- "@joseespinosa"
- "@drpatelh"
diff --git a/modules/nf-core/gunzip/tests/main.nf.test b/modules/nf-core/gunzip/tests/main.nf.test
index dd4f643f..776211ad 100644
--- a/modules/nf-core/gunzip/tests/main.nf.test
+++ b/modules/nf-core/gunzip/tests/main.nf.test
@@ -15,7 +15,7 @@ nextflow_process {
}
process {
"""
- input[0] = channel.of([
+ input[0] = Channel.of([
[],
file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)
]
@@ -43,7 +43,7 @@ nextflow_process {
}
process {
"""
- input[0] = channel.of([
+ input[0] = Channel.of([
[ id: 'test' ],
file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)
]
@@ -71,7 +71,7 @@ nextflow_process {
}
process {
"""
- input[0] = channel.of([
+ input[0] = Channel.of([
[],
file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)
]
@@ -100,7 +100,7 @@ nextflow_process {
}
process {
"""
- input[0] = channel.of([
+ input[0] = Channel.of([
[ id: 'test' ],
file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)
]
diff --git a/modules/nf-core/gunzip/tests/main.nf.test.snap b/modules/nf-core/gunzip/tests/main.nf.test.snap
index a0f0e67e..111ba1bc 100644
--- a/modules/nf-core/gunzip/tests/main.nf.test.snap
+++ b/modules/nf-core/gunzip/tests/main.nf.test.snap
@@ -11,7 +11,11 @@
]
],
"1": [
- "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c"
+ [
+ "GUNZIP",
+ "gunzip",
+ "1.13"
+ ]
],
"gunzip": [
[
@@ -21,16 +25,20 @@
"test.xyz.fastq:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
- "versions": [
- "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c"
+ "versions_gunzip": [
+ [
+ "GUNZIP",
+ "gunzip",
+ "1.13"
+ ]
]
}
],
"meta": {
- "nf-test": "0.9.2",
- "nextflow": "24.10.2"
+ "nf-test": "0.9.3",
+ "nextflow": "25.10.2"
},
- "timestamp": "2024-12-13T11:48:22.080222697"
+ "timestamp": "2026-01-19T17:21:56.633550769"
},
"Should run without failures - stub": {
"content": [
@@ -44,7 +52,11 @@
]
],
"1": [
- "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c"
+ [
+ "GUNZIP",
+ "gunzip",
+ "1.13"
+ ]
],
"gunzip": [
[
@@ -54,16 +66,20 @@
"test_1.fastq:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
- "versions": [
- "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c"
+ "versions_gunzip": [
+ [
+ "GUNZIP",
+ "gunzip",
+ "1.13"
+ ]
]
}
],
"meta": {
- "nf-test": "0.9.2",
- "nextflow": "24.10.2"
+ "nf-test": "0.9.3",
+ "nextflow": "25.10.2"
},
- "timestamp": "2024-12-13T11:48:14.593020264"
+ "timestamp": "2026-01-19T17:21:51.435621199"
},
"Should run without failures": {
"content": [
@@ -77,7 +93,11 @@
]
],
"1": [
- "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c"
+ [
+ "GUNZIP",
+ "gunzip",
+ "1.13"
+ ]
],
"gunzip": [
[
@@ -87,16 +107,20 @@
"test_1.fastq:md5,4161df271f9bfcd25d5845a1e220dbec"
]
],
- "versions": [
- "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c"
+ "versions_gunzip": [
+ [
+ "GUNZIP",
+ "gunzip",
+ "1.13"
+ ]
]
}
],
"meta": {
- "nf-test": "0.9.2",
- "nextflow": "24.10.2"
+ "nf-test": "0.9.3",
+ "nextflow": "25.10.2"
},
- "timestamp": "2024-12-13T11:48:01.295397925"
+ "timestamp": "2026-01-19T17:21:40.613975821"
},
"Should run without failures - prefix": {
"content": [
@@ -110,7 +134,11 @@
]
],
"1": [
- "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c"
+ [
+ "GUNZIP",
+ "gunzip",
+ "1.13"
+ ]
],
"gunzip": [
[
@@ -120,15 +148,19 @@
"test.xyz.fastq:md5,4161df271f9bfcd25d5845a1e220dbec"
]
],
- "versions": [
- "versions.yml:md5,d327e4a19a6d5c5e974136cef8999d8c"
+ "versions_gunzip": [
+ [
+ "GUNZIP",
+ "gunzip",
+ "1.13"
+ ]
]
}
],
"meta": {
- "nf-test": "0.9.2",
- "nextflow": "24.10.2"
+ "nf-test": "0.9.3",
+ "nextflow": "25.10.2"
},
- "timestamp": "2024-12-13T11:48:07.414271387"
+ "timestamp": "2026-01-19T17:21:46.086880414"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/multiqc/environment.yml b/modules/nf-core/multiqc/environment.yml
index d02016a0..009874d4 100644
--- a/modules/nf-core/multiqc/environment.yml
+++ b/modules/nf-core/multiqc/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - bioconda::multiqc=1.32
+ - bioconda::multiqc=1.33
diff --git a/modules/nf-core/multiqc/main.nf b/modules/nf-core/multiqc/main.nf
index c1158fb0..3b0e975b 100644
--- a/modules/nf-core/multiqc/main.nf
+++ b/modules/nf-core/multiqc/main.nf
@@ -3,11 +3,11 @@ process MULTIQC {
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/8c/8c6c120d559d7ee04c7442b61ad7cf5a9e8970be5feefb37d68eeaa60c1034eb/data' :
- 'community.wave.seqera.io/library/multiqc:1.32--d58f60e4deb769bf' }"
+ 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/34/34e733a9ae16a27e80fe00f863ea1479c96416017f24a907996126283e7ecd4d/data' :
+ 'community.wave.seqera.io/library/multiqc:1.33--ee7739d47738383b' }"
input:
- path multiqc_files, stageAs: "?/*"
+ path multiqc_files, stageAs: "?/*"
path(multiqc_config)
path(extra_multiqc_config)
path(multiqc_logo)
@@ -15,10 +15,11 @@ process MULTIQC {
path(sample_names)
output:
- path "*multiqc_report.html", emit: report
- path "*_data" , emit: data
- path "*_plots" , optional:true, emit: plots
- path "versions.yml" , emit: versions
+ path "*.html" , emit: report
+ path "*_data" , emit: data
+ path "*_plots" , optional:true, emit: plots
+ tuple val("${task.process}"), val('multiqc'), eval('multiqc --version | sed "s/.* //g"'), emit: versions
+ // MultiQC should not push its versions to the `versions` topic. Its input depends on the versions topic to be resolved thus outputting to the topic will let the pipeline hang forever
when:
task.ext.when == null || task.ext.when
@@ -26,38 +27,29 @@ process MULTIQC {
script:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ? "--filename ${task.ext.prefix}.html" : ''
- def config = multiqc_config ? "--config $multiqc_config" : ''
- def extra_config = extra_multiqc_config ? "--config $extra_multiqc_config" : ''
+ def config = multiqc_config ? "--config ${multiqc_config}" : ''
+ def extra_config = extra_multiqc_config ? "--config ${extra_multiqc_config}" : ''
def logo = multiqc_logo ? "--cl-config 'custom_logo: \"${multiqc_logo}\"'" : ''
def replace = replace_names ? "--replace-names ${replace_names}" : ''
def samples = sample_names ? "--sample-names ${sample_names}" : ''
"""
multiqc \\
--force \\
- $args \\
- $config \\
- $prefix \\
- $extra_config \\
- $logo \\
- $replace \\
- $samples \\
+ ${args} \\
+ ${config} \\
+ ${prefix} \\
+ ${extra_config} \\
+ ${logo} \\
+ ${replace} \\
+ ${samples} \\
.
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- multiqc: \$( multiqc --version | sed -e "s/multiqc, version //g" )
- END_VERSIONS
"""
stub:
"""
mkdir multiqc_data
+ touch multiqc_data/.stub
mkdir multiqc_plots
touch multiqc_report.html
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- multiqc: \$( multiqc --version | sed -e "s/multiqc, version //g" )
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/multiqc/meta.yml b/modules/nf-core/multiqc/meta.yml
index ce30eb73..f790cab0 100644
--- a/modules/nf-core/multiqc/meta.yml
+++ b/modules/nf-core/multiqc/meta.yml
@@ -57,10 +57,10 @@ input:
- edam: http://edamontology.org/format_3475 # TSV
output:
report:
- - "*multiqc_report.html":
+ - "*.html":
type: file
description: MultiQC report file
- pattern: "multiqc_report.html"
+ pattern: ".html"
ontologies: []
data:
- "*_data":
@@ -74,12 +74,15 @@ output:
pattern: "*_data"
ontologies: []
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The process the versions were collected from
+ - multiqc:
+ type: string
+ description: The tool name
+ - multiqc --version | sed "s/.* //g":
+ type: eval
+ description: The expression to obtain the version of the tool
authors:
- "@abhi18av"
- "@bunop"
@@ -90,3 +93,27 @@ maintainers:
- "@bunop"
- "@drpatelh"
- "@jfy133"
+containers:
+ conda:
+ linux_amd64:
+ lock_file: https://wave.seqera.io/v1alpha1/builds/bd-d58f60e4deb769bf_1/condalock
+ linux_arm64:
+ lock_file: https://wave.seqera.io/v1alpha1/builds/bd-193776baee4194db_1/condalock
+ docker:
+ linux_amd64:
+ build_id: bd-d58f60e4deb769bf_1
+ name: community.wave.seqera.io/library/multiqc:1.32--d58f60e4deb769bf
+ scanId: sc-d76ac07493e940b4_6
+ linux_arm64:
+ build_id: bd-193776baee4194db_1
+ name: community.wave.seqera.io/library/multiqc:1.32--193776baee4194db
+ scanId: sc-86caded0bff8246e_3
+ singularity:
+ linux_amd64:
+ build_id: bd-e649ffa094d1ef4a_1
+ name: oras://community.wave.seqera.io/library/multiqc:1.32--e649ffa094d1ef4a
+ https: https://community.wave.seqera.io/v2/library/multiqc/blobs/sha256:8c6c120d559d7ee04c7442b61ad7cf5a9e8970be5feefb37d68eeaa60c1034eb
+ linux_arm64:
+ build_id: bd-aee0064f5570ef22_1
+ name: oras://community.wave.seqera.io/library/multiqc:1.32--aee0064f5570ef22
+ https: https://community.wave.seqera.io/v2/library/multiqc/blobs/sha256:f02c59ebf6e9a00aa954ee8188a4ecc5c743e18f40b9215a242f67606a00f9cf
diff --git a/modules/nf-core/multiqc/tests/main.nf.test b/modules/nf-core/multiqc/tests/main.nf.test
index 2e56ff33..c3c7297f 100644
--- a/modules/nf-core/multiqc/tests/main.nf.test
+++ b/modules/nf-core/multiqc/tests/main.nf.test
@@ -30,7 +30,33 @@ nextflow_process {
{ assert process.success },
{ assert process.out.report[0] ==~ ".*/multiqc_report.html" },
{ assert process.out.data[0] ==~ ".*/multiqc_data" },
- { assert snapshot(process.out.versions).match("multiqc_versions_single") }
+ { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions")}).match() }
+ )
+ }
+
+ }
+
+ test("sarscov2 single-end [fastqc] - custom prefix") {
+ config "./custom_prefix.config"
+
+ when {
+ process {
+ """
+ input[0] = Channel.of(file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastqc/test_fastqc.zip', checkIfExists: true))
+ input[1] = []
+ input[2] = []
+ input[3] = []
+ input[4] = []
+ input[5] = []
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert process.out.report[0] ==~ ".*/custom_prefix.html" },
+ { assert process.out.data[0] ==~ ".*/custom_prefix_data" }
)
}
@@ -56,7 +82,7 @@ nextflow_process {
{ assert process.success },
{ assert process.out.report[0] ==~ ".*/multiqc_report.html" },
{ assert process.out.data[0] ==~ ".*/multiqc_data" },
- { assert snapshot(process.out.versions).match("multiqc_versions_config") }
+ { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions")}).match() }
)
}
}
@@ -84,7 +110,7 @@ nextflow_process {
{ assert snapshot(process.out.report.collect { file(it).getName() } +
process.out.data.collect { file(it).getName() } +
process.out.plots.collect { file(it).getName() } +
- process.out.versions ).match("multiqc_stub") }
+ process.out.findAll { key, val -> key.startsWith("versions")} ).match() }
)
}
diff --git a/modules/nf-core/multiqc/tests/main.nf.test.snap b/modules/nf-core/multiqc/tests/main.nf.test.snap
index f5af2416..d72d35b7 100644
--- a/modules/nf-core/multiqc/tests/main.nf.test.snap
+++ b/modules/nf-core/multiqc/tests/main.nf.test.snap
@@ -1,41 +1,61 @@
{
- "multiqc_versions_single": {
+ "sarscov2 single-end [fastqc]": {
"content": [
- [
- "versions.yml:md5,737bb2c7cad54ffc2ec020791dc48b8f"
- ]
+ {
+ "versions": [
+ [
+ "MULTIQC",
+ "multiqc",
+ "1.33"
+ ]
+ ]
+ }
],
"meta": {
"nf-test": "0.9.3",
- "nextflow": "24.10.4"
+ "nextflow": "25.10.2"
},
- "timestamp": "2025-10-27T13:33:24.356715"
+ "timestamp": "2025-12-09T10:10:43.020315838"
},
- "multiqc_stub": {
+ "sarscov2 single-end [fastqc] - stub": {
"content": [
[
"multiqc_report.html",
"multiqc_data",
"multiqc_plots",
- "versions.yml:md5,737bb2c7cad54ffc2ec020791dc48b8f"
+ {
+ "versions": [
+ [
+ "MULTIQC",
+ "multiqc",
+ "1.33"
+ ]
+ ]
+ }
]
],
"meta": {
"nf-test": "0.9.3",
- "nextflow": "24.10.4"
+ "nextflow": "25.10.2"
},
- "timestamp": "2025-10-27T13:34:11.103619"
+ "timestamp": "2025-12-09T10:11:14.131950776"
},
- "multiqc_versions_config": {
+ "sarscov2 single-end [fastqc] [config]": {
"content": [
- [
- "versions.yml:md5,737bb2c7cad54ffc2ec020791dc48b8f"
- ]
+ {
+ "versions": [
+ [
+ "MULTIQC",
+ "multiqc",
+ "1.33"
+ ]
+ ]
+ }
],
"meta": {
"nf-test": "0.9.3",
- "nextflow": "24.10.4"
+ "nextflow": "25.10.2"
},
- "timestamp": "2025-10-27T13:34:04.615233"
+ "timestamp": "2025-12-09T10:11:07.15692209"
}
-}
+}
\ No newline at end of file
diff --git a/modules/nf-core/openms/decoydatabase/environment.yml b/modules/nf-core/openms/decoydatabase/environment.yml
index d85a93ef..c8bad1b9 100644
--- a/modules/nf-core/openms/decoydatabase/environment.yml
+++ b/modules/nf-core/openms/decoydatabase/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - bioconda::openms=3.4.1
+ - bioconda::openms=3.5.0
diff --git a/modules/nf-core/openms/decoydatabase/main.nf b/modules/nf-core/openms/decoydatabase/main.nf
index 42494818..7c5f9b98 100644
--- a/modules/nf-core/openms/decoydatabase/main.nf
+++ b/modules/nf-core/openms/decoydatabase/main.nf
@@ -4,15 +4,15 @@ process OPENMS_DECOYDATABASE {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(fasta)
output:
tuple val(meta), path("*.fasta"), emit: decoy_fasta
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -27,12 +27,6 @@ process OPENMS_DECOYDATABASE {
-out ${prefix}.fasta \\
-threads $task.cpus \\
$args
-
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -41,10 +35,5 @@ process OPENMS_DECOYDATABASE {
"""
touch ${prefix}.fasta
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/openms/decoydatabase/meta.yml b/modules/nf-core/openms/decoydatabase/meta.yml
index b0c13d16..bf421862 100644
--- a/modules/nf-core/openms/decoydatabase/meta.yml
+++ b/modules/nf-core/openms/decoydatabase/meta.yml
@@ -39,13 +39,29 @@ output:
description: Fasta file containing proteins and decoy proteins
pattern: "*.{fasta}"
ontologies: []
+ versions_openms:
+ - - ${task.process}:
+ type: string
+ description: The process the versions were collected from
+ - openms:
+ type: string
+ description: The tool name
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The process the versions were collected from
+ - openms:
+ type: string
+ description: The tool name
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
authors:
- "@jonasscheid"
maintainers:
diff --git a/modules/nf-core/openms/decoydatabase/tests/main.nf.test.snap b/modules/nf-core/openms/decoydatabase/tests/main.nf.test.snap
index d4167208..d2f80c6f 100644
--- a/modules/nf-core/openms/decoydatabase/tests/main.nf.test.snap
+++ b/modules/nf-core/openms/decoydatabase/tests/main.nf.test.snap
@@ -11,7 +11,11 @@
]
],
"1": [
- "versions.yml:md5,3faa02db1ca8efaa13ffb542d3a418f0"
+ [
+ "OPENMS_DECOYDATABASE",
+ "openms",
+ "3.5.0"
+ ]
],
"decoy_fasta": [
[
@@ -21,8 +25,12 @@
"yeast_UPS_decoy.fasta:md5,96c0295f69e0cb92b705ca4c33e6f047"
]
],
- "versions": [
- "versions.yml:md5,3faa02db1ca8efaa13ffb542d3a418f0"
+ "versions_openms": [
+ [
+ "OPENMS_DECOYDATABASE",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -30,6 +38,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T07:59:28.940912845"
+ "timestamp": "2026-01-12T13:14:52.51304012"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/openms/filefilter/environment.yml b/modules/nf-core/openms/filefilter/environment.yml
index ad4685c0..fd1026d7 100644
--- a/modules/nf-core/openms/filefilter/environment.yml
+++ b/modules/nf-core/openms/filefilter/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - "bioconda::openms=3.4.1"
+ - "bioconda::openms=3.5.0"
diff --git a/modules/nf-core/openms/filefilter/main.nf b/modules/nf-core/openms/filefilter/main.nf
index 55788339..6b6447b8 100644
--- a/modules/nf-core/openms/filefilter/main.nf
+++ b/modules/nf-core/openms/filefilter/main.nf
@@ -4,8 +4,8 @@ process OPENMS_FILEFILTER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(file)
@@ -14,7 +14,7 @@ process OPENMS_FILEFILTER {
tuple val(meta), path("*.mzML"), emit: mzml, optional: true
tuple val(meta), path("*.featureXML"), emit: featurexml, optional: true
tuple val(meta), path("*.consensusXML"), emit: consensusxml, optional: true
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -31,11 +31,6 @@ process OPENMS_FILEFILTER {
-out ${prefix}.${suffix} \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -46,10 +41,5 @@ process OPENMS_FILEFILTER {
"""
touch ${prefix}.${suffix}
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/openms/filefilter/meta.yml b/modules/nf-core/openms/filefilter/meta.yml
index 9721f9b3..6c552c7a 100644
--- a/modules/nf-core/openms/filefilter/meta.yml
+++ b/modules/nf-core/openms/filefilter/meta.yml
@@ -1,5 +1,6 @@
name: "openms_filefilter"
-description: Filters peptide/protein identification results by different criteria.
+description: Filters peptide/protein identification results by different
+ criteria.
keywords:
- filter
- mzML
@@ -62,14 +63,29 @@ output:
description: Filtered consensusXML file.
pattern: "*.consensusXML"
ontologies: []
+ versions_openms:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ 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"
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
authors:
- "@jonasscheid"
maintainers:
diff --git a/modules/nf-core/openms/filefilter/tests/main.nf.test.snap b/modules/nf-core/openms/filefilter/tests/main.nf.test.snap
index 23a8efdd..1f481bdc 100644
--- a/modules/nf-core/openms/filefilter/tests/main.nf.test.snap
+++ b/modules/nf-core/openms/filefilter/tests/main.nf.test.snap
@@ -43,7 +43,11 @@
],
"3": [
- "versions.yml:md5,1ea875205d6d20aea4dabd5e580f4d6a"
+ [
+ "OPENMS_FILEFILTER",
+ "openms",
+ "3.5.0"
+ ]
],
"consensusxml": [
@@ -59,8 +63,12 @@
"test_filtered.mzML:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
- "versions": [
- "versions.yml:md5,1ea875205d6d20aea4dabd5e580f4d6a"
+ "versions_openms": [
+ [
+ "OPENMS_FILEFILTER",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -68,6 +76,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-27T13:03:04.483705593"
+ "timestamp": "2026-01-12T10:02:48.433471741"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/openms/idfilter/environment.yml b/modules/nf-core/openms/idfilter/environment.yml
index ad4685c0..fd1026d7 100644
--- a/modules/nf-core/openms/idfilter/environment.yml
+++ b/modules/nf-core/openms/idfilter/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - "bioconda::openms=3.4.1"
+ - "bioconda::openms=3.5.0"
diff --git a/modules/nf-core/openms/idfilter/main.nf b/modules/nf-core/openms/idfilter/main.nf
index c15927bf..e31c9897 100644
--- a/modules/nf-core/openms/idfilter/main.nf
+++ b/modules/nf-core/openms/idfilter/main.nf
@@ -4,15 +4,15 @@ process OPENMS_IDFILTER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(id_file), path(filter_file)
output:
tuple val(meta), path("*.{idXML,consensusXML}"), emit: filtered
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -31,12 +31,7 @@ process OPENMS_IDFILTER {
-out ${prefix}.${suffix} \\
-threads $task.cpus \\
$filter \\
- $args \\
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
+ $args
"""
stub:
@@ -50,10 +45,5 @@ process OPENMS_IDFILTER {
"""
touch ${prefix}.${suffix}
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/openms/idfilter/meta.yml b/modules/nf-core/openms/idfilter/meta.yml
index 2bab8552..4da25896 100644
--- a/modules/nf-core/openms/idfilter/meta.yml
+++ b/modules/nf-core/openms/idfilter/meta.yml
@@ -1,5 +1,6 @@
name: "openms_idfilter"
-description: Filters peptide/protein identification results by different criteria.
+description: Filters peptide/protein identification results by different
+ criteria.
keywords:
- filter
- idXML
@@ -44,13 +45,29 @@ output:
description: Filtered peptide-spectrum matches.
pattern: "*.{idXML,consensusXML}"
ontologies: []
+ versions_openms:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
authors:
- "@jonasscheid"
maintainers:
diff --git a/modules/nf-core/openms/idfilter/tests/main.nf.test.snap b/modules/nf-core/openms/idfilter/tests/main.nf.test.snap
index b0f4bce3..dea78c77 100644
--- a/modules/nf-core/openms/idfilter/tests/main.nf.test.snap
+++ b/modules/nf-core/openms/idfilter/tests/main.nf.test.snap
@@ -11,7 +11,11 @@
]
],
"1": [
- "versions.yml:md5,992aca62fe3990b1ebb21d11e999dd67"
+ [
+ "OPENMS_IDFILTER",
+ "openms",
+ "3.5.0"
+ ]
],
"filtered": [
[
@@ -21,8 +25,12 @@
"test.idXML:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
- "versions": [
- "versions.yml:md5,992aca62fe3990b1ebb21d11e999dd67"
+ "versions_openms": [
+ [
+ "OPENMS_IDFILTER",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -30,7 +38,7 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T08:37:44.032335833"
+ "timestamp": "2026-01-12T10:03:17.056821477"
},
"proteomics - filter - idxml": {
"content": [
@@ -40,22 +48,30 @@
{
"id": "test"
},
- "test.idXML:md5,b91c37a92b2d037368cfedde120dc845"
+ "test.idXML:md5,3231d9c0cd1838db70a576f505ed1a21"
]
],
"1": [
- "versions.yml:md5,992aca62fe3990b1ebb21d11e999dd67"
+ [
+ "OPENMS_IDFILTER",
+ "openms",
+ "3.5.0"
+ ]
],
"filtered": [
[
{
"id": "test"
},
- "test.idXML:md5,b91c37a92b2d037368cfedde120dc845"
+ "test.idXML:md5,3231d9c0cd1838db70a576f505ed1a21"
]
],
- "versions": [
- "versions.yml:md5,992aca62fe3990b1ebb21d11e999dd67"
+ "versions_openms": [
+ [
+ "OPENMS_IDFILTER",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -63,6 +79,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T08:37:18.617593794"
+ "timestamp": "2026-01-12T10:03:04.798826665"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/openms/idmassaccuracy/meta.yml b/modules/nf-core/openms/idmassaccuracy/meta.yml
deleted file mode 100644
index 7417d69d..00000000
--- a/modules/nf-core/openms/idmassaccuracy/meta.yml
+++ /dev/null
@@ -1,72 +0,0 @@
-name: "openms_idmassaccuracy"
-description: Calculates a distribution of the mass error from given mass spectra and
- IDs.
-keywords:
- - mass_error
- - openms
- - proteomics
-tools:
- - "openms":
- description: "OpenMS is an open-source software C++ library for LC-MS data management
- and analyses"
- homepage: "https://openms.de"
- documentation: "https://openms.readthedocs.io/en/latest/index.html"
- tool_dev_url: "https://github.com/OpenMS/OpenMS"
- doi: "10.1038/s41592-024-02197-7"
- licence: ["BSD"]
- identifier: ""
-
-input:
- - - meta:
- type: map
- description: |
- Groovy Map containing sample information
- e.g. `[ id:'test' ]`
- - mzmls:
- type: file
- description: |
- List containing one or more mzML files
- e.g. `[ 'file1.mzML', 'file2.mzML' ]`
- pattern: "*.{mzML}"
- ontologies: []
- - idxmls:
- type: file
- description: |
- List containing one or more idXML files
- e.g. `[ 'file1.idXML', 'file2.idXML' ]`
- pattern: "*.{idXML}"
- ontologies: []
-output:
- frag_err:
- - - meta:
- type: map
- description: |
- Groovy Map containing sample information
- e.g. `[ id:'test' ]`
- - "*frag_mass_err.tsv":
- type: file
- description: TSV file containing the fragment mass errors
- pattern: "*frag_mass_err.{tsv}"
- ontologies:
- - edam: http://edamontology.org/format_3475 # TSV
- prec_err:
- - - meta:
- type: map
- description: |
- Groovy Map containing sample information
- e.g. `[ id:'test' ]`
- - "*prec_mass_err.tsv":
- type: file
- description: Optional TSV file containing the precursor mass errors
- pattern: "*prec_mass_err.{tsv}"
- ontologies:
- - edam: http://edamontology.org/format_3475 # TSV
- versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
-authors:
- - "@jonasscheid"
diff --git a/modules/nf-core/openms/idmassaccuracy/tests/main.nf.test b/modules/nf-core/openms/idmassaccuracy/tests/main.nf.test
deleted file mode 100644
index 5f5d5e9d..00000000
--- a/modules/nf-core/openms/idmassaccuracy/tests/main.nf.test
+++ /dev/null
@@ -1,81 +0,0 @@
-nextflow_process {
-
- name "Test Process OPENMS_IDMASSACCURACY"
- script "../main.nf"
- process "OPENMS_IDMASSACCURACY"
- config "./nextflow.config"
-
- tag "modules"
- tag "modules_nfcore"
- tag "openms"
- tag "openms/idmassaccuracy"
- tag "thermorawfileparser"
- tag "openms/decoydatabase"
- tag "openmsthirdparty/cometadapter"
-
- setup {
- run("THERMORAWFILEPARSER") {
- script "../../../thermorawfileparser/main.nf"
- process {
- """
- input[0] = channel.of([
- [ id:'test'],
- file(params.modules_testdata_base_path + 'proteomics/msspectra/PXD012083_e005640_II.raw', checkIfExists: true)
- ])
- """
- }
- }
- run("OPENMS_DECOYDATABASE") {
- script "../../../openms/decoydatabase/main.nf"
- process {
- """
- input[0] = channel.of([
- [ id:'test'],
- file(params.modules_testdata_base_path + 'proteomics/database/UP000005640_9606.fasta', checkIfExists: true)
- ])
- """
- }
- }
- run("OPENMSTHIRDPARTY_COMETADAPTER") {
- script "../../../openmsthirdparty/cometadapter/main.nf"
- process {
- """
- input[0] = THERMORAWFILEPARSER.out.spectra.join(OPENMS_DECOYDATABASE.out.decoy_fasta)
- """
- }
- }
- }
-
- test("proteomics - openms - mass_error") {
- when {
- process {
- """
- input[0] = THERMORAWFILEPARSER.out.spectra.join(OPENMSTHIRDPARTY_COMETADAPTER.out.idxml)
- """
- }
- }
- then {
- assertAll(
- { assert process.success },
- { assert snapshot(process.out).match() }
- )
- }
- }
-
- test("proteomics - openms - mass_error - stub") {
- options "-stub"
- when {
- process {
- """
- input[0] = THERMORAWFILEPARSER.out.spectra.join(OPENMSTHIRDPARTY_COMETADAPTER.out.idxml)
- """
- }
- }
- then {
- assertAll(
- { assert process.success },
- { assert snapshot(process.out).match() }
- )
- }
- }
-}
diff --git a/modules/nf-core/openms/idmassaccuracy/tests/main.nf.test.snap b/modules/nf-core/openms/idmassaccuracy/tests/main.nf.test.snap
deleted file mode 100644
index 69fce941..00000000
--- a/modules/nf-core/openms/idmassaccuracy/tests/main.nf.test.snap
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "proteomics - openms - mass_error - stub": {
- "content": [
- {
- "0": [
- [
- {
- "id": "test"
- },
- "test_frag_mass_err.tsv:md5,d41d8cd98f00b204e9800998ecf8427e"
- ]
- ],
- "1": [
- [
- {
- "id": "test"
- },
- "test_prec_mass_err.tsv:md5,d41d8cd98f00b204e9800998ecf8427e"
- ]
- ],
- "2": [
- "versions.yml:md5,1957953273bbbb30ee405df5972c299a"
- ],
- "frag_err": [
- [
- {
- "id": "test"
- },
- "test_frag_mass_err.tsv:md5,d41d8cd98f00b204e9800998ecf8427e"
- ]
- ],
- "prec_err": [
- [
- {
- "id": "test"
- },
- "test_prec_mass_err.tsv:md5,d41d8cd98f00b204e9800998ecf8427e"
- ]
- ],
- "versions": [
- "versions.yml:md5,1957953273bbbb30ee405df5972c299a"
- ]
- }
- ],
- "meta": {
- "nf-test": "0.9.3",
- "nextflow": "25.04.8"
- },
- "timestamp": "2025-10-28T08:11:12.815918913"
- },
- "proteomics - openms - mass_error": {
- "content": [
- {
- "0": [
- [
- {
- "id": "test"
- },
- "test_frag_mass_err.tsv:md5,b3bf5d66998d83bd69199395843f37e5"
- ]
- ],
- "1": [
-
- ],
- "2": [
- "versions.yml:md5,1957953273bbbb30ee405df5972c299a"
- ],
- "frag_err": [
- [
- {
- "id": "test"
- },
- "test_frag_mass_err.tsv:md5,b3bf5d66998d83bd69199395843f37e5"
- ]
- ],
- "prec_err": [
-
- ],
- "versions": [
- "versions.yml:md5,1957953273bbbb30ee405df5972c299a"
- ]
- }
- ],
- "meta": {
- "nf-test": "0.9.3",
- "nextflow": "25.04.8"
- },
- "timestamp": "2025-10-28T08:10:28.906846753"
- }
-}
\ No newline at end of file
diff --git a/modules/nf-core/openms/idmassaccuracy/tests/nextflow.config b/modules/nf-core/openms/idmassaccuracy/tests/nextflow.config
deleted file mode 100644
index d104b313..00000000
--- a/modules/nf-core/openms/idmassaccuracy/tests/nextflow.config
+++ /dev/null
@@ -1,27 +0,0 @@
-process {
-
- withName:OPENMSTHIRDPARTY_COMETADAPTER {
- ext.args = [
- "-instrument low_res",
- "-fragment_bin_offset 0.4",
- "-precursor_mass_tolerance 5",
- "-precursor_error_units 'ppm'",
- "-fragment_mass_tolerance 0.50025",
- "-digest_mass_range '800:5000'",
- "-max_variable_mods_in_peptide 1",
- "-precursor_charge '2:5'",
- "-activation_method 'CID'",
- "-variable_modifications 'Oxidation (M)'",
- "-enzyme 'unspecific cleavage'",
- "-spectrum_batch_size 0"
- ].join(' ').trim()
- }
-
- withName:OPENMS_IDMASSACCURACY {
- ext.args = [
- "-precursor_error_ppm",
- "-fragment_mass_tolerance 0.50025"
- ].join(' ').trim()
- }
-
-}
diff --git a/modules/nf-core/openms/idmerger/environment.yml b/modules/nf-core/openms/idmerger/environment.yml
index d85a93ef..c8bad1b9 100644
--- a/modules/nf-core/openms/idmerger/environment.yml
+++ b/modules/nf-core/openms/idmerger/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - bioconda::openms=3.4.1
+ - bioconda::openms=3.5.0
diff --git a/modules/nf-core/openms/idmerger/main.nf b/modules/nf-core/openms/idmerger/main.nf
index 421a77f8..ff93ee06 100644
--- a/modules/nf-core/openms/idmerger/main.nf
+++ b/modules/nf-core/openms/idmerger/main.nf
@@ -4,15 +4,15 @@ process OPENMS_IDMERGER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(idxmls)
output:
tuple val(meta), path("*.idXML"), emit: idxml
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -27,11 +27,6 @@ process OPENMS_IDMERGER {
-out ${prefix}.idXML \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -40,10 +35,5 @@ process OPENMS_IDMERGER {
"""
touch ${prefix}.idXML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/openms/idmerger/meta.yml b/modules/nf-core/openms/idmerger/meta.yml
index 002fc578..379a5888 100644
--- a/modules/nf-core/openms/idmerger/meta.yml
+++ b/modules/nf-core/openms/idmerger/meta.yml
@@ -41,12 +41,28 @@ output:
description: Merged idXML output file
pattern: "*.{idXML}"
ontologies: []
+ versions_openms:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
authors:
- "@jonasscheid"
diff --git a/modules/nf-core/openms/idmerger/tests/main.nf.test b/modules/nf-core/openms/idmerger/tests/main.nf.test
index 2f1c3b21..006eb57b 100644
--- a/modules/nf-core/openms/idmerger/tests/main.nf.test
+++ b/modules/nf-core/openms/idmerger/tests/main.nf.test
@@ -26,8 +26,8 @@ nextflow_process {
then {
assertAll(
{ assert process.success },
- { assert snapshot(process.out.versions).match()},
-
+ { assert snapshot(process.out.versions_openms).match()},
+
// check single line substrings in output idxml file
{ assert path(process.out.idxml.get(0).get(1)).readLines().any { it.contains("") }},
{ assert path(process.out.idxml.get(0).get(1)).readLines().any { it.contains("") }},
diff --git a/modules/nf-core/openms/idmerger/tests/main.nf.test.snap b/modules/nf-core/openms/idmerger/tests/main.nf.test.snap
index a2edce86..13e6f7a8 100644
--- a/modules/nf-core/openms/idmerger/tests/main.nf.test.snap
+++ b/modules/nf-core/openms/idmerger/tests/main.nf.test.snap
@@ -2,14 +2,18 @@
"proteomics - openms - idxml": {
"content": [
[
- "versions.yml:md5,80b0fb4560c930fd7b9c31dbbd3f66d2"
+ [
+ "OPENMS_IDMERGER",
+ "openms",
+ "3.5.0"
+ ]
]
],
"meta": {
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T08:54:12.914656629"
+ "timestamp": "2026-01-12T10:06:10.948172124"
},
"proteomics - openms - idxml - stub": {
"content": [
@@ -23,7 +27,11 @@
]
],
"1": [
- "versions.yml:md5,80b0fb4560c930fd7b9c31dbbd3f66d2"
+ [
+ "OPENMS_IDMERGER",
+ "openms",
+ "3.5.0"
+ ]
],
"idxml": [
[
@@ -33,8 +41,12 @@
"test.idXML:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
- "versions": [
- "versions.yml:md5,80b0fb4560c930fd7b9c31dbbd3f66d2"
+ "versions_openms": [
+ [
+ "OPENMS_IDMERGER",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -42,6 +54,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T08:54:41.780756135"
+ "timestamp": "2026-01-12T10:06:23.802686751"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/openms/idripper/environment.yml b/modules/nf-core/openms/idripper/environment.yml
index ad4685c0..fd1026d7 100644
--- a/modules/nf-core/openms/idripper/environment.yml
+++ b/modules/nf-core/openms/idripper/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - "bioconda::openms=3.4.1"
+ - "bioconda::openms=3.5.0"
diff --git a/modules/nf-core/openms/idripper/main.nf b/modules/nf-core/openms/idripper/main.nf
index e545b906..7086be23 100644
--- a/modules/nf-core/openms/idripper/main.nf
+++ b/modules/nf-core/openms/idripper/main.nf
@@ -4,15 +4,15 @@ process OPENMS_IDRIPPER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1':
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0':
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(merged_idxml)
output:
tuple val(meta), path("*.idXML"), emit: idxmls
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -27,11 +27,6 @@ process OPENMS_IDRIPPER {
-out . \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -41,10 +36,5 @@ process OPENMS_IDRIPPER {
"""
touch ${prefix}_1.idXML
touch ${prefix}_2.idXML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/openms/idripper/meta.yml b/modules/nf-core/openms/idripper/meta.yml
index 72e62935..47ee04f5 100644
--- a/modules/nf-core/openms/idripper/meta.yml
+++ b/modules/nf-core/openms/idripper/meta.yml
@@ -1,6 +1,6 @@
name: openms_idripper
-description: Split a merged identification file into their originating identification
- files
+description: Split a merged identification file into their originating
+ identification files
keywords:
- split
- idXML
@@ -40,13 +40,29 @@ output:
description: Multiple idXML files
pattern: "*.{idXML}"
ontologies: []
+ versions_openms:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
authors:
- "@jonasscheid"
maintainers:
diff --git a/modules/nf-core/openms/idripper/tests/main.nf.test.snap b/modules/nf-core/openms/idripper/tests/main.nf.test.snap
index 6192f348..07853ac9 100644
--- a/modules/nf-core/openms/idripper/tests/main.nf.test.snap
+++ b/modules/nf-core/openms/idripper/tests/main.nf.test.snap
@@ -14,7 +14,11 @@
]
],
"1": [
- "versions.yml:md5,3949806b2abeb3db36c6dc0596f39a14"
+ [
+ "OPENMS_IDRIPPER",
+ "openms",
+ "3.5.0"
+ ]
],
"idxmls": [
[
@@ -27,8 +31,12 @@
]
]
],
- "versions": [
- "versions.yml:md5,3949806b2abeb3db36c6dc0596f39a14"
+ "versions_openms": [
+ [
+ "OPENMS_IDRIPPER",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -36,7 +44,7 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T08:55:11.687007226"
+ "timestamp": "2026-01-12T10:06:47.478212501"
},
"proteomics - split - idxml - stub": {
"content": [
@@ -53,7 +61,11 @@
]
],
"1": [
- "versions.yml:md5,3949806b2abeb3db36c6dc0596f39a14"
+ [
+ "OPENMS_IDRIPPER",
+ "openms",
+ "3.5.0"
+ ]
],
"idxmls": [
[
@@ -66,8 +78,12 @@
]
]
],
- "versions": [
- "versions.yml:md5,3949806b2abeb3db36c6dc0596f39a14"
+ "versions_openms": [
+ [
+ "OPENMS_IDRIPPER",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -75,6 +91,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T08:55:38.405209447"
+ "timestamp": "2026-01-12T10:07:10.700393001"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/openms/idscoreswitcher/environment.yml b/modules/nf-core/openms/idscoreswitcher/environment.yml
index ad4685c0..fd1026d7 100644
--- a/modules/nf-core/openms/idscoreswitcher/environment.yml
+++ b/modules/nf-core/openms/idscoreswitcher/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - "bioconda::openms=3.4.1"
+ - "bioconda::openms=3.5.0"
diff --git a/modules/nf-core/openms/idscoreswitcher/main.nf b/modules/nf-core/openms/idscoreswitcher/main.nf
index 6911b2c5..0f4afdc2 100644
--- a/modules/nf-core/openms/idscoreswitcher/main.nf
+++ b/modules/nf-core/openms/idscoreswitcher/main.nf
@@ -4,15 +4,15 @@ process OPENMS_IDSCORESWITCHER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1':
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0':
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(idxml)
output:
tuple val(meta), path("*.idXML"), emit: idxml
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -28,11 +28,6 @@ process OPENMS_IDSCORESWITCHER {
-out ${prefix}.idXML \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -42,10 +37,5 @@ process OPENMS_IDSCORESWITCHER {
"""
touch ${prefix}.idXML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/openms/idscoreswitcher/meta.yml b/modules/nf-core/openms/idscoreswitcher/meta.yml
index 2a00b66b..fe1fbd3e 100644
--- a/modules/nf-core/openms/idscoreswitcher/meta.yml
+++ b/modules/nf-core/openms/idscoreswitcher/meta.yml
@@ -1,6 +1,6 @@
name: "openms_idscoreswitcher"
-description: Switches between different scores of peptide or protein hits in identification
- data
+description: Switches between different scores of peptide or protein hits in
+ identification data
keywords:
- switch
- score
@@ -43,13 +43,29 @@ output:
obtained from a specified meta value
pattern: "*.{idXML}"
ontologies: []
+ versions_openms:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
authors:
- "@jonasscheid"
maintainers:
diff --git a/modules/nf-core/openms/idscoreswitcher/tests/main.nf.test.snap b/modules/nf-core/openms/idscoreswitcher/tests/main.nf.test.snap
index c9d84825..35fe46f0 100644
--- a/modules/nf-core/openms/idscoreswitcher/tests/main.nf.test.snap
+++ b/modules/nf-core/openms/idscoreswitcher/tests/main.nf.test.snap
@@ -11,7 +11,11 @@
]
],
"1": [
- "versions.yml:md5,658341a6b21a155b1c141c94c54c4ae3"
+ [
+ "OPENMS_IDSCORESWITCHER",
+ "openms",
+ "3.5.0"
+ ]
],
"idxml": [
[
@@ -21,8 +25,12 @@
"test.idXML:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
- "versions": [
- "versions.yml:md5,658341a6b21a155b1c141c94c54c4ae3"
+ "versions_openms": [
+ [
+ "OPENMS_IDSCORESWITCHER",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -30,7 +38,7 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T09:04:11.118518193"
+ "timestamp": "2026-01-12T10:07:57.184605459"
},
"proteomics - switch_score - idxml": {
"content": [
@@ -44,7 +52,11 @@
]
],
"1": [
- "versions.yml:md5,658341a6b21a155b1c141c94c54c4ae3"
+ [
+ "OPENMS_IDSCORESWITCHER",
+ "openms",
+ "3.5.0"
+ ]
],
"idxml": [
[
@@ -54,8 +66,12 @@
"test.idXML:md5,0db3dfe3dc491ec94ebd951ca6e2c2e4"
]
],
- "versions": [
- "versions.yml:md5,658341a6b21a155b1c141c94c54c4ae3"
+ "versions_openms": [
+ [
+ "OPENMS_IDSCORESWITCHER",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -63,6 +79,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T09:03:44.673575882"
+ "timestamp": "2026-01-12T10:07:32.62082728"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/openms/peakpickerhires/environment.yml b/modules/nf-core/openms/peakpickerhires/environment.yml
index 664bf59d..7b287592 100644
--- a/modules/nf-core/openms/peakpickerhires/environment.yml
+++ b/modules/nf-core/openms/peakpickerhires/environment.yml
@@ -2,4 +2,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - "bioconda::openms=3.4.1"
+ - "bioconda::openms=3.5.0"
diff --git a/modules/nf-core/openms/peakpickerhires/main.nf b/modules/nf-core/openms/peakpickerhires/main.nf
index 9ac6e935..c30b79aa 100644
--- a/modules/nf-core/openms/peakpickerhires/main.nf
+++ b/modules/nf-core/openms/peakpickerhires/main.nf
@@ -4,15 +4,15 @@ process OPENMS_PEAKPICKERHIRES {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(mzml)
output:
tuple val(meta), path("*.mzML"), emit: mzml
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -27,11 +27,6 @@ process OPENMS_PEAKPICKERHIRES {
-out ${prefix}.mzML \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -40,10 +35,5 @@ process OPENMS_PEAKPICKERHIRES {
"""
touch ${prefix}.mzML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/openms/peakpickerhires/meta.yml b/modules/nf-core/openms/peakpickerhires/meta.yml
index db8feaad..100c5b19 100644
--- a/modules/nf-core/openms/peakpickerhires/meta.yml
+++ b/modules/nf-core/openms/peakpickerhires/meta.yml
@@ -1,6 +1,6 @@
name: "openms_peakpickerhires"
-description: A tool for peak detection in high-resolution profile data (Orbitrap or
- FTICR)
+description: A tool for peak detection in high-resolution profile data (Orbitrap
+ or FTICR)
keywords:
- peak picking
- mzml
@@ -40,13 +40,29 @@ output:
description: Peak-picked mass spectrometer output file in mzML format
pattern: "*.{mzML}"
ontologies: []
+ versions_openms:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
authors:
- "@jonasscheid"
maintainers:
diff --git a/modules/nf-core/openms/peakpickerhires/tests/main.nf.test b/modules/nf-core/openms/peakpickerhires/tests/main.nf.test
index df2071c4..563aa777 100644
--- a/modules/nf-core/openms/peakpickerhires/tests/main.nf.test
+++ b/modules/nf-core/openms/peakpickerhires/tests/main.nf.test
@@ -26,7 +26,7 @@ nextflow_process {
assertAll(
{ assert process.success },
{ assert path(process.out.mzml.get(0).get(1)).readLines().contains('\t\t\t') },
- { assert snapshot(process.out.versions).match() }
+ { assert snapshot(process.out.versions_openms).match() }
)
}
diff --git a/modules/nf-core/openms/peakpickerhires/tests/main.nf.test.snap b/modules/nf-core/openms/peakpickerhires/tests/main.nf.test.snap
index 83f15738..a3d88062 100644
--- a/modules/nf-core/openms/peakpickerhires/tests/main.nf.test.snap
+++ b/modules/nf-core/openms/peakpickerhires/tests/main.nf.test.snap
@@ -2,14 +2,18 @@
"proteomics - mzML": {
"content": [
[
- "versions.yml:md5,69c600d25edebd411ef84718668821df"
+ [
+ "OPENMS_PEAKPICKERHIRES",
+ "openms",
+ "3.5.0"
+ ]
]
],
"meta": {
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T09:07:00.776951188"
+ "timestamp": "2026-01-12T10:08:19.636849899"
},
"proteomics - mzML - stub": {
"content": [
@@ -23,7 +27,11 @@
]
],
"1": [
- "versions.yml:md5,69c600d25edebd411ef84718668821df"
+ [
+ "OPENMS_PEAKPICKERHIRES",
+ "openms",
+ "3.5.0"
+ ]
],
"mzml": [
[
@@ -33,8 +41,12 @@
"test_stub.mzML:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
- "versions": [
- "versions.yml:md5,69c600d25edebd411ef84718668821df"
+ "versions_openms": [
+ [
+ "OPENMS_PEAKPICKERHIRES",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -42,6 +54,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T09:07:18.50818535"
+ "timestamp": "2026-01-12T10:08:41.181970232"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/openms/peptideindexer/environment.yml b/modules/nf-core/openms/peptideindexer/environment.yml
index ad4685c0..fd1026d7 100644
--- a/modules/nf-core/openms/peptideindexer/environment.yml
+++ b/modules/nf-core/openms/peptideindexer/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - "bioconda::openms=3.4.1"
+ - "bioconda::openms=3.5.0"
diff --git a/modules/nf-core/openms/peptideindexer/main.nf b/modules/nf-core/openms/peptideindexer/main.nf
index 1456a908..d94a0257 100644
--- a/modules/nf-core/openms/peptideindexer/main.nf
+++ b/modules/nf-core/openms/peptideindexer/main.nf
@@ -4,15 +4,15 @@ process OPENMS_PEPTIDEINDEXER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms:3.4.1--h81ffffe_1' :
- 'biocontainers/openms:3.4.1--h81ffffe_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms:3.5.0--h78fb946_0' :
+ 'biocontainers/openms:3.5.0--h78fb946_0' }"
input:
tuple val(meta), path(idxml), path(fasta)
output:
tuple val(meta), path("*.idXML"), emit: indexed_idxml
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('openms'), eval("FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_openms, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -30,11 +30,6 @@ process OPENMS_PEPTIDEINDEXER {
-out ${prefix}.idXML \\
-threads $task.cpus \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
stub:
@@ -43,10 +38,5 @@ process OPENMS_PEPTIDEINDEXER {
"""
touch ${prefix}.idXML
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- openms: \$(echo \$(FileInfo --help 2>&1) | sed 's/^.*Version: //; s/-.*\$//' | sed 's/ -*//; s/ .*\$//')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/openms/peptideindexer/meta.yml b/modules/nf-core/openms/peptideindexer/meta.yml
index 1c200b5d..a635472f 100644
--- a/modules/nf-core/openms/peptideindexer/meta.yml
+++ b/modules/nf-core/openms/peptideindexer/meta.yml
@@ -43,13 +43,29 @@ output:
description: Refreshed idXML identification file
pattern: "*.idXML"
ontologies: []
+ versions_openms:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - openms:
+ type: string
+ description: The name of the tool
+ - "FileInfo --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+
authors:
- "@jonasscheid"
maintainers:
diff --git a/modules/nf-core/openms/peptideindexer/tests/main.nf.test.snap b/modules/nf-core/openms/peptideindexer/tests/main.nf.test.snap
index 0aa17984..9c849cb4 100644
--- a/modules/nf-core/openms/peptideindexer/tests/main.nf.test.snap
+++ b/modules/nf-core/openms/peptideindexer/tests/main.nf.test.snap
@@ -11,7 +11,11 @@
]
],
"1": [
- "versions.yml:md5,c2965a55db2530b792b1620a935107d2"
+ [
+ "OPENMS_PEPTIDEINDEXER",
+ "openms",
+ "3.5.0"
+ ]
],
"indexed_idxml": [
[
@@ -21,8 +25,12 @@
"test_indexed.idXML:md5,ab771bf6bec1b88babd608cbf3b57144"
]
],
- "versions": [
- "versions.yml:md5,c2965a55db2530b792b1620a935107d2"
+ "versions_openms": [
+ [
+ "OPENMS_PEPTIDEINDEXER",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -30,7 +38,7 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T08:11:48.453753483"
+ "timestamp": "2026-01-12T10:09:11.498692207"
},
"proteomics - refresh_idxml - stub": {
"content": [
@@ -44,7 +52,11 @@
]
],
"1": [
- "versions.yml:md5,c2965a55db2530b792b1620a935107d2"
+ [
+ "OPENMS_PEPTIDEINDEXER",
+ "openms",
+ "3.5.0"
+ ]
],
"indexed_idxml": [
[
@@ -54,8 +66,12 @@
"test_indexed.idXML:md5,d41d8cd98f00b204e9800998ecf8427e"
]
],
- "versions": [
- "versions.yml:md5,c2965a55db2530b792b1620a935107d2"
+ "versions_openms": [
+ [
+ "OPENMS_PEPTIDEINDEXER",
+ "openms",
+ "3.5.0"
+ ]
]
}
],
@@ -63,6 +79,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T08:12:25.400421367"
+ "timestamp": "2026-01-12T10:09:30.793034749"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/openmsthirdparty/cometadapter/environment.yml b/modules/nf-core/openmsthirdparty/cometadapter/environment.yml
index 7e9c2818..45f695a6 100644
--- a/modules/nf-core/openmsthirdparty/cometadapter/environment.yml
+++ b/modules/nf-core/openmsthirdparty/cometadapter/environment.yml
@@ -4,4 +4,4 @@ channels:
- conda-forge
- bioconda
dependencies:
- - "bioconda::openms-thirdparty=3.4.1"
+ - "bioconda::openms-thirdparty=3.5.0"
diff --git a/modules/nf-core/openmsthirdparty/cometadapter/main.nf b/modules/nf-core/openmsthirdparty/cometadapter/main.nf
index 27fc32fd..14e85a3f 100644
--- a/modules/nf-core/openmsthirdparty/cometadapter/main.nf
+++ b/modules/nf-core/openmsthirdparty/cometadapter/main.nf
@@ -4,8 +4,8 @@ process OPENMSTHIRDPARTY_COMETADAPTER {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/openms-thirdparty:3.4.1--h9ee0642_1' :
- 'biocontainers/openms-thirdparty:3.4.1--h9ee0642_1' }"
+ 'https://depot.galaxyproject.org/singularity/openms-thirdparty:3.5.0--h9ee0642_0' :
+ 'biocontainers/openms-thirdparty:3.5.0--h9ee0642_0' }"
input:
tuple val(meta), path(mzml), path(fasta)
@@ -13,7 +13,8 @@ process OPENMSTHIRDPARTY_COMETADAPTER {
output:
tuple val(meta), path("*.idXML"), emit: idxml
tuple val(meta), path("*.tsv") , emit: pin, optional: true
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('CometAdapter'), eval("CometAdapter --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'"), emit: versions_cometadapter, topic: versions
+ tuple val("${task.process}"), val('Comet'), eval("comet 2>&1 | sed -n 's/.*Comet version \" *\\(.*\\)\".*/\\1/p'"), emit: versions_comet, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -29,13 +30,6 @@ process OPENMSTHIRDPARTY_COMETADAPTER {
-out ${prefix}.idXML \\
-threads $task.cpus \\
$args
-
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- CometAdapter: \$(CometAdapter 2>&1 | grep -E '^Version(.*)' | sed 's/Version: //g' | cut -d ' ' -f 1 | cut -d '-' -f 1)
- Comet: \$(comet 2>&1 | grep -E "Comet version.*" | sed 's/Comet version //g' | sed 's/"//g')
- END_VERSIONS
"""
stub:
@@ -45,11 +39,5 @@ process OPENMSTHIRDPARTY_COMETADAPTER {
"""
touch ${prefix}.idXML
touch ${prefix}_pin.tsv
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- CometAdapter: \$(CometAdapter 2>&1 | grep -E '^Version(.*)' | sed 's/Version: //g' | cut -d ' ' -f 1 | cut -d '-' -f 1)
- Comet: \$(comet 2>&1 | grep -E "Comet version.*" | sed 's/Comet version //g' | sed 's/"//g')
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/openmsthirdparty/cometadapter/meta.yml b/modules/nf-core/openmsthirdparty/cometadapter/meta.yml
index 50c1e1e4..70cda434 100644
--- a/modules/nf-core/openmsthirdparty/cometadapter/meta.yml
+++ b/modules/nf-core/openmsthirdparty/cometadapter/meta.yml
@@ -16,7 +16,18 @@ tools:
doi: "10.1038/s41592-024-02197-7"
licence: ["BSD"]
identifier: ""
+ - CometAdapter:
+ description: "Annotates MS/MS spectra using Comet."
+ homepage: "https://openms.de"
+ documentation: "https://openms.readthedocs.io/en/latest/index.html"
+ identifier: ""
+ - Comet:
+ description: "Comet is an open source tandem mass spectrometry (MS/MS) sequence
+ database search tool."
+ homepage: "http://comet-ms.sourceforge.net/"
+ documentation: "http://comet-ms.sourceforge.net/"
+ identifier: ""
input:
- - meta:
type: map
@@ -57,13 +68,48 @@ output:
pattern: "*.{tsv}"
ontologies:
- edam: http://edamontology.org/format_3475 # TSV
+ versions_cometadapter:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - CometAdapter:
+ type: string
+ description: The name of the tool
+ - "CometAdapter --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+ versions_comet:
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - Comet:
+ type: string
+ description: The name of the tool
+ - comet 2>&1 | sed -n 's/.*Comet version " *\(.*\)".*/\1/p':
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - CometAdapter:
+ type: string
+ description: The name of the tool
+ - "CometAdapter --help 2>&1 | sed -nE 's/^Version: ([0-9.]+).*/\\1/p'":
+ type: eval
+ description: The expression to obtain the version of the tool
+ - - ${task.process}:
+ type: string
+ description: The name of the process
+ - Comet:
+ type: string
+ description: The name of the tool
+ - comet 2>&1 | sed -n 's/.*Comet version " *\(.*\)".*/\1/p':
+ type: eval
+ description: The expression to obtain the version of the tool
+
authors:
- "@jonasscheid"
maintainers:
diff --git a/modules/nf-core/openmsthirdparty/cometadapter/tests/main.nf.test b/modules/nf-core/openmsthirdparty/cometadapter/tests/main.nf.test
index a94b41e9..d43d461b 100644
--- a/modules/nf-core/openmsthirdparty/cometadapter/tests/main.nf.test
+++ b/modules/nf-core/openmsthirdparty/cometadapter/tests/main.nf.test
@@ -59,7 +59,7 @@ nextflow_process {
// Make sure the file is not empty
assert file(process.out.idxml[0][1]).readLines().any { it.contains('ProteinHit') }
assert file(process.out.idxml[0][1]).readLines().any { it.contains('PeptideHit') }
- assert snapshot(path(process.out.versions.get(0)).yaml).match("versions")
+ assert snapshot(process.out.versions_cometadapter, process.out.versions_comet).match("versions")
}
}
diff --git a/modules/nf-core/openmsthirdparty/cometadapter/tests/main.nf.test.snap b/modules/nf-core/openmsthirdparty/cometadapter/tests/main.nf.test.snap
index 81a248a8..7fd6dbba 100644
--- a/modules/nf-core/openmsthirdparty/cometadapter/tests/main.nf.test.snap
+++ b/modules/nf-core/openmsthirdparty/cometadapter/tests/main.nf.test.snap
@@ -43,17 +43,25 @@
},
"versions": {
"content": [
- {
- "OPENMSTHIRDPARTY_COMETADAPTER": {
- "CometAdapter": "3.4.1",
- "Comet": "2024.01 rev. 1"
- }
- }
+ [
+ [
+ "OPENMSTHIRDPARTY_COMETADAPTER",
+ "CometAdapter",
+ "3.5.0"
+ ]
+ ],
+ [
+ [
+ "OPENMSTHIRDPARTY_COMETADAPTER",
+ "Comet",
+ "2024.01 rev. 1"
+ ]
+ ]
],
"meta": {
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T08:16:50.757046344"
+ "timestamp": "2026-01-12T12:27:11.62435964"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/thermorawfileparser/main.nf b/modules/nf-core/thermorawfileparser/main.nf
index 4f407e97..bb790b1c 100644
--- a/modules/nf-core/thermorawfileparser/main.nf
+++ b/modules/nf-core/thermorawfileparser/main.nf
@@ -12,7 +12,7 @@ process THERMORAWFILEPARSER {
output:
tuple val(meta), path("*.{mzML,mzML.gz,mgf,mgf.gz,parquet,parquet.gz}"), emit: spectra
- path "versions.yml" , emit: versions
+ tuple val("${task.process}"), val('thermorawfileparser'), eval("ThermoRawFileParser.sh --version"), emit: versions_thermorawfileparser, topic: versions
when:
task.ext.when == null || task.ext.when
@@ -32,11 +32,6 @@ process THERMORAWFILEPARSER {
-i $raw \\
-b ${prefix}.${suffix} \\
$args
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- thermorawfileparser: \$(ThermoRawFileParser.sh --version)
- END_VERSIONS
"""
stub:
@@ -51,10 +46,5 @@ process THERMORAWFILEPARSER {
"""
touch ${prefix}.${suffix}
-
- cat <<-END_VERSIONS > versions.yml
- "${task.process}":
- thermorawfileparser: \$(ThermoRawFileParser.sh --version)
- END_VERSIONS
"""
}
diff --git a/modules/nf-core/thermorawfileparser/meta.yml b/modules/nf-core/thermorawfileparser/meta.yml
index 26e37e07..ecd33189 100644
--- a/modules/nf-core/thermorawfileparser/meta.yml
+++ b/modules/nf-core/thermorawfileparser/meta.yml
@@ -1,5 +1,6 @@
name: "thermorawfileparser"
-description: Parses a Thermo RAW file containing mass spectra to an open file format
+description: Parses a Thermo RAW file containing mass spectra to an open file
+ format
keywords:
- raw
- mzml
@@ -41,13 +42,29 @@ output:
description: Mass spectra in open format
pattern: "*.{mzML,mzML.gz,mgf,mgf.gz,parquet,parquet.gz}"
ontologies: []
+ versions_thermorawfileparser:
+ - - ${task.process}:
+ type: string
+ description: The process the versions were collected from
+ - thermorawfileparser:
+ type: string
+ description: The name of the tool
+ - ThermoRawFileParser.sh --version:
+ type: eval
+ description: The expression to obtain the version of the tool
+
+topics:
versions:
- - versions.yml:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
- ontologies:
- - edam: http://edamontology.org/format_3750 # YAML
+ - - ${task.process}:
+ type: string
+ description: The process the versions were collected from
+ - thermorawfileparser:
+ type: string
+ description: The name of the tool
+ - ThermoRawFileParser.sh --version:
+ type: eval
+ description: The expression to obtain the version of the tool
+
authors:
- "@jonasscheid"
maintainers:
diff --git a/modules/nf-core/thermorawfileparser/tests/main.nf.test.snap b/modules/nf-core/thermorawfileparser/tests/main.nf.test.snap
index 62a55e3f..a9ad37eb 100644
--- a/modules/nf-core/thermorawfileparser/tests/main.nf.test.snap
+++ b/modules/nf-core/thermorawfileparser/tests/main.nf.test.snap
@@ -52,7 +52,11 @@
]
],
"1": [
- "versions.yml:md5,92962c5af8265404031d46df0bda0eff"
+ [
+ "THERMORAWFILEPARSER",
+ "thermorawfileparser",
+ "1.4.5"
+ ]
],
"spectra": [
[
@@ -63,14 +67,18 @@
]
],
"versions": [
- "versions.yml:md5,92962c5af8265404031d46df0bda0eff"
+ [
+ "THERMORAWFILEPARSER",
+ "thermorawfileparser",
+ "1.4.5"
+ ]
]
}
],
"meta": {
- "nf-test": "0.9.2",
- "nextflow": "24.10.4"
+ "nf-test": "0.9.3",
+ "nextflow": "25.04.8"
},
- "timestamp": "2025-02-14T11:00:58.349510248"
+ "timestamp": "2026-01-27T17:25:10.402558587"
}
}
\ No newline at end of file
diff --git a/subworkflows/local/map_alignment/main.nf b/subworkflows/local/map_alignment/main.nf
index 7ec18631..8ee871d5 100644
--- a/subworkflows/local/map_alignment/main.nf
+++ b/subworkflows/local/map_alignment/main.nf
@@ -14,11 +14,8 @@ workflow MAP_ALIGNMENT {
merge_meta_map
main:
- ch_versions = channel.empty()
-
// Compute group-wise alignment rt transformation
OPENMS_MAPALIGNERIDENTIFICATION( ch_runs_to_be_aligned )
- ch_versions = ch_versions.mix(OPENMS_MAPALIGNERIDENTIFICATION.out.versions)
// Join run specific trafoXMLs with meta information
merge_meta_map
@@ -32,7 +29,6 @@ workflow MAP_ALIGNMENT {
// Align mzML files using trafoXMLs
ch_trafos_mzmls = ch_mzml.join(ch_trafos)
OPENMS_MAPRTTRANSFORMERMZML(ch_trafos_mzmls)
- ch_versions = ch_versions.mix(OPENMS_MAPRTTRANSFORMERMZML.out.versions)
// Align idXMLfiles using trafoXMLs
ch_runs_to_be_aligned
@@ -45,10 +41,8 @@ workflow MAP_ALIGNMENT {
.set { ch_trafos_idxml }
OPENMS_MAPRTTRANSFORMERIDXML(ch_trafos_idxml)
- ch_versions = ch_versions.mix(OPENMS_MAPRTTRANSFORMERIDXML.out.versions)
emit:
- versions = ch_versions
aligned_idxml = OPENMS_MAPRTTRANSFORMERIDXML.out.aligned
aligned_mzml = OPENMS_MAPRTTRANSFORMERMZML.out.aligned
}
diff --git a/subworkflows/local/prepare_spectra/main.nf b/subworkflows/local/prepare_spectra/main.nf
index 751778fa..d51a6f48 100644
--- a/subworkflows/local/prepare_spectra/main.nf
+++ b/subworkflows/local/prepare_spectra/main.nf
@@ -14,8 +14,6 @@ workflow PREPARE_SPECTRA {
ch_samplesheet
main:
- ch_versions = channel.empty()
-
ch_samplesheet
.branch {
meta, filename ->
@@ -36,14 +34,11 @@ workflow PREPARE_SPECTRA {
// Raw file conversion
THERMORAWFILEPARSER(branched_ms_files.raw)
- ch_versions = ch_versions.mix(THERMORAWFILEPARSER.out.versions)
// Decompress timsTOF archive for data conversion
UNTAR(branched_ms_files.d_tar)
- ch_versions = ch_versions.mix(UNTAR.out.versions)
UNZIP(branched_ms_files.d_zip)
- ch_versions = ch_versions.mix(UNZIP.out.versions)
ch_tdf_files = branched_ms_files.d
.mix(UNTAR.out.untar,
@@ -51,11 +46,10 @@ workflow PREPARE_SPECTRA {
// timsTOF data conversion
TDF2MZML(ch_tdf_files)
- ch_versions = ch_versions.mix(TDF2MZML.out.versions)
// Gunzip mzML files
GUNZIP(branched_ms_files.mzml_gz)
- ch_versions = ch_versions.mix(GUNZIP.out.versions)
+ // ch_versions = ch_versions.mix(GUNZIP.out.versions)
// Initialize channel for ms files that do not need to be converted
ch_ms_files = branched_ms_files.mzml
.mix(GUNZIP.out.gunzip,
@@ -65,7 +59,7 @@ workflow PREPARE_SPECTRA {
// Optional: Run Peak Picking as Preprocessing
if (params.run_centroidisation) {
OPENMS_PEAKPICKERHIRES(ch_ms_files)
- ch_versions = ch_versions.mix(OPENMS_PEAKPICKERHIRES.out.versions)
+ // ch_versions = ch_versions.mix(OPENMS_PEAKPICKERHIRES.out.versions)
ch_mzml_file = OPENMS_PEAKPICKERHIRES.out.mzml
} else {
ch_mzml_file = ch_ms_files
@@ -73,5 +67,4 @@ workflow PREPARE_SPECTRA {
emit:
mzml = ch_mzml_file
- versions = ch_versions
}
diff --git a/subworkflows/local/process_feature/main.nf b/subworkflows/local/process_feature/main.nf
index 24be4a5d..0807a363 100644
--- a/subworkflows/local/process_feature/main.nf
+++ b/subworkflows/local/process_feature/main.nf
@@ -12,14 +12,11 @@ workflow PROCESS_FEATURE {
ch_runs_to_be_quantified
main:
- ch_versions = channel.empty()
-
// Quantify identifications using targeted feature extraction
OPENMS_FEATUREFINDERIDENTIFICATION(ch_runs_to_be_quantified).featurexml
.map { meta, featurexml -> [ groupKey([id: "${meta.sample}_${meta.condition}"], meta.group_count), featurexml] }
.groupTuple()
.set { ch_featuresxmls }
- ch_versions = ch_versions.mix(OPENMS_FEATUREFINDERIDENTIFICATION.out.versions)
ch_featuresxmls
.branch {
@@ -30,7 +27,6 @@ workflow PROCESS_FEATURE {
// Link extracted features
OPENMS_FEATURELINKERUNLABELEDKD(ch_features.multiple)
- ch_versions = ch_versions.mix(OPENMS_FEATURELINKERUNLABELEDKD.out.versions)
// Single replicate: promote featureXML to consensusXML
OPENMS_FILECONVERTER(ch_features.single.map { meta, features -> [ meta, features[0], "consensusXML" ] })
@@ -41,10 +37,7 @@ workflow PROCESS_FEATURE {
.mix(OPENMS_FILECONVERTER.out.consensusxml)
OPENMS_IDCONFLICTRESOLVER(ch_consensus_input)
- ch_versions = ch_versions.mix(OPENMS_IDCONFLICTRESOLVER.out.versions)
emit:
- // Define the information that is returned by this workflow
- versions = ch_versions
consensusxml = OPENMS_IDCONFLICTRESOLVER.out.consensusxml
}
diff --git a/subworkflows/local/quant/main.nf b/subworkflows/local/quant/main.nf
index ae5b257e..a3ba3444 100644
--- a/subworkflows/local/quant/main.nf
+++ b/subworkflows/local/quant/main.nf
@@ -25,7 +25,6 @@ workflow QUANT {
mzml
main:
- ch_versions = channel.empty()
// Split post-percolator idXML files and manipulate such that we end up with [meta_run1, idxml_run1] [meta_run2, idxml_run2] ...
// We need to make sure that the order of the runs is the same as in the mzml files since IDRipper always sorts the runs
// (and nextflow does not guarantee the order of the maps in merged_meta_map)
@@ -38,12 +37,10 @@ workflow QUANT {
.map { meta -> [[spectra:meta.spectra], meta]} )
.map { spectra, idxmls, meta -> [meta, idxmls] }
.set { ch_ripped_idxml }
- ch_versions = ch_versions.mix(OPENMS_IDRIPPER.out.versions)
// Switch to xcorr for filtering since q-values are set to 1 with peptide-level-fdr
if (params.fdr_level == 'peptide_level_fdrs'){
ch_runs_score_switched = OPENMS_IDSCORESWITCHER( ch_ripped_idxml ).idxml
- ch_versions = ch_versions.mix(OPENMS_IDSCORESWITCHER.out.versions)
} else {
ch_runs_score_switched = ch_ripped_idxml
}
@@ -61,7 +58,6 @@ workflow QUANT {
.map { meta, idxml -> [ groupKey([id:"${meta.sample}_${meta.condition}"], meta.group_count), idxml] }
.groupTuple()
.set { ch_runs_to_be_aligned }
- ch_versions = ch_versions.mix(OPENMS_IDFILTER_QUANT.out.versions)
// Align retention times of runs
MAP_ALIGNMENT(
@@ -69,13 +65,11 @@ workflow QUANT {
mzml,
merge_meta_map
)
- ch_versions = ch_versions.mix( MAP_ALIGNMENT.out.versions )
// We need to merge groupwise the aligned idxml files together to use them as id_ext in featurefinder
OPENMS_IDMERGER_QUANT( MAP_ALIGNMENT.out.aligned_idxml
.map { meta, aligned_idxml -> [ groupKey([id: "${meta.sample}_${meta.condition}"], meta.group_count), aligned_idxml] }
.groupTuple())
- ch_versions = ch_versions.mix(OPENMS_IDMERGER_QUANT.out.versions)
// Manipulate channels such that we end up with : [meta, mzml, run_idxml, merged_runs_idxml]
MAP_ALIGNMENT.out.aligned_mzml
@@ -89,12 +83,9 @@ workflow QUANT {
.set { ch_runs_to_be_quantified }
PROCESS_FEATURE ( ch_runs_to_be_quantified )
- ch_versions = ch_versions.mix(PROCESS_FEATURE.out.versions)
OPENMS_MZTABEXPORTER(PROCESS_FEATURE.out.consensusxml)
- ch_versions = ch_versions.mix(OPENMS_MZTABEXPORTER.out.versions)
emit:
consensusxml = PROCESS_FEATURE.out.consensusxml
- versions = ch_versions
}
diff --git a/subworkflows/local/rescore/main.nf b/subworkflows/local/rescore/main.nf
index ff41171b..d6b503a1 100644
--- a/subworkflows/local/rescore/main.nf
+++ b/subworkflows/local/rescore/main.nf
@@ -28,11 +28,8 @@ workflow RESCORE {
ch_multiqc_files
main:
- ch_versions = channel.empty()
-
// Compute features via ms2rescore
MS2RESCORE(ch_merged_runs)
- ch_versions = ch_versions.mix(MS2RESCORE.out.versions)
if (params.rescoring_engine == 'mokapot') {
log.warn "The rescoring engine is set to mokapot. This rescoring engine currently only supports psm-level-fdr via ms2rescore."
@@ -41,22 +38,18 @@ workflow RESCORE {
}
// Switch comet e-value to mokapot q-value
OPENMS_IDSCORESWITCHER(MS2RESCORE.out.idxml)
- ch_versions = ch_versions.mix(OPENMS_IDSCORESWITCHER.out.versions)
ch_rescored_runs = OPENMS_IDSCORESWITCHER.out.idxml
// Filter by mokapot q-value
OPENMS_IDFILTER_Q_VALUE(ch_rescored_runs.map {group_meta, idxml -> [group_meta, idxml, []]})
- ch_versions = ch_versions.mix(OPENMS_IDFILTER_Q_VALUE.out.versions)
ch_filter_q_value = OPENMS_IDFILTER_Q_VALUE.out.filtered
} else {
// Extract PSM features for Percolator
OPENMS_PSMFEATUREEXTRACTOR(MS2RESCORE.out.idxml.join(MS2RESCORE.out.feature_names))
- ch_versions = ch_versions.mix(OPENMS_PSMFEATUREEXTRACTOR.out.versions)
// Run Percolator with local FDR
OPENMS_PERCOLATORADAPTER(OPENMS_PSMFEATUREEXTRACTOR.out.idxml)
- ch_versions = ch_versions.mix(OPENMS_PERCOLATORADAPTER.out.versions)
ch_multiqc_files = ch_multiqc_files.mix(OPENMS_PERCOLATORADAPTER.out.feature_weights.map{ meta, feature_weights -> feature_weights })
ch_pout = OPENMS_PERCOLATORADAPTER.out.idxml
@@ -68,7 +61,6 @@ workflow RESCORE {
ch_rescored_runs = OPENMS_PERCOLATORADAPTER_GLOBAL.out.idxml
// Filter by global percolator q-value
OPENMS_IDFILTER_Q_VALUE_GLOBAL(ch_rescored_runs.map {id, idxml -> [id, idxml, []]})
- ch_versions = ch_versions.mix(OPENMS_IDFILTER_Q_VALUE_GLOBAL.out.versions)
// Backfilter sample_condition runs according to global FDR
OPENMS_IDFILTER_GLOBAL(ch_pout.combine(OPENMS_IDFILTER_Q_VALUE_GLOBAL.out.filtered.map{ it[1] }))
ch_filter_q_value = OPENMS_IDFILTER_GLOBAL.out.filtered
@@ -79,7 +71,6 @@ workflow RESCORE {
ch_rescored_runs = ch_pout
// Filter by percolator q-value
OPENMS_IDFILTER_Q_VALUE(ch_rescored_runs.map {group_meta, idxml -> [group_meta, idxml, []]})
- ch_versions = ch_versions.mix(OPENMS_IDFILTER_Q_VALUE.out.versions)
ch_filter_q_value = OPENMS_IDFILTER_Q_VALUE.out.filtered
}
}
@@ -87,6 +78,5 @@ workflow RESCORE {
emit:
rescored_runs = ch_rescored_runs
fdr_filtered = ch_filter_q_value
- versions = ch_versions
multiqc_files = ch_multiqc_files
}
diff --git a/subworkflows/local/speclib/main.nf b/subworkflows/local/speclib/main.nf
index 50ea5faa..cfe22ad8 100644
--- a/subworkflows/local/speclib/main.nf
+++ b/subworkflows/local/speclib/main.nf
@@ -21,14 +21,11 @@ workflow SPECLIB {
mzml
main:
- ch_versions = channel.empty()
-
// Load unimod tables (Future:)
unimod = file("$projectDir/assets/250120_unimod_tables.xml", checkIfExists: true)
// Convert psms and spectra to pickle files
EASYPQP_CONVERT(fdrfiltered_comet_idxml.join(mzml), unimod)
- ch_versions = ch_versions.mix(EASYPQP_CONVERT.out.versions)
EASYPQP_CONVERT.out.psmpkl
.map { meta, psmpkl -> [groupKey([id: "${meta.sample}_${meta.condition}"], meta.group_count), psmpkl] }
@@ -41,7 +38,6 @@ workflow SPECLIB {
// Generate spectrum library for each sample-condition pair
EASYPQP_LIBRARY(ch_psmpkl.join(ch_peakpkl))
- ch_versions = ch_versions.mix(EASYPQP_LIBRARY.out.versions)
// Generate spectrum library for all MSruns in the samplesheet
if (params.global_fdr) {
@@ -55,7 +51,4 @@ workflow SPECLIB {
.set { ch_global_peakpkl }
EASYPQP_LIBRARY_GLOBAL(ch_global_psmpkl.join(ch_global_peakpkl))
}
-
- emit:
- versions = ch_versions
}
diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap
index 85815935..7240ec39 100644
--- a/tests/default.nf.test.snap
+++ b/tests/default.nf.test.snap
@@ -3,36 +3,36 @@
"content": [
{
"MS2RESCORE": {
- "MS\u00b2Rescore": "3.1.5)"
+ "MS2Rescore": "3.1.5"
},
"OPENMSTHIRDPARTY_COMETADAPTER": {
- "CometAdapter": "3.4.1",
- "Comet": "2024.01 rev. 1"
+ "Comet": "2024.01 rev. 1",
+ "CometAdapter": "3.5.0"
},
"OPENMS_DECOYDATABASE": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_IDFILTER_Q_VALUE": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_IDMASSACCURACY": {
- "OpenMS": "3.4.1"
+ "openms": "3.4.1"
},
"OPENMS_IDMERGER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_PEPTIDEINDEXER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_PERCOLATORADAPTER": {
- "PercolatorAdapter": "3.4.1-pre-exported-20250822",
+ "PercolatorAdapter": "3.5.0-pre-exported-20251212",
"percolator": "3.07.1, Build Date Mar 13 2025 17:19:27"
},
"OPENMS_PSMFEATUREEXTRACTOR": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_TEXTEXPORTER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"PYOPENMS_CHROMATOGRAMEXTRACTOR": {
"pyopenms": "3.4.1"
@@ -384,6 +384,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T21:36:13.560396546"
+ "timestamp": "2026-01-24T12:07:30.425542349"
}
}
\ No newline at end of file
diff --git a/tests/ionannotator.nf.test.snap b/tests/ionannotator.nf.test.snap
index a822c770..d7ceb2b1 100644
--- a/tests/ionannotator.nf.test.snap
+++ b/tests/ionannotator.nf.test.snap
@@ -4,36 +4,36 @@
22,
{
"MS2RESCORE": {
- "MS\u00b2Rescore": "3.1.5)"
+ "MS2Rescore": "3.1.5"
},
"OPENMSTHIRDPARTY_COMETADAPTER": {
- "CometAdapter": "3.4.1",
- "Comet": "2024.01 rev. 1"
+ "Comet": "2024.01 rev. 1",
+ "CometAdapter": "3.5.0"
},
"OPENMS_DECOYDATABASE": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_IDFILTER_Q_VALUE": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_IDMASSACCURACY": {
- "OpenMS": "3.4.1"
+ "openms": "3.4.1"
},
"OPENMS_IDMERGER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_PEPTIDEINDEXER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_PERCOLATORADAPTER": {
- "PercolatorAdapter": "3.4.1-pre-exported-20250822",
+ "PercolatorAdapter": "3.5.0-pre-exported-20251212",
"percolator": "3.07.1, Build Date Mar 13 2025 17:19:27"
},
"OPENMS_PSMFEATUREEXTRACTOR": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_TEXTEXPORTER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"PYOPENMS_CHROMATOGRAMEXTRACTOR": {
"pyopenms": "3.4.1"
@@ -405,6 +405,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T21:53:36.826911285"
+ "timestamp": "2026-01-24T12:14:04.270867859"
}
}
\ No newline at end of file
diff --git a/tests/mokapot.nf.test.snap b/tests/mokapot.nf.test.snap
index 210cc79d..9dfb2ea9 100644
--- a/tests/mokapot.nf.test.snap
+++ b/tests/mokapot.nf.test.snap
@@ -4,32 +4,32 @@
20,
{
"MS2RESCORE": {
- "MS\u00b2Rescore": "3.1.5)"
+ "MS2Rescore": "3.1.5"
},
"OPENMSTHIRDPARTY_COMETADAPTER": {
- "CometAdapter": "3.4.1",
- "Comet": "2024.01 rev. 1"
+ "Comet": "2024.01 rev. 1",
+ "CometAdapter": "3.5.0"
},
"OPENMS_DECOYDATABASE": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_IDFILTER_Q_VALUE": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_IDMASSACCURACY": {
- "OpenMS": "3.4.1"
+ "openms": "3.4.1"
},
"OPENMS_IDMERGER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_IDSCORESWITCHER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_PEPTIDEINDEXER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_TEXTEXPORTER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"PYOPENMS_CHROMATOGRAMEXTRACTOR": {
"pyopenms": "3.4.1"
@@ -112,6 +112,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T22:04:22.998726246"
+ "timestamp": "2026-01-24T12:19:49.496533324"
}
}
\ No newline at end of file
diff --git a/tests/speclib.nf.test.snap b/tests/speclib.nf.test.snap
index 261f2dbb..f988a64d 100644
--- a/tests/speclib.nf.test.snap
+++ b/tests/speclib.nf.test.snap
@@ -10,36 +10,39 @@
"easypqp": "0.1.53"
},
"MS2RESCORE": {
- "MS\u00b2Rescore": "3.1.5)"
+ "MS2Rescore": "3.1.5"
},
"OPENMSTHIRDPARTY_COMETADAPTER": {
- "CometAdapter": "3.4.1",
- "Comet": "2024.01 rev. 1"
+ "Comet": "2024.01 rev. 1",
+ "CometAdapter": "3.5.0"
},
"OPENMS_DECOYDATABASE": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
+ },
+ "OPENMS_IDFILTER_FOR_SPECLIB": {
+ "openms": "3.5.0"
},
"OPENMS_IDFILTER_Q_VALUE": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_IDMASSACCURACY": {
- "OpenMS": "3.4.1"
+ "openms": "3.4.1"
},
"OPENMS_IDMERGER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_PEPTIDEINDEXER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_PERCOLATORADAPTER": {
- "PercolatorAdapter": "3.4.1-pre-exported-20250822",
+ "PercolatorAdapter": "3.5.0-pre-exported-20251212",
"percolator": "3.07.1, Build Date Mar 13 2025 17:19:27"
},
"OPENMS_PSMFEATUREEXTRACTOR": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_TEXTEXPORTER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"PYOPENMS_CHROMATOGRAMEXTRACTOR": {
"pyopenms": "3.4.1"
@@ -393,6 +396,6 @@
"nf-test": "0.9.3",
"nextflow": "25.04.8"
},
- "timestamp": "2025-10-28T22:13:30.098880662"
+ "timestamp": "2026-01-24T12:28:10.442180709"
}
}
\ No newline at end of file
diff --git a/tests/test_single_quant.nf.test.snap b/tests/test_single_quant.nf.test.snap
index b75486f8..60868f96 100644
--- a/tests/test_single_quant.nf.test.snap
+++ b/tests/test_single_quant.nf.test.snap
@@ -3,36 +3,36 @@
"content": [
{
"MS2RESCORE": {
- "MS\u00b2Rescore": "3.1.5)"
+ "MS2Rescore": "3.1.5"
},
"OPENMSTHIRDPARTY_COMETADAPTER": {
- "CometAdapter": "3.4.1",
- "Comet": "2024.01 rev. 1"
+ "Comet": "2024.01 rev. 1",
+ "CometAdapter": "3.5.0"
},
"OPENMS_DECOYDATABASE": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_IDFILTER_Q_VALUE": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_IDMASSACCURACY": {
- "OpenMS": "3.4.1"
+ "openms": "3.4.1"
},
"OPENMS_IDMERGER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_PEPTIDEINDEXER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_PERCOLATORADAPTER": {
- "PercolatorAdapter": "3.4.1-pre-exported-20250822",
+ "PercolatorAdapter": "3.5.0-pre-exported-20251212",
"percolator": "3.07.1, Build Date Mar 13 2025 17:19:27"
},
"OPENMS_PSMFEATUREEXTRACTOR": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"OPENMS_TEXTEXPORTER": {
- "openms": "3.4.1"
+ "openms": "3.5.0"
},
"PYOPENMS_CHROMATOGRAMEXTRACTOR": {
"pyopenms": "3.4.1"
diff --git a/workflows/mhcquant.nf b/workflows/mhcquant.nf
index 0d01f59b..91fd368f 100644
--- a/workflows/mhcquant.nf
+++ b/workflows/mhcquant.nf
@@ -10,6 +10,7 @@
include { PYOPENMS_CHROMATOGRAMEXTRACTOR } from '../modules/local/pyopenms/chromatogramextractor'
include { PYOPENMS_IONANNOTATOR } from '../modules/local/pyopenms/ionannotator'
+include { OPENMS_IDMASSACCURACY } from '../modules/local/openms/idmassaccuracy/main'
include { OPENMS_TEXTEXPORTER } from '../modules/local/openms/textexporter'
include { SUMMARIZE_RESULTS } from '../modules/local/pyopenms/summarize_results'
include { EPICORE } from '../modules/local/epicore'
@@ -33,7 +34,6 @@ include { QUANT } from '../subworkflows/local/quant'
//
include { OPENMS_FILEFILTER } from '../modules/nf-core/openms/filefilter/main'
include { OPENMS_DECOYDATABASE } from '../modules/nf-core/openms/decoydatabase/main'
-include { OPENMS_IDMASSACCURACY } from '../modules/nf-core/openms/idmassaccuracy/main'
include { OPENMSTHIRDPARTY_COMETADAPTER } from '../modules/nf-core/openmsthirdparty/cometadapter/main'
include { OPENMS_PEPTIDEINDEXER } from '../modules/nf-core/openms/peptideindexer/main'
include { OPENMS_IDMERGER } from '../modules/nf-core/openms/idmerger/main'
@@ -57,18 +57,16 @@ workflow MHCQUANT {
ch_fasta // channel: reference database read in from --fasta
main:
- ch_versions = channel.empty()
- ch_multiqc_files = channel.empty()
+ ch_multiqc_files = Channel.empty()
// Prepare spectra files (Decompress archives, convert to mzML, centroid if specified)
PREPARE_SPECTRA(ch_samplesheet)
- ch_versions = ch_versions.mix(PREPARE_SPECTRA.out.versions)
+ // Decoy Database creation
// Decoy Database creation
if (!params.skip_decoy_generation) {
// Generate reversed decoy database
OPENMS_DECOYDATABASE(ch_fasta)
- ch_versions = ch_versions.mix(OPENMS_DECOYDATABASE.out.versions)
ch_decoy_db = OPENMS_DECOYDATABASE.out.decoy_fasta
} else {
ch_decoy_db = ch_fasta
@@ -77,7 +75,6 @@ workflow MHCQUANT {
// Optionally clean up mzML files
if (params.filter_mzml){
OPENMS_FILEFILTER(PREPARE_SPECTRA.out.mzml)
- ch_versions = ch_versions.mix(OPENMS_FILEFILTER.out.versions)
ch_clean_mzml_file = OPENMS_FILEFILTER.out.mzml
} else {
ch_clean_mzml_file = PREPARE_SPECTRA.out.mzml
@@ -85,7 +82,6 @@ workflow MHCQUANT {
// Compute MS1 TICs for QC
PYOPENMS_CHROMATOGRAMEXTRACTOR(ch_clean_mzml_file)
- ch_versions = ch_versions.mix(PYOPENMS_CHROMATOGRAMEXTRACTOR.out.versions)
ch_multiqc_files = ch_multiqc_files.mix(PYOPENMS_CHROMATOGRAMEXTRACTOR.out.csv.map{ meta, mzml -> mzml })
// Prepare the comet input channel with global fasta or per-sample_condition fasta
@@ -98,7 +94,6 @@ workflow MHCQUANT {
// Run comet database search and index decoy and target hits
OPENMSTHIRDPARTY_COMETADAPTER(ch_comet_in)
- ch_versions = ch_versions.mix(OPENMSTHIRDPARTY_COMETADAPTER.out.versions)
// Prepare the peptideindexer channel with global fasta or per-sample_condition fasta
ch_peptideindexer_in = params.fasta ?
@@ -109,11 +104,9 @@ workflow MHCQUANT {
.map { groupKey, meta, idxml, fasta -> [meta, idxml, fasta] }
OPENMS_PEPTIDEINDEXER(ch_peptideindexer_in)
- ch_versions = ch_versions.mix(OPENMS_PEPTIDEINDEXER.out.versions)
// Compute mass errors for multiQC report
OPENMS_IDMASSACCURACY(PREPARE_SPECTRA.out.mzml.join(OPENMS_PEPTIDEINDEXER.out.indexed_idxml))
- ch_versions = ch_versions.mix(OPENMS_IDMASSACCURACY.out.versions)
ch_multiqc_files = ch_multiqc_files.mix(OPENMS_IDMASSACCURACY.out.frag_err.map{ meta, frag_err -> frag_err })
// Save indexed runs for later use to keep meta-run information. Sort based on file id
@@ -129,7 +122,6 @@ workflow MHCQUANT {
// Merge aligned idXMLfiles
OPENMS_IDMERGER(ch_runs_to_merge)
- ch_versions = ch_versions.mix(OPENMS_IDMERGER.out.versions)
// Run MS2Rescore
ch_clean_mzml_file
@@ -143,7 +135,6 @@ workflow MHCQUANT {
// SUBWORKFLOW: RESCORE WITH MOKKAPOT OR PERCOLATOR AND FILTER BY Q-VALUE ON LOCAL/GLOBAL FDR
//
RESCORE( ch_rescore_in, ch_multiqc_files )
- ch_versions = ch_versions.mix(RESCORE.out.versions)
ch_multiqc_files = ch_multiqc_files.mix(RESCORE.out.multiqc_files)
// GENERATE SPECTRUM LIBRARY
@@ -164,7 +155,6 @@ workflow MHCQUANT {
// SUBWORKFLOW: SPECLIB
//
SPECLIB(ch_fdrfilter_comet_idxml_filtered, ch_clean_mzml_file)
- ch_versions = ch_versions.mix(SPECLIB.out.versions)
}
//
@@ -172,7 +162,6 @@ workflow MHCQUANT {
//
if (params.quantify) {
QUANT(merge_meta_map, RESCORE.out.rescored_runs, RESCORE.out.fdr_filtered, ch_clean_mzml_file)
- ch_versions = ch_versions.mix(QUANT.out.versions)
ch_output = QUANT.out.consensusxml
} else {
ch_output = RESCORE.out.fdr_filtered
@@ -188,12 +177,10 @@ workflow MHCQUANT {
// Annotate spectra with ion fragmentation information
PYOPENMS_IONANNOTATOR( ch_ion_annotator_input )
- ch_versions = ch_versions.mix(PYOPENMS_IONANNOTATOR.out.versions)
}
// Prepare for check if file is empty
OPENMS_TEXTEXPORTER(ch_output)
- ch_versions = ch_versions.mix(OPENMS_TEXTEXPORTER.out.versions)
// Return an error message when there is only a header present in the document
OPENMS_TEXTEXPORTER.out.tsv.map {
meta, tsv -> if (tsv.size() < 130) {
@@ -203,14 +190,12 @@ workflow MHCQUANT {
// Process the tsv file to facilitate visualization with MultiQC
SUMMARIZE_RESULTS(OPENMS_TEXTEXPORTER.out.tsv)
- ch_versions = ch_versions.mix(SUMMARIZE_RESULTS.out.versions)
//
// EPICORE
//
if (params.epicore) {
EPICORE(ch_fasta.map{ it.last()}, SUMMARIZE_RESULTS.out.epicore_input)
- ch_versions = ch_versions.mix(EPICORE.out.versions)
ch_multiqc_files = ch_multiqc_files.mix(
EPICORE.out.length_dist,
EPICORE.out.intensity_hist
@@ -250,7 +235,7 @@ workflow MHCQUANT {
"${process}:\n${tool_versions.join('\n')}"
}
- softwareVersionsToYAML(ch_versions.mix(topic_versions.versions_file))
+ softwareVersionsToYAML(topic_versions.versions_file)
.mix(topic_versions_string)
.collectFile(
storeDir: "${params.outdir}/pipeline_info",
@@ -300,8 +285,6 @@ workflow MHCQUANT {
)
emit:multiqc_report = MULTIQC.out.report.toList() // channel: /path/to/multiqc_report.html
- versions = ch_versions // channel: [ path(versions.yml) ]
-
}
/*