From 70f2c5d79d57306eb05bf15e62e0b8899961250b Mon Sep 17 00:00:00 2001 From: John Orgera <65687576+johnoooh@users.noreply.github.com> Date: Fri, 13 Feb 2026 18:59:45 -0500 Subject: [PATCH 01/14] Fix NF 25.04.0 heredoc compat: use tabs in END_VERSIONS blocks Bash <<- operator only strips leading tabs, not spaces. NF 25.04.0 does not apply stripIndent() to command blocks before writing .command.sh, so space-indented heredoc content is not recognized. Convert heredoc content lines and END_VERSIONS terminator to use tab indentation, which works correctly with both NF 25.04.0 and later versions that apply stripIndent(). Also replace deprecated new Tuple() constructor calls with Groovy list literals in subworkflows for NF 26.x forward compatibility. Co-Authored-By: Claude Opus 4.6 --- modules/msk/calculatenoise/main.nf | 12 +++++----- modules/msk/custom/splitfastqbylane/main.nf | 12 +++++----- modules/msk/facets/main.nf | 24 +++++++++---------- .../msk/fgbio/collectduplexseqmetrics/main.nf | 12 +++++----- modules/msk/gatk4/applybqsr/main.nf | 6 ++--- modules/msk/gbcms/main.nf | 12 +++++----- modules/msk/generatemutfasta/main.nf | 16 ++++++------- .../genomenexus/annotationpipeline/main.nf | 12 +++++----- modules/msk/genotypevariants/all/main.nf | 12 +++++----- modules/msk/mutalyzer/normalizer/main.nf | 12 +++++----- modules/msk/mutalyzer/retriever/main.nf | 12 +++++----- modules/msk/mutect1/main.nf | 12 +++++----- .../msk/neoantigenediting/aligntoiedb/main.nf | 12 +++++----- .../neoantigenediting/computefitness/main.nf | 12 +++++----- .../neoantigenutils/convertannotjson/main.nf | 12 +++++----- .../neoantigenutils/formatnetmhcpan/main.nf | 12 +++++----- .../neoantigenutils/generatehlastring/main.nf | 12 +++++----- .../neoantigenutils/neoantigeninput/main.nf | 12 +++++----- modules/msk/neosv/main.nf | 12 +++++----- modules/msk/netmhc3/main.nf | 12 +++++----- modules/msk/netmhcpan4/main.nf | 12 +++++----- modules/msk/netmhcstabpan/main.nf | 16 ++++++------- modules/msk/oncokb/mafannotate/main.nf | 12 +++++----- modules/msk/phylowgs/createinput/main.nf | 12 +++++----- modules/msk/phylowgs/multievolve/main.nf | 12 +++++----- modules/msk/phylowgs/parsecnvs/main.nf | 12 +++++----- modules/msk/phylowgs/writeresults/main.nf | 12 +++++----- modules/msk/polysolver/main.nf | 12 +++++----- modules/msk/ppflagfixer/main.nf | 16 ++++++------- modules/msk/pvmaf/concat/main.nf | 12 +++++----- modules/msk/pvmaf/tagtraceback/main.nf | 12 +++++----- modules/msk/rediscoverte/main.nf | 12 +++++----- modules/msk/salmon/index/main.nf | 12 +++++----- modules/msk/salmon/quant/main.nf | 12 +++++----- modules/msk/snppileup/main.nf | 20 ++++++++-------- .../msk/generate_mutated_peptides/main.nf | 16 ++++++------- subworkflows/msk/netmhcstabandpan/main.nf | 8 +++---- subworkflows/msk/phylowgs/main.nf | 10 ++++---- 38 files changed, 240 insertions(+), 240 deletions(-) diff --git a/modules/msk/calculatenoise/main.nf b/modules/msk/calculatenoise/main.nf index f5912bd3..6a80ff06 100644 --- a/modules/msk/calculatenoise/main.nf +++ b/modules/msk/calculatenoise/main.nf @@ -53,9 +53,9 @@ process CALCULATENOISE { $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - calculatenoise: \$(calculate_noise --help 2>/dev/null || echo "Usage") - END_VERSIONS + "${task.process}": + calculatenoise: \$(calculate_noise --help 2>/dev/null || echo "Usage") + END_VERSIONS """ stub: @@ -72,8 +72,8 @@ process CALCULATENOISE { touch ${meta.id}_pileup.tsv cat <<-END_VERSIONS > versions.yml - "${task.process}": - calculatenoise: \$(calculate_noise --help 2>/dev/null || echo "Usage") - END_VERSIONS + "${task.process}": + calculatenoise: \$(calculate_noise --help 2>/dev/null || echo "Usage") + END_VERSIONS """ } diff --git a/modules/msk/custom/splitfastqbylane/main.nf b/modules/msk/custom/splitfastqbylane/main.nf index 52d6954f..bf41ebad 100644 --- a/modules/msk/custom/splitfastqbylane/main.nf +++ b/modules/msk/custom/splitfastqbylane/main.nf @@ -26,9 +26,9 @@ process CUSTOM_SPLITFASTQBYLANE { split_lanes_awk.sh ${prefix} ${read1} ${read2} cat <<-END_VERSIONS > versions.yml - "${task.process}": - gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') - END_VERSIONS + "${task.process}": + gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') + END_VERSIONS """ stub: @@ -38,8 +38,8 @@ process CUSTOM_SPLITFASTQBYLANE { touch out.split.fastq gzip out.split.fastq cat <<-END_VERSIONS > versions.yml - "${task.process}": - gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') - END_VERSIONS + "${task.process}": + gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') + END_VERSIONS """ } diff --git a/modules/msk/facets/main.nf b/modules/msk/facets/main.nf index 31bdb081..2a68aa1f 100644 --- a/modules/msk/facets/main.nf +++ b/modules/msk/facets/main.nf @@ -45,12 +45,12 @@ process FACETS { --counts-file ${snp_pileup} cat <<-END_VERSIONS > versions.yml - "${task.process}": - facets_suite: \$(Rscript -e "packageVersion('facetsSuite')" | grep -oP "\\d+.\\d+.\\d+") - facets: \$(Rscript -e "packageVersion('facets')" | grep -oP "\\d+.\\d+.\\d+") - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - pctGCdata: \$(Rscript -e "packageVersion('pctGCdata')" | grep -oP "\\d+.\\d+.\\d+") - END_VERSIONS + "${task.process}": + facets_suite: \$(Rscript -e "packageVersion('facetsSuite')" | grep -oP "\\d+.\\d+.\\d+") + facets: \$(Rscript -e "packageVersion('facets')" | grep -oP "\\d+.\\d+.\\d+") + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + pctGCdata: \$(Rscript -e "packageVersion('pctGCdata')" | grep -oP "\\d+.\\d+.\\d+") + END_VERSIONS """ stub: @@ -79,11 +79,11 @@ process FACETS { cat <<-END_VERSIONS > versions.yml - "${task.process}": - facets_suite: \$(Rscript -e "packageVersion('facetsSuite')" | grep -oP "\\d+.\\d+.\\d+") - facets: \$(Rscript -e "packageVersion('facets')" | grep -oP "\\d+.\\d+.\\d+") - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - pctGCdata: \$(Rscript -e "packageVersion('pctGCdata')" | grep -oP "\\d+.\\d+.\\d+") - END_VERSIONS + "${task.process}": + facets_suite: \$(Rscript -e "packageVersion('facetsSuite')" | grep -oP "\\d+.\\d+.\\d+") + facets: \$(Rscript -e "packageVersion('facets')" | grep -oP "\\d+.\\d+.\\d+") + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + pctGCdata: \$(Rscript -e "packageVersion('pctGCdata')" | grep -oP "\\d+.\\d+.\\d+") + END_VERSIONS """ } diff --git a/modules/msk/fgbio/collectduplexseqmetrics/main.nf b/modules/msk/fgbio/collectduplexseqmetrics/main.nf index 6a5c36a6..7c78ae9e 100644 --- a/modules/msk/fgbio/collectduplexseqmetrics/main.nf +++ b/modules/msk/fgbio/collectduplexseqmetrics/main.nf @@ -34,9 +34,9 @@ process FGBIO_COLLECTDUPLEXSEQMETRICS { $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - fgbio: \$(fgbio CollectDuplexSeqMetrics --version 2>&1 | grep -o 'Version:.*' | cut -f2- -d: | xargs) - END_VERSIONS + "${task.process}": + fgbio: \$(fgbio CollectDuplexSeqMetrics --version 2>&1 | grep -o 'Version:.*' | cut -f2- -d: | xargs) + END_VERSIONS """ stub: @@ -51,9 +51,9 @@ process FGBIO_COLLECTDUPLEXSEQMETRICS { touch ${prefix}.duplex_umi_counts.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - fgbio: \$(fgbio CollectDuplexSeqMetrics --version 2>&1 | grep -o 'Version:.*' | cut -f2- -d: | xargs) - END_VERSIONS + "${task.process}": + fgbio: \$(fgbio CollectDuplexSeqMetrics --version 2>&1 | grep -o 'Version:.*' | cut -f2- -d: | xargs) + END_VERSIONS """ } diff --git a/modules/msk/gatk4/applybqsr/main.nf b/modules/msk/gatk4/applybqsr/main.nf index 7e495637..0c662032 100644 --- a/modules/msk/gatk4/applybqsr/main.nf +++ b/modules/msk/gatk4/applybqsr/main.nf @@ -44,8 +44,8 @@ process GATK4_APPLYBQSR { $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - gatk4: \$(echo \$(gatk --version 2>&1) | sed 's/^.*(GATK) v//; s/ .*\$//') - END_VERSIONS + "${task.process}": + gatk4: \$(echo \$(gatk --version 2>&1) | sed 's/^.*(GATK) v//; s/ .*\$//') + END_VERSIONS """ } diff --git a/modules/msk/gbcms/main.nf b/modules/msk/gbcms/main.nf index 38922559..47db42d4 100644 --- a/modules/msk/gbcms/main.nf +++ b/modules/msk/gbcms/main.nf @@ -45,9 +45,9 @@ process GBCMS { --bam $sample:${bam} $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - GetBaseCountsMultiSample: \$(echo \$(GetBaseCountsMultiSample --help) | grep -oP '[0-9]\\.[0-9]\\.[0-9]') - END_VERSIONS + "${task.process}": + GetBaseCountsMultiSample: \$(echo \$(GetBaseCountsMultiSample --help) | grep -oP '[0-9]\\.[0-9]\\.[0-9]') + END_VERSIONS """ stub: @@ -57,8 +57,8 @@ process GBCMS { touch variant_file.maf cat <<-END_VERSIONS > versions.yml - "${task.process}": - GetBaseCountsMultiSample: 1.2.5 - END_VERSIONS + "${task.process}": + GetBaseCountsMultiSample: 1.2.5 + END_VERSIONS """ } diff --git a/modules/msk/generatemutfasta/main.nf b/modules/msk/generatemutfasta/main.nf index 7d4588aa..b6e3c155 100644 --- a/modules/msk/generatemutfasta/main.nf +++ b/modules/msk/generatemutfasta/main.nf @@ -37,10 +37,10 @@ process GENERATEMUTFASTA { --maf_file ${inputMaf} cat <<-END_VERSIONS > versions.yml - "${task.process}": - generateMutFasta: \$(echo \$(generateMutFasta.py -v)) - mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) - END_VERSIONS + "${task.process}": + generateMutFasta: \$(echo \$(generateMutFasta.py -v)) + mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) + END_VERSIONS """ stub: @@ -53,9 +53,9 @@ process GENERATEMUTFASTA { touch ${prefix}_out/${prefix}.WT.sequences.fa touch ${prefix}_out/${prefix}_generate_mut_fasta.log cat <<-END_VERSIONS > versions.yml - "${task.process}": - generateMutFasta: \$(echo \$(generateMutFasta.py -v)) - mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) - END_VERSIONS + "${task.process}": + generateMutFasta: \$(echo \$(generateMutFasta.py -v)) + mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) + END_VERSIONS """ } diff --git a/modules/msk/genomenexus/annotationpipeline/main.nf b/modules/msk/genomenexus/annotationpipeline/main.nf index f02dbd37..698d75ee 100644 --- a/modules/msk/genomenexus/annotationpipeline/main.nf +++ b/modules/msk/genomenexus/annotationpipeline/main.nf @@ -25,9 +25,9 @@ process GENOMENEXUS_ANNOTATIONPIPELINE { java -Xms${task.memory.toMega()/4}m -Xmx${task.memory.toGiga()}g -jar /genome-nexus-annotation-pipeline/annotationPipeline/target/annotationPipeline.jar --filename ${input_maf} --output-filename ${meta.id}-annotated.maf cat <<-END_VERSIONS > versions.yml - "${task.process}": - genomenexus: 'annotationpipeline version 1.0.5' - END_VERSIONS + "${task.process}": + genomenexus: 'annotationpipeline version 1.0.5' + END_VERSIONS """ stub: @@ -38,8 +38,8 @@ process GENOMENEXUS_ANNOTATIONPIPELINE { touch ${meta.id}-annotated.maf cat <<-END_VERSIONS > versions.yml - "${task.process}": - genomenexus: 'annotation pipeline version 1.0.5 - END_VERSIONS + "${task.process}": + genomenexus: 'annotation pipeline version 1.0.5 + END_VERSIONS """ } diff --git a/modules/msk/genotypevariants/all/main.nf b/modules/msk/genotypevariants/all/main.nf index 05ab0665..1741e9f2 100644 --- a/modules/msk/genotypevariants/all/main.nf +++ b/modules/msk/genotypevariants/all/main.nf @@ -42,9 +42,9 @@ process GENOTYPEVARIANTS_ALL { $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - genotypevariants: \$(genotype_variants --version) - END_VERSIONS + "${task.process}": + genotypevariants: \$(genotype_variants --version) + END_VERSIONS """ stub: @@ -60,8 +60,8 @@ process GENOTYPEVARIANTS_ALL { touch ${prefix}-SIMPLEX_genotyped.maf cat <<-END_VERSIONS > versions.yml - "${task.process}": - genotypevariants: \$(genotype_variants --version) - END_VERSIONS + "${task.process}": + genotypevariants: \$(genotype_variants --version) + END_VERSIONS """ } diff --git a/modules/msk/mutalyzer/normalizer/main.nf b/modules/msk/mutalyzer/normalizer/main.nf index c70f60c6..7e28a136 100644 --- a/modules/msk/mutalyzer/normalizer/main.nf +++ b/modules/msk/mutalyzer/normalizer/main.nf @@ -34,9 +34,9 @@ process MUTALYZER_NORMALIZER { export MUTALYZER_SETTINGS="\$(pwd)/config.txt" mutalyzer_normalizer "${hgvs_description}" > ${prefix}_${hgvs_description}.json cat <<-END_VERSIONS > versions.yml - "${task.process}": - mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) - END_VERSIONS + "${task.process}": + mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) + END_VERSIONS """ stub: @@ -46,8 +46,8 @@ process MUTALYZER_NORMALIZER { """ touch ${prefix}_${hgvs_description}.json cat <<-END_VERSIONS > versions.yml - "${task.process}": - mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) - END_VERSIONS + "${task.process}": + mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) + END_VERSIONS """ } diff --git a/modules/msk/mutalyzer/retriever/main.nf b/modules/msk/mutalyzer/retriever/main.nf index 41dd212d..de50f966 100644 --- a/modules/msk/mutalyzer/retriever/main.nf +++ b/modules/msk/mutalyzer/retriever/main.nf @@ -44,9 +44,9 @@ process MUTALYZER_RETRIEVER { tar -zcf ${prefix}.tar.gz cache/ cat <<-END_VERSIONS > versions.yml - "${task.process}": - mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) - END_VERSIONS + "${task.process}": + mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) + END_VERSIONS """ stub: @@ -56,8 +56,8 @@ process MUTALYZER_RETRIEVER { """ touch ${prefix}.tar.gz cat <<-END_VERSIONS > versions.yml - "${task.process}": - mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) - END_VERSIONS + "${task.process}": + mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) + END_VERSIONS """ } diff --git a/modules/msk/mutect1/main.nf b/modules/msk/mutect1/main.nf index 0369700e..c3e053ff 100644 --- a/modules/msk/mutect1/main.nf +++ b/modules/msk/mutect1/main.nf @@ -45,9 +45,9 @@ process MUTECT1 { cat <<-END_VERSIONS > versions.yml - "${task.process}": - mutect1: \$(echo \$(java -jar /opt/mutect/muTect-1.1.5.jar --help) | grep -o 'The Genome Analysis Toolkit (GATK) v[0-9]\\.[0-9]\\-[0-9]' | sed 's/.* \\([v0-9.-]*\\)/\\1/') - END_VERSIONS + "${task.process}": + mutect1: \$(echo \$(java -jar /opt/mutect/muTect-1.1.5.jar --help) | grep -o 'The Genome Analysis Toolkit (GATK) v[0-9]\\.[0-9]\\-[0-9]' | sed 's/.* \\([v0-9.-]*\\)/\\1/') + END_VERSIONS """ stub: @@ -62,8 +62,8 @@ process MUTECT1 { touch ${case_sample_name}.${control_sample_name}.mutect.txt touch ${case_sample_name}.${control_sample_name}.mutect.vcf cat <<-END_VERSIONS > versions.yml - "${task.process}": - mutect1: \$(echo \$(java -jar /opt/mutect/muTect-1.1.5.jar --help) | grep -o 'The Genome Analysis Toolkit (GATK) v[0-9]\\.[0-9]\\-[0-9]' | sed 's/.* \\([v0-9.-]*\\)/\\1/') - END_VERSIONS + "${task.process}": + mutect1: \$(echo \$(java -jar /opt/mutect/muTect-1.1.5.jar --help) | grep -o 'The Genome Analysis Toolkit (GATK) v[0-9]\\.[0-9]\\-[0-9]' | sed 's/.* \\([v0-9.-]*\\)/\\1/') + END_VERSIONS """ } diff --git a/modules/msk/neoantigenediting/aligntoiedb/main.nf b/modules/msk/neoantigenediting/aligntoiedb/main.nf index 7d385443..c61b8f44 100644 --- a/modules/msk/neoantigenediting/aligntoiedb/main.nf +++ b/modules/msk/neoantigenediting/aligntoiedb/main.nf @@ -29,9 +29,9 @@ process NEOANTIGENEDITING_ALIGNTOIEDB { cat <<-END_VERSIONS > versions.yml - "${task.process}": - neoantigenEditing: \$NEOANTIGEN_EDITING_TAG - END_VERSIONS + "${task.process}": + neoantigenEditing: \$NEOANTIGEN_EDITING_TAG + END_VERSIONS """ stub: @@ -42,8 +42,8 @@ process NEOANTIGENEDITING_ALIGNTOIEDB { touch iedb_alignments_example.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - neoantigenEditing: \$NEOANTIGEN_EDITING_TAG - END_VERSIONS + "${task.process}": + neoantigenEditing: \$NEOANTIGEN_EDITING_TAG + END_VERSIONS """ } diff --git a/modules/msk/neoantigenediting/computefitness/main.nf b/modules/msk/neoantigenediting/computefitness/main.nf index 00e2675b..62bf35a1 100644 --- a/modules/msk/neoantigenediting/computefitness/main.nf +++ b/modules/msk/neoantigenediting/computefitness/main.nf @@ -27,9 +27,9 @@ process NEOANTIGENEDITING_COMPUTEFITNESS { ${args} cat <<-END_VERSIONS > versions.yml - "${task.process}": - neoantigenEditing: \$NEOANTIGEN_EDITING_TAG - END_VERSIONS + "${task.process}": + neoantigenEditing: \$NEOANTIGEN_EDITING_TAG + END_VERSIONS """ stub: @@ -40,8 +40,8 @@ process NEOANTIGENEDITING_COMPUTEFITNESS { touch patient_data_annotated.json cat <<-END_VERSIONS > versions.yml - "${task.process}": - neoantigenEditing: \$NEOANTIGEN_EDITING_TAG - END_VERSIONS + "${task.process}": + neoantigenEditing: \$NEOANTIGEN_EDITING_TAG + END_VERSIONS """ } diff --git a/modules/msk/neoantigenutils/convertannotjson/main.nf b/modules/msk/neoantigenutils/convertannotjson/main.nf index ee40d50d..981e6a85 100644 --- a/modules/msk/neoantigenutils/convertannotjson/main.nf +++ b/modules/msk/neoantigenutils/convertannotjson/main.nf @@ -24,9 +24,9 @@ process NEOANTIGENUTILS_CONVERTANNOTJSON { --output_file ${prefix}_neoantigens.tsv cat <<-END_VERSIONS > versions.yml - "${task.process}": - convertannotjson: \$(echo \$(convertannotjson.py -v)) - END_VERSIONS + "${task.process}": + convertannotjson: \$(echo \$(convertannotjson.py -v)) + END_VERSIONS """ stub: @@ -37,8 +37,8 @@ process NEOANTIGENUTILS_CONVERTANNOTJSON { touch ${prefix}_neoantigens.tsv cat <<-END_VERSIONS > versions.yml - "${task.process}": - convertannotjson: \$(echo \$(convertannotjson.py -v)) - END_VERSIONS + "${task.process}": + convertannotjson: \$(echo \$(convertannotjson.py -v)) + END_VERSIONS """ } diff --git a/modules/msk/neoantigenutils/formatnetmhcpan/main.nf b/modules/msk/neoantigenutils/formatnetmhcpan/main.nf index 5e3418d0..58efeeaa 100644 --- a/modules/msk/neoantigenutils/formatnetmhcpan/main.nf +++ b/modules/msk/neoantigenutils/formatnetmhcpan/main.nf @@ -31,9 +31,9 @@ process NEOANTIGENUTILS_FORMATNETMHCPAN { ${netmhcOutputFrom} cat <<-END_VERSIONS > versions.yml - "${task.process}": - formatNetmhcpanOutput: \$(echo \$(format_netmhcpan_output.py -v)) - END_VERSIONS + "${task.process}": + formatNetmhcpanOutput: \$(echo \$(format_netmhcpan_output.py -v)) + END_VERSIONS """ stub: @@ -44,8 +44,8 @@ process NEOANTIGENUTILS_FORMATNETMHCPAN { """ touch ${prefix}.${netmhcOutputType}.${netmhcOutputFrom}.tsv cat <<-END_VERSIONS > versions.yml - "${task.process}": - formatNetmhcpanOutput: \$(echo \$(format_netmhcpan_output.py -v)) - END_VERSIONS + "${task.process}": + formatNetmhcpanOutput: \$(echo \$(format_netmhcpan_output.py -v)) + END_VERSIONS """ } diff --git a/modules/msk/neoantigenutils/generatehlastring/main.nf b/modules/msk/neoantigenutils/generatehlastring/main.nf index 30389cca..e1c7ad2a 100644 --- a/modules/msk/neoantigenutils/generatehlastring/main.nf +++ b/modules/msk/neoantigenutils/generatehlastring/main.nf @@ -24,9 +24,9 @@ process NEOANTIGENUTILS_GENERATEHLASTRING { cat <<-END_VERSIONS > versions.yml - "${task.process}": - generateHLAstring: \$(echo \$(generateHLAString.sh -v)) - END_VERSIONS + "${task.process}": + generateHLAstring: \$(echo \$(generateHLAString.sh -v)) + END_VERSIONS """ stub: @@ -36,8 +36,8 @@ process NEOANTIGENUTILS_GENERATEHLASTRING { """ echo "HLA-test:01,HLA-test2:02" cat <<-END_VERSIONS > versions.yml - "${task.process}": - generateHLAstring: \$(echo \$(generateHLAString.sh -v)) - END_VERSIONS + "${task.process}": + generateHLAstring: \$(echo \$(generateHLAString.sh -v)) + END_VERSIONS """ } diff --git a/modules/msk/neoantigenutils/neoantigeninput/main.nf b/modules/msk/neoantigenutils/neoantigeninput/main.nf index 316170e0..18561c55 100644 --- a/modules/msk/neoantigenutils/neoantigeninput/main.nf +++ b/modules/msk/neoantigenutils/neoantigeninput/main.nf @@ -46,9 +46,9 @@ process NEOANTIGENUTILS_NEOANTIGENINPUT { ${args} cat <<-END_VERSIONS > versions.yml - "${task.process}": - neoantigeninput: \$(echo \$(generate_input.py -v)) - END_VERSIONS + "${task.process}": + neoantigeninput: \$(echo \$(generate_input.py -v)) + END_VERSIONS """ stub: @@ -61,8 +61,8 @@ process NEOANTIGENUTILS_NEOANTIGENINPUT { touch ${patientid}_${id}_input.json cat <<-END_VERSIONS > versions.yml - "${task.process}": - neoantigeninput: \$(echo \$(generate_input.py -v)) - END_VERSIONS + "${task.process}": + neoantigeninput: \$(echo \$(generate_input.py -v)) + END_VERSIONS """ } diff --git a/modules/msk/neosv/main.nf b/modules/msk/neosv/main.nf index a6bd5f4e..89746364 100644 --- a/modules/msk/neosv/main.nf +++ b/modules/msk/neosv/main.nf @@ -41,9 +41,9 @@ process NEOSV { cat <<-END_VERSIONS > versions.yml - "${task.process}": - NEOSV: \$NEOSV_TAG - END_VERSIONS + "${task.process}": + NEOSV: \$NEOSV_TAG + END_VERSIONS """ @@ -55,8 +55,8 @@ process NEOSV { touch ${prefix}.SV.MUT.fa cat <<-END_VERSIONS > versions.yml - "${task.process}": - NEOSV: \$NEOSV_TAG - END_VERSIONS + "${task.process}": + NEOSV: \$NEOSV_TAG + END_VERSIONS """ } diff --git a/modules/msk/netmhc3/main.nf b/modules/msk/netmhc3/main.nf index 5fea72f2..d6f83076 100644 --- a/modules/msk/netmhc3/main.nf +++ b/modules/msk/netmhc3/main.nf @@ -51,9 +51,9 @@ process NETMHC3 { mv hla_rejected.txt ${prefix}.hla_rejected.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - netmhc: v${NETMHC_VERSION} - END_VERSIONS + "${task.process}": + netmhc: v${NETMHC_VERSION} + END_VERSIONS """ @@ -72,8 +72,8 @@ process NETMHC3 { touch ${prefix}.hla_rejected.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - netmhc: v${NETMHC_VERSION} - END_VERSIONS + "${task.process}": + netmhc: v${NETMHC_VERSION} + END_VERSIONS """ } diff --git a/modules/msk/netmhcpan4/main.nf b/modules/msk/netmhcpan4/main.nf index 3ecc2a28..80b6c839 100644 --- a/modules/msk/netmhcpan4/main.nf +++ b/modules/msk/netmhcpan4/main.nf @@ -51,9 +51,9 @@ process NETMHCPAN4 { cat <<-END_VERSIONS > versions.yml - "${task.process}": - netmhcpan: v${NETMHCPAN_VERSION} - END_VERSIONS + "${task.process}": + netmhcpan: v${NETMHCPAN_VERSION} + END_VERSIONS """ @@ -70,8 +70,8 @@ process NETMHCPAN4 { touch ${prefix}.${inputType}.netmhcpan.output cat <<-END_VERSIONS > versions.yml - "${task.process}": - netmhcpan: v${NETMHCPAN_VERSION} - END_VERSIONS + "${task.process}": + netmhcpan: v${NETMHCPAN_VERSION} + END_VERSIONS """ } diff --git a/modules/msk/netmhcstabpan/main.nf b/modules/msk/netmhcstabpan/main.nf index 976f693a..4cac5852 100644 --- a/modules/msk/netmhcstabpan/main.nf +++ b/modules/msk/netmhcstabpan/main.nf @@ -48,10 +48,10 @@ process NETMHCSTABPAN { -inptype 0 > ${prefix}.${inputType}.netmhcstabpan.output cat <<-END_VERSIONS > versions.yml - "${task.process}": - netmhcpan: v${NETMHCPAN_VERSION} - netmhcstabpan: v${NETMHCSTABPAN_VERSION} - END_VERSIONS + "${task.process}": + netmhcpan: v${NETMHCPAN_VERSION} + netmhcstabpan: v${NETMHCSTABPAN_VERSION} + END_VERSIONS """ @@ -70,9 +70,9 @@ process NETMHCSTABPAN { cat <<-END_VERSIONS > versions.yml - "${task.process}": - netmhcpan: v${NETMHCPAN_VERSION} - netmhcstabpan: v${NETMHCSTABPAN_VERSION} - END_VERSIONS + "${task.process}": + netmhcpan: v${NETMHCPAN_VERSION} + netmhcstabpan: v${NETMHCSTABPAN_VERSION} + END_VERSIONS """ } diff --git a/modules/msk/oncokb/mafannotate/main.nf b/modules/msk/oncokb/mafannotate/main.nf index 87b7dd8b..ef279aab 100644 --- a/modules/msk/oncokb/mafannotate/main.nf +++ b/modules/msk/oncokb/mafannotate/main.nf @@ -30,9 +30,9 @@ process ONCOKB_MAFANNOTATE { $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - MafAnnotator: \$(echo \$(MafAnnotator.py -v)) - END_VERSIONS + "${task.process}": + MafAnnotator: \$(echo \$(MafAnnotator.py -v)) + END_VERSIONS """ stub: @@ -44,8 +44,8 @@ process ONCOKB_MAFANNOTATE { touch ${prefix}.oncokb.maf cat <<-END_VERSIONS > versions.yml - "${task.process}": - MafAnnotator: \$(echo \$(MafAnnotator.py -v)) - END_VERSIONS + "${task.process}": + MafAnnotator: \$(echo \$(MafAnnotator.py -v)) + END_VERSIONS """ } diff --git a/modules/msk/phylowgs/createinput/main.nf b/modules/msk/phylowgs/createinput/main.nf index 35885256..e00629da 100644 --- a/modules/msk/phylowgs/createinput/main.nf +++ b/modules/msk/phylowgs/createinput/main.nf @@ -26,9 +26,9 @@ process PHYLOWGS_CREATEINPUT { cat <<-END_VERSIONS > versions.yml - "${task.process}": - phylowgs: \$PHYLOWGS_TAG - END_VERSIONS + "${task.process}": + phylowgs: \$PHYLOWGS_TAG + END_VERSIONS """ stub: @@ -39,8 +39,8 @@ process PHYLOWGS_CREATEINPUT { touch ssm_data.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - phylowgs: \$PHYLOWGS_TAG - END_VERSIONS + "${task.process}": + phylowgs: \$PHYLOWGS_TAG + END_VERSIONS """ } diff --git a/modules/msk/phylowgs/multievolve/main.nf b/modules/msk/phylowgs/multievolve/main.nf index 8bf2044b..a821b664 100644 --- a/modules/msk/phylowgs/multievolve/main.nf +++ b/modules/msk/phylowgs/multievolve/main.nf @@ -27,9 +27,9 @@ process PHYLOWGS_MULTIEVOLVE { --cnvs ${cnv_data} cat <<-END_VERSIONS > versions.yml - "${task.process}": - phylowgs: \$PHYLOWGS_TAG - END_VERSIONS + "${task.process}": + phylowgs: \$PHYLOWGS_TAG + END_VERSIONS """ stub: @@ -40,8 +40,8 @@ process PHYLOWGS_MULTIEVOLVE { touch chains/trees.zip cat <<-END_VERSIONS > versions.yml - "${task.process}": - phylowgs: \$PHYLOWGS_TAG - END_VERSIONS + "${task.process}": + phylowgs: \$PHYLOWGS_TAG + END_VERSIONS """ } diff --git a/modules/msk/phylowgs/parsecnvs/main.nf b/modules/msk/phylowgs/parsecnvs/main.nf index f3f4e593..d1198d9f 100644 --- a/modules/msk/phylowgs/parsecnvs/main.nf +++ b/modules/msk/phylowgs/parsecnvs/main.nf @@ -25,9 +25,9 @@ process PHYLOWGS_PARSECNVS { ${facetsgenelevel} cat <<-END_VERSIONS > versions.yml - "${task.process}": - phylowgs: \$PHYLOWGS_TAG - END_VERSIONS + "${task.process}": + phylowgs: \$PHYLOWGS_TAG + END_VERSIONS """ stub: @@ -37,8 +37,8 @@ process PHYLOWGS_PARSECNVS { touch cnvs.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - phylowgs: \$PHYLOWGS_TAG - END_VERSIONS + "${task.process}": + phylowgs: \$PHYLOWGS_TAG + END_VERSIONS """ } diff --git a/modules/msk/phylowgs/writeresults/main.nf b/modules/msk/phylowgs/writeresults/main.nf index 868c9e9f..13c3ad50 100644 --- a/modules/msk/phylowgs/writeresults/main.nf +++ b/modules/msk/phylowgs/writeresults/main.nf @@ -32,9 +32,9 @@ process PHYLOWGS_WRITERESULTS { ${prefix}.muts.json.gz \\ ${prefix}.mutass.zip cat <<-END_VERSIONS > versions.yml - "${task.process}": - phylowgs: \$PHYLOWGS_TAG - END_VERSIONS + "${task.process}": + phylowgs: \$PHYLOWGS_TAG + END_VERSIONS """ stub: @@ -46,8 +46,8 @@ process PHYLOWGS_WRITERESULTS { touch ${prefix}.mutass.zip cat <<-END_VERSIONS > versions.yml - "${task.process}": - phylowgs: \$PHYLOWGS_TAG - END_VERSIONS + "${task.process}": + phylowgs: \$PHYLOWGS_TAG + END_VERSIONS """ } diff --git a/modules/msk/polysolver/main.nf b/modules/msk/polysolver/main.nf index 2f34fd36..ac9314c1 100644 --- a/modules/msk/polysolver/main.nf +++ b/modules/msk/polysolver/main.nf @@ -43,9 +43,9 @@ process POLYSOLVER { mv ${prefix}/winners.hla.txt ${prefix}.hla.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - polysolver: v3 - END_VERSIONS + "${task.process}": + polysolver: v3 + END_VERSIONS """ stub: @@ -55,8 +55,8 @@ process POLYSOLVER { touch ${prefix}.hla.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - polysolver: v3 - END_VERSIONS + "${task.process}": + polysolver: v3 + END_VERSIONS """ } diff --git a/modules/msk/ppflagfixer/main.nf b/modules/msk/ppflagfixer/main.nf index 555bca2b..7d5def7b 100644 --- a/modules/msk/ppflagfixer/main.nf +++ b/modules/msk/ppflagfixer/main.nf @@ -27,10 +27,10 @@ process PPFLAGFIXER { ppflag.${prefix}.bam cat <<-END_VERSIONS > versions.yml - "${task.process}": - htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - END_VERSIONS + "${task.process}": + htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + END_VERSIONS """ stub: @@ -40,9 +40,9 @@ process PPFLAGFIXER { """ echo "stub test" >> ppflag.${prefix}.bam cat <<-END_VERSIONS > versions.yml - "${task.process}": - htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - END_VERSIONS + "${task.process}": + htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + END_VERSIONS """ } diff --git a/modules/msk/pvmaf/concat/main.nf b/modules/msk/pvmaf/concat/main.nf index 225751be..682ec644 100644 --- a/modules/msk/pvmaf/concat/main.nf +++ b/modules/msk/pvmaf/concat/main.nf @@ -31,9 +31,9 @@ process PVMAF_CONCAT { cat <<-END_VERSIONS > versions.yml - "${task.process}": - pv: \$( pv --version ) - END_VERSIONS + "${task.process}": + pv: \$( pv --version ) + END_VERSIONS """ stub: @@ -45,8 +45,8 @@ process PVMAF_CONCAT { touch $output cat <<-END_VERSIONS > versions.yml - "${task.process}": - pv: \$( pv --version ) - END_VERSIONS + "${task.process}": + pv: \$( pv --version ) + END_VERSIONS """ } diff --git a/modules/msk/pvmaf/tagtraceback/main.nf b/modules/msk/pvmaf/tagtraceback/main.nf index bee0144e..e20daf15 100644 --- a/modules/msk/pvmaf/tagtraceback/main.nf +++ b/modules/msk/pvmaf/tagtraceback/main.nf @@ -32,9 +32,9 @@ process PVMAF_TAGTRACEBACK { cat <<-END_VERSIONS > versions.yml - "${task.process}": - pv: \$( pv --version ) - END_VERSIONS + "${task.process}": + pv: \$( pv --version ) + END_VERSIONS """ stub: @@ -44,8 +44,8 @@ process PVMAF_TAGTRACEBACK { """ touch $output cat <<-END_VERSIONS > versions.yml - "${task.process}": - pv: \$( pv --version ) - END_VERSIONS + "${task.process}": + pv: \$( pv --version ) + END_VERSIONS """ } diff --git a/modules/msk/rediscoverte/main.nf b/modules/msk/rediscoverte/main.nf index a67ebf03..2c56eb81 100644 --- a/modules/msk/rediscoverte/main.nf +++ b/modules/msk/rediscoverte/main.nf @@ -36,9 +36,9 @@ process REDISCOVERTE { --outdir=REdiscoverTE_rollup cat <<-END_VERSIONS > versions.yml - "${task.process}": - rediscoverte: 1.0.0 - END_VERSIONS + "${task.process}": + rediscoverte: 1.0.0 + END_VERSIONS """ stub: @@ -49,8 +49,8 @@ process REDISCOVERTE { touch REdiscoverTE_rollup/abc.RDS cat <<-END_VERSIONS > versions.yml - "${task.process}": - rediscoverte: 1.0.0 - END_VERSIONS + "${task.process}": + rediscoverte: 1.0.0 + END_VERSIONS """ } diff --git a/modules/msk/salmon/index/main.nf b/modules/msk/salmon/index/main.nf index bce11800..a7730534 100644 --- a/modules/msk/salmon/index/main.nf +++ b/modules/msk/salmon/index/main.nf @@ -28,9 +28,9 @@ process SALMON_INDEX { -i salmon cat <<-END_VERSIONS > versions.yml - "${task.process}": - salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") - END_VERSIONS + "${task.process}": + salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") + END_VERSIONS """ stub: @@ -47,8 +47,8 @@ process SALMON_INDEX { touch salmon/versionInfo.json cat <<-END_VERSIONS > versions.yml - "${task.process}": - salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") - END_VERSIONS + "${task.process}": + salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") + END_VERSIONS """ } diff --git a/modules/msk/salmon/quant/main.nf b/modules/msk/salmon/quant/main.nf index 1c234767..137b68d5 100644 --- a/modules/msk/salmon/quant/main.nf +++ b/modules/msk/salmon/quant/main.nf @@ -39,9 +39,9 @@ process SALMON_QUANT { cp ${prefix}.salmon.quant/quant.sf ${prefix}.quant.sf cat <<-END_VERSIONS > versions.yml - "${task.process}": - salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") - END_VERSIONS + "${task.process}": + salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") + END_VERSIONS """ stub: @@ -51,8 +51,8 @@ process SALMON_QUANT { touch ${prefix}.quant.sf cat <<-END_VERSIONS > versions.yml - "${task.process}": - salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") - END_VERSIONS + "${task.process}": + salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") + END_VERSIONS """ } diff --git a/modules/msk/snppileup/main.nf b/modules/msk/snppileup/main.nf index 010a9349..538ffdee 100644 --- a/modules/msk/snppileup/main.nf +++ b/modules/msk/snppileup/main.nf @@ -34,11 +34,11 @@ process SNPPILEUP { ${extra_bams} cat <<-END_VERSIONS > versions.yml - "${task.process}": - htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') - htstools: 0.1.1 - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - END_VERSIONS + "${task.process}": + htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') + htstools: 0.1.1 + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + END_VERSIONS """ stub: @@ -50,10 +50,10 @@ process SNPPILEUP { gzip ${prefix}.snp_pileup cat <<-END_VERSIONS > versions.yml - "${task.process}": - htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') - htstools: 0.1.1 - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - END_VERSIONS + "${task.process}": + htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') + htstools: 0.1.1 + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + END_VERSIONS """ } diff --git a/subworkflows/msk/generate_mutated_peptides/main.nf b/subworkflows/msk/generate_mutated_peptides/main.nf index 610ee13b..af64790e 100644 --- a/subworkflows/msk/generate_mutated_peptides/main.nf +++ b/subworkflows/msk/generate_mutated_peptides/main.nf @@ -19,29 +19,29 @@ workflow GENERATE_MUTATED_PEPTIDES { ch_maf = ch_maf_hla_sv .map{ - new Tuple(it[0],it[1]) + [it[0],it[1]] } ch_hla = ch_maf_hla_sv .map{ - new Tuple(it[0],it[2]) + [it[0],it[2]] } ch_sv = ch_maf_hla_sv .map{ - new Tuple(it[0],it[3]) + [it[0],it[3]] } ch_fasta_and_gff3 = ref_fasta .merge(gff3) .map{ - new Tuple([ id:"mutalyzer_retriever_"+file(it[0]).name +"_"+ file(it[1]).name], it[0], it[1]) + [[ id:"mutalyzer_retriever_"+file(it[0]).name +"_"+ file(it[1]).name], it[0], it[1]] } ch_gtf_and_cdna = gtf .merge(cdna) .map{ - new Tuple(it[0], it[1]) + [it[0], it[1]] } NEOANTIGENUTILS_GENERATEHLASTRING( ch_hla ) @@ -76,18 +76,18 @@ workflow GENERATE_MUTATED_PEPTIDES { def createNEOSVInput(sv_bedpe, hla_str) { def sv_bedpe_channel = sv_bedpe .map{ - new Tuple(it[0],it) + [it[0],it] } def hla_str_channel = hla_str .map{ - new Tuple(it[0],it) + [it[0],it] } def merged_sv_hla = sv_bedpe_channel .join(hla_str_channel, by:0) .map{ - new Tuple(it[1][0], it[1][1], it[2][1]) + [it[1][0], it[1][1], it[2][1]] } .filter{ it[1] != null && it[2] != null } return merged_sv_hla diff --git a/subworkflows/msk/netmhcstabandpan/main.nf b/subworkflows/msk/netmhcstabandpan/main.nf index b82fdfcf..144c0afc 100644 --- a/subworkflows/msk/netmhcstabandpan/main.nf +++ b/subworkflows/msk/netmhcstabandpan/main.nf @@ -50,24 +50,24 @@ workflow NETMHCSTABANDPAN { def createNETMHCInput(fastas_and_hla, sv_fastas) { def fastas_and_hla_channel = fastas_and_hla .map{ - new Tuple(it[0],it) + [it[0],it] } def sv_fastas_channel = sv_fastas .map{ - new Tuple(it[0],it) + [it[0],it] } def merged_mut = fastas_and_hla_channel .join(sv_fastas_channel, by:0) .map({ - new Tuple(it[1][0], it[1][1], it[2][1], it[1][3], "MUT") + [it[1][0], it[1][1], it[2][1], it[1][3], "MUT"] }) def merged_wt = fastas_and_hla_channel .join(sv_fastas_channel, by:0) .map({ - new Tuple(it[1][0], it[1][2], it[2][2], it[1][3], "WT") + [it[1][0], it[1][2], it[2][2], it[1][3], "WT"] }) def merged = merged_mut.mix(merged_wt) return merged diff --git a/subworkflows/msk/phylowgs/main.nf b/subworkflows/msk/phylowgs/main.nf index bbf502b5..2ce0b375 100644 --- a/subworkflows/msk/phylowgs/main.nf +++ b/subworkflows/msk/phylowgs/main.nf @@ -14,12 +14,12 @@ workflow PHYLOWGS { ch_genelevel = ch_input_maf_and_genelevel .map{ - new Tuple(it[0],it[2]) + [it[0],it[2]] } ch_maf = ch_input_maf_and_genelevel .map{ - new Tuple(it[0],it[1]) + [it[0],it[1]] } PHYLOWGS_PARSECNVS(ch_genelevel) @@ -52,17 +52,17 @@ workflow PHYLOWGS { def join_maf_with_cnv(maf,cnv) { def maf_channel = maf .map{ - new Tuple(it[0].id,it) + [it[0].id,it] } def cnv_channel = cnv .map{ - new Tuple(it[0].id,it) + [it[0].id,it] } def mergedWithKey = maf_channel .join(cnv_channel) def merged = mergedWithKey .map{ - new Tuple(it[1][0],it[1][1],it[2][1]) + [it[1][0],it[1][1],it[2][1]] } return merged From 8adfa0b8cb5515b6859208d41914f93c00a230fc Mon Sep 17 00:00:00 2001 From: John Orgera <65687576+johnoooh@users.noreply.github.com> Date: Mon, 16 Feb 2026 13:21:01 -0500 Subject: [PATCH 02/14] Revert tab fix for modules not used by neoantigen pipeline Restores 19 non-pipeline modules to their develop state. Only the 16 modules and 3 subworkflows used by the neoantigen pipeline retain the NF 25.04.0 heredoc tab-indentation fix. Co-Authored-By: Claude Opus 4.6 --- modules/msk/calculatenoise/main.nf | 12 +++++----- modules/msk/custom/splitfastqbylane/main.nf | 12 +++++----- modules/msk/facets/main.nf | 24 +++++++++---------- .../msk/fgbio/collectduplexseqmetrics/main.nf | 12 +++++----- modules/msk/gatk4/applybqsr/main.nf | 6 ++--- modules/msk/gbcms/main.nf | 12 +++++----- .../genomenexus/annotationpipeline/main.nf | 12 +++++----- modules/msk/genotypevariants/all/main.nf | 12 +++++----- modules/msk/mutalyzer/normalizer/main.nf | 12 +++++----- modules/msk/mutect1/main.nf | 12 +++++----- modules/msk/oncokb/mafannotate/main.nf | 12 +++++----- modules/msk/polysolver/main.nf | 12 +++++----- modules/msk/ppflagfixer/main.nf | 16 ++++++------- modules/msk/pvmaf/concat/main.nf | 12 +++++----- modules/msk/pvmaf/tagtraceback/main.nf | 12 +++++----- modules/msk/rediscoverte/main.nf | 12 +++++----- modules/msk/salmon/index/main.nf | 12 +++++----- modules/msk/salmon/quant/main.nf | 12 +++++----- modules/msk/snppileup/main.nf | 20 ++++++++-------- 19 files changed, 123 insertions(+), 123 deletions(-) diff --git a/modules/msk/calculatenoise/main.nf b/modules/msk/calculatenoise/main.nf index 6a80ff06..f5912bd3 100644 --- a/modules/msk/calculatenoise/main.nf +++ b/modules/msk/calculatenoise/main.nf @@ -53,9 +53,9 @@ process CALCULATENOISE { $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - calculatenoise: \$(calculate_noise --help 2>/dev/null || echo "Usage") - END_VERSIONS + "${task.process}": + calculatenoise: \$(calculate_noise --help 2>/dev/null || echo "Usage") + END_VERSIONS """ stub: @@ -72,8 +72,8 @@ process CALCULATENOISE { touch ${meta.id}_pileup.tsv cat <<-END_VERSIONS > versions.yml - "${task.process}": - calculatenoise: \$(calculate_noise --help 2>/dev/null || echo "Usage") - END_VERSIONS + "${task.process}": + calculatenoise: \$(calculate_noise --help 2>/dev/null || echo "Usage") + END_VERSIONS """ } diff --git a/modules/msk/custom/splitfastqbylane/main.nf b/modules/msk/custom/splitfastqbylane/main.nf index bf41ebad..52d6954f 100644 --- a/modules/msk/custom/splitfastqbylane/main.nf +++ b/modules/msk/custom/splitfastqbylane/main.nf @@ -26,9 +26,9 @@ process CUSTOM_SPLITFASTQBYLANE { split_lanes_awk.sh ${prefix} ${read1} ${read2} cat <<-END_VERSIONS > versions.yml - "${task.process}": - gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') - END_VERSIONS + "${task.process}": + gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') + END_VERSIONS """ stub: @@ -38,8 +38,8 @@ process CUSTOM_SPLITFASTQBYLANE { touch out.split.fastq gzip out.split.fastq cat <<-END_VERSIONS > versions.yml - "${task.process}": - gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') - END_VERSIONS + "${task.process}": + gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') + END_VERSIONS """ } diff --git a/modules/msk/facets/main.nf b/modules/msk/facets/main.nf index 2a68aa1f..31bdb081 100644 --- a/modules/msk/facets/main.nf +++ b/modules/msk/facets/main.nf @@ -45,12 +45,12 @@ process FACETS { --counts-file ${snp_pileup} cat <<-END_VERSIONS > versions.yml - "${task.process}": - facets_suite: \$(Rscript -e "packageVersion('facetsSuite')" | grep -oP "\\d+.\\d+.\\d+") - facets: \$(Rscript -e "packageVersion('facets')" | grep -oP "\\d+.\\d+.\\d+") - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - pctGCdata: \$(Rscript -e "packageVersion('pctGCdata')" | grep -oP "\\d+.\\d+.\\d+") - END_VERSIONS + "${task.process}": + facets_suite: \$(Rscript -e "packageVersion('facetsSuite')" | grep -oP "\\d+.\\d+.\\d+") + facets: \$(Rscript -e "packageVersion('facets')" | grep -oP "\\d+.\\d+.\\d+") + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + pctGCdata: \$(Rscript -e "packageVersion('pctGCdata')" | grep -oP "\\d+.\\d+.\\d+") + END_VERSIONS """ stub: @@ -79,11 +79,11 @@ process FACETS { cat <<-END_VERSIONS > versions.yml - "${task.process}": - facets_suite: \$(Rscript -e "packageVersion('facetsSuite')" | grep -oP "\\d+.\\d+.\\d+") - facets: \$(Rscript -e "packageVersion('facets')" | grep -oP "\\d+.\\d+.\\d+") - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - pctGCdata: \$(Rscript -e "packageVersion('pctGCdata')" | grep -oP "\\d+.\\d+.\\d+") - END_VERSIONS + "${task.process}": + facets_suite: \$(Rscript -e "packageVersion('facetsSuite')" | grep -oP "\\d+.\\d+.\\d+") + facets: \$(Rscript -e "packageVersion('facets')" | grep -oP "\\d+.\\d+.\\d+") + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + pctGCdata: \$(Rscript -e "packageVersion('pctGCdata')" | grep -oP "\\d+.\\d+.\\d+") + END_VERSIONS """ } diff --git a/modules/msk/fgbio/collectduplexseqmetrics/main.nf b/modules/msk/fgbio/collectduplexseqmetrics/main.nf index 7c78ae9e..6a5c36a6 100644 --- a/modules/msk/fgbio/collectduplexseqmetrics/main.nf +++ b/modules/msk/fgbio/collectduplexseqmetrics/main.nf @@ -34,9 +34,9 @@ process FGBIO_COLLECTDUPLEXSEQMETRICS { $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - fgbio: \$(fgbio CollectDuplexSeqMetrics --version 2>&1 | grep -o 'Version:.*' | cut -f2- -d: | xargs) - END_VERSIONS + "${task.process}": + fgbio: \$(fgbio CollectDuplexSeqMetrics --version 2>&1 | grep -o 'Version:.*' | cut -f2- -d: | xargs) + END_VERSIONS """ stub: @@ -51,9 +51,9 @@ process FGBIO_COLLECTDUPLEXSEQMETRICS { touch ${prefix}.duplex_umi_counts.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - fgbio: \$(fgbio CollectDuplexSeqMetrics --version 2>&1 | grep -o 'Version:.*' | cut -f2- -d: | xargs) - END_VERSIONS + "${task.process}": + fgbio: \$(fgbio CollectDuplexSeqMetrics --version 2>&1 | grep -o 'Version:.*' | cut -f2- -d: | xargs) + END_VERSIONS """ } diff --git a/modules/msk/gatk4/applybqsr/main.nf b/modules/msk/gatk4/applybqsr/main.nf index 0c662032..7e495637 100644 --- a/modules/msk/gatk4/applybqsr/main.nf +++ b/modules/msk/gatk4/applybqsr/main.nf @@ -44,8 +44,8 @@ process GATK4_APPLYBQSR { $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - gatk4: \$(echo \$(gatk --version 2>&1) | sed 's/^.*(GATK) v//; s/ .*\$//') - END_VERSIONS + "${task.process}": + gatk4: \$(echo \$(gatk --version 2>&1) | sed 's/^.*(GATK) v//; s/ .*\$//') + END_VERSIONS """ } diff --git a/modules/msk/gbcms/main.nf b/modules/msk/gbcms/main.nf index 47db42d4..38922559 100644 --- a/modules/msk/gbcms/main.nf +++ b/modules/msk/gbcms/main.nf @@ -45,9 +45,9 @@ process GBCMS { --bam $sample:${bam} $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - GetBaseCountsMultiSample: \$(echo \$(GetBaseCountsMultiSample --help) | grep -oP '[0-9]\\.[0-9]\\.[0-9]') - END_VERSIONS + "${task.process}": + GetBaseCountsMultiSample: \$(echo \$(GetBaseCountsMultiSample --help) | grep -oP '[0-9]\\.[0-9]\\.[0-9]') + END_VERSIONS """ stub: @@ -57,8 +57,8 @@ process GBCMS { touch variant_file.maf cat <<-END_VERSIONS > versions.yml - "${task.process}": - GetBaseCountsMultiSample: 1.2.5 - END_VERSIONS + "${task.process}": + GetBaseCountsMultiSample: 1.2.5 + END_VERSIONS """ } diff --git a/modules/msk/genomenexus/annotationpipeline/main.nf b/modules/msk/genomenexus/annotationpipeline/main.nf index 698d75ee..f02dbd37 100644 --- a/modules/msk/genomenexus/annotationpipeline/main.nf +++ b/modules/msk/genomenexus/annotationpipeline/main.nf @@ -25,9 +25,9 @@ process GENOMENEXUS_ANNOTATIONPIPELINE { java -Xms${task.memory.toMega()/4}m -Xmx${task.memory.toGiga()}g -jar /genome-nexus-annotation-pipeline/annotationPipeline/target/annotationPipeline.jar --filename ${input_maf} --output-filename ${meta.id}-annotated.maf cat <<-END_VERSIONS > versions.yml - "${task.process}": - genomenexus: 'annotationpipeline version 1.0.5' - END_VERSIONS + "${task.process}": + genomenexus: 'annotationpipeline version 1.0.5' + END_VERSIONS """ stub: @@ -38,8 +38,8 @@ process GENOMENEXUS_ANNOTATIONPIPELINE { touch ${meta.id}-annotated.maf cat <<-END_VERSIONS > versions.yml - "${task.process}": - genomenexus: 'annotation pipeline version 1.0.5 - END_VERSIONS + "${task.process}": + genomenexus: 'annotation pipeline version 1.0.5 + END_VERSIONS """ } diff --git a/modules/msk/genotypevariants/all/main.nf b/modules/msk/genotypevariants/all/main.nf index 1741e9f2..05ab0665 100644 --- a/modules/msk/genotypevariants/all/main.nf +++ b/modules/msk/genotypevariants/all/main.nf @@ -42,9 +42,9 @@ process GENOTYPEVARIANTS_ALL { $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - genotypevariants: \$(genotype_variants --version) - END_VERSIONS + "${task.process}": + genotypevariants: \$(genotype_variants --version) + END_VERSIONS """ stub: @@ -60,8 +60,8 @@ process GENOTYPEVARIANTS_ALL { touch ${prefix}-SIMPLEX_genotyped.maf cat <<-END_VERSIONS > versions.yml - "${task.process}": - genotypevariants: \$(genotype_variants --version) - END_VERSIONS + "${task.process}": + genotypevariants: \$(genotype_variants --version) + END_VERSIONS """ } diff --git a/modules/msk/mutalyzer/normalizer/main.nf b/modules/msk/mutalyzer/normalizer/main.nf index 7e28a136..c70f60c6 100644 --- a/modules/msk/mutalyzer/normalizer/main.nf +++ b/modules/msk/mutalyzer/normalizer/main.nf @@ -34,9 +34,9 @@ process MUTALYZER_NORMALIZER { export MUTALYZER_SETTINGS="\$(pwd)/config.txt" mutalyzer_normalizer "${hgvs_description}" > ${prefix}_${hgvs_description}.json cat <<-END_VERSIONS > versions.yml - "${task.process}": - mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) - END_VERSIONS + "${task.process}": + mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) + END_VERSIONS """ stub: @@ -46,8 +46,8 @@ process MUTALYZER_NORMALIZER { """ touch ${prefix}_${hgvs_description}.json cat <<-END_VERSIONS > versions.yml - "${task.process}": - mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) - END_VERSIONS + "${task.process}": + mutalyzer: \$(echo \$(mutalyzer_normalizer -v | tr '\n' ' ' | awk '{print \$3}')) + END_VERSIONS """ } diff --git a/modules/msk/mutect1/main.nf b/modules/msk/mutect1/main.nf index c3e053ff..0369700e 100644 --- a/modules/msk/mutect1/main.nf +++ b/modules/msk/mutect1/main.nf @@ -45,9 +45,9 @@ process MUTECT1 { cat <<-END_VERSIONS > versions.yml - "${task.process}": - mutect1: \$(echo \$(java -jar /opt/mutect/muTect-1.1.5.jar --help) | grep -o 'The Genome Analysis Toolkit (GATK) v[0-9]\\.[0-9]\\-[0-9]' | sed 's/.* \\([v0-9.-]*\\)/\\1/') - END_VERSIONS + "${task.process}": + mutect1: \$(echo \$(java -jar /opt/mutect/muTect-1.1.5.jar --help) | grep -o 'The Genome Analysis Toolkit (GATK) v[0-9]\\.[0-9]\\-[0-9]' | sed 's/.* \\([v0-9.-]*\\)/\\1/') + END_VERSIONS """ stub: @@ -62,8 +62,8 @@ process MUTECT1 { touch ${case_sample_name}.${control_sample_name}.mutect.txt touch ${case_sample_name}.${control_sample_name}.mutect.vcf cat <<-END_VERSIONS > versions.yml - "${task.process}": - mutect1: \$(echo \$(java -jar /opt/mutect/muTect-1.1.5.jar --help) | grep -o 'The Genome Analysis Toolkit (GATK) v[0-9]\\.[0-9]\\-[0-9]' | sed 's/.* \\([v0-9.-]*\\)/\\1/') - END_VERSIONS + "${task.process}": + mutect1: \$(echo \$(java -jar /opt/mutect/muTect-1.1.5.jar --help) | grep -o 'The Genome Analysis Toolkit (GATK) v[0-9]\\.[0-9]\\-[0-9]' | sed 's/.* \\([v0-9.-]*\\)/\\1/') + END_VERSIONS """ } diff --git a/modules/msk/oncokb/mafannotate/main.nf b/modules/msk/oncokb/mafannotate/main.nf index ef279aab..87b7dd8b 100644 --- a/modules/msk/oncokb/mafannotate/main.nf +++ b/modules/msk/oncokb/mafannotate/main.nf @@ -30,9 +30,9 @@ process ONCOKB_MAFANNOTATE { $args cat <<-END_VERSIONS > versions.yml - "${task.process}": - MafAnnotator: \$(echo \$(MafAnnotator.py -v)) - END_VERSIONS + "${task.process}": + MafAnnotator: \$(echo \$(MafAnnotator.py -v)) + END_VERSIONS """ stub: @@ -44,8 +44,8 @@ process ONCOKB_MAFANNOTATE { touch ${prefix}.oncokb.maf cat <<-END_VERSIONS > versions.yml - "${task.process}": - MafAnnotator: \$(echo \$(MafAnnotator.py -v)) - END_VERSIONS + "${task.process}": + MafAnnotator: \$(echo \$(MafAnnotator.py -v)) + END_VERSIONS """ } diff --git a/modules/msk/polysolver/main.nf b/modules/msk/polysolver/main.nf index ac9314c1..2f34fd36 100644 --- a/modules/msk/polysolver/main.nf +++ b/modules/msk/polysolver/main.nf @@ -43,9 +43,9 @@ process POLYSOLVER { mv ${prefix}/winners.hla.txt ${prefix}.hla.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - polysolver: v3 - END_VERSIONS + "${task.process}": + polysolver: v3 + END_VERSIONS """ stub: @@ -55,8 +55,8 @@ process POLYSOLVER { touch ${prefix}.hla.txt cat <<-END_VERSIONS > versions.yml - "${task.process}": - polysolver: v3 - END_VERSIONS + "${task.process}": + polysolver: v3 + END_VERSIONS """ } diff --git a/modules/msk/ppflagfixer/main.nf b/modules/msk/ppflagfixer/main.nf index 7d5def7b..555bca2b 100644 --- a/modules/msk/ppflagfixer/main.nf +++ b/modules/msk/ppflagfixer/main.nf @@ -27,10 +27,10 @@ process PPFLAGFIXER { ppflag.${prefix}.bam cat <<-END_VERSIONS > versions.yml - "${task.process}": - htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - END_VERSIONS + "${task.process}": + htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + END_VERSIONS """ stub: @@ -40,9 +40,9 @@ process PPFLAGFIXER { """ echo "stub test" >> ppflag.${prefix}.bam cat <<-END_VERSIONS > versions.yml - "${task.process}": - htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - END_VERSIONS + "${task.process}": + htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + END_VERSIONS """ } diff --git a/modules/msk/pvmaf/concat/main.nf b/modules/msk/pvmaf/concat/main.nf index 682ec644..225751be 100644 --- a/modules/msk/pvmaf/concat/main.nf +++ b/modules/msk/pvmaf/concat/main.nf @@ -31,9 +31,9 @@ process PVMAF_CONCAT { cat <<-END_VERSIONS > versions.yml - "${task.process}": - pv: \$( pv --version ) - END_VERSIONS + "${task.process}": + pv: \$( pv --version ) + END_VERSIONS """ stub: @@ -45,8 +45,8 @@ process PVMAF_CONCAT { touch $output cat <<-END_VERSIONS > versions.yml - "${task.process}": - pv: \$( pv --version ) - END_VERSIONS + "${task.process}": + pv: \$( pv --version ) + END_VERSIONS """ } diff --git a/modules/msk/pvmaf/tagtraceback/main.nf b/modules/msk/pvmaf/tagtraceback/main.nf index e20daf15..bee0144e 100644 --- a/modules/msk/pvmaf/tagtraceback/main.nf +++ b/modules/msk/pvmaf/tagtraceback/main.nf @@ -32,9 +32,9 @@ process PVMAF_TAGTRACEBACK { cat <<-END_VERSIONS > versions.yml - "${task.process}": - pv: \$( pv --version ) - END_VERSIONS + "${task.process}": + pv: \$( pv --version ) + END_VERSIONS """ stub: @@ -44,8 +44,8 @@ process PVMAF_TAGTRACEBACK { """ touch $output cat <<-END_VERSIONS > versions.yml - "${task.process}": - pv: \$( pv --version ) - END_VERSIONS + "${task.process}": + pv: \$( pv --version ) + END_VERSIONS """ } diff --git a/modules/msk/rediscoverte/main.nf b/modules/msk/rediscoverte/main.nf index 2c56eb81..a67ebf03 100644 --- a/modules/msk/rediscoverte/main.nf +++ b/modules/msk/rediscoverte/main.nf @@ -36,9 +36,9 @@ process REDISCOVERTE { --outdir=REdiscoverTE_rollup cat <<-END_VERSIONS > versions.yml - "${task.process}": - rediscoverte: 1.0.0 - END_VERSIONS + "${task.process}": + rediscoverte: 1.0.0 + END_VERSIONS """ stub: @@ -49,8 +49,8 @@ process REDISCOVERTE { touch REdiscoverTE_rollup/abc.RDS cat <<-END_VERSIONS > versions.yml - "${task.process}": - rediscoverte: 1.0.0 - END_VERSIONS + "${task.process}": + rediscoverte: 1.0.0 + END_VERSIONS """ } diff --git a/modules/msk/salmon/index/main.nf b/modules/msk/salmon/index/main.nf index a7730534..bce11800 100644 --- a/modules/msk/salmon/index/main.nf +++ b/modules/msk/salmon/index/main.nf @@ -28,9 +28,9 @@ process SALMON_INDEX { -i salmon cat <<-END_VERSIONS > versions.yml - "${task.process}": - salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") - END_VERSIONS + "${task.process}": + salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") + END_VERSIONS """ stub: @@ -47,8 +47,8 @@ process SALMON_INDEX { touch salmon/versionInfo.json cat <<-END_VERSIONS > versions.yml - "${task.process}": - salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") - END_VERSIONS + "${task.process}": + salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") + END_VERSIONS """ } diff --git a/modules/msk/salmon/quant/main.nf b/modules/msk/salmon/quant/main.nf index 137b68d5..1c234767 100644 --- a/modules/msk/salmon/quant/main.nf +++ b/modules/msk/salmon/quant/main.nf @@ -39,9 +39,9 @@ process SALMON_QUANT { cp ${prefix}.salmon.quant/quant.sf ${prefix}.quant.sf cat <<-END_VERSIONS > versions.yml - "${task.process}": - salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") - END_VERSIONS + "${task.process}": + salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") + END_VERSIONS """ stub: @@ -51,8 +51,8 @@ process SALMON_QUANT { touch ${prefix}.quant.sf cat <<-END_VERSIONS > versions.yml - "${task.process}": - salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") - END_VERSIONS + "${task.process}": + salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g") + END_VERSIONS """ } diff --git a/modules/msk/snppileup/main.nf b/modules/msk/snppileup/main.nf index 538ffdee..010a9349 100644 --- a/modules/msk/snppileup/main.nf +++ b/modules/msk/snppileup/main.nf @@ -34,11 +34,11 @@ process SNPPILEUP { ${extra_bams} cat <<-END_VERSIONS > versions.yml - "${task.process}": - htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') - htstools: 0.1.1 - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - END_VERSIONS + "${task.process}": + htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') + htstools: 0.1.1 + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + END_VERSIONS """ stub: @@ -50,10 +50,10 @@ process SNPPILEUP { gzip ${prefix}.snp_pileup cat <<-END_VERSIONS > versions.yml - "${task.process}": - htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') - htstools: 0.1.1 - r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') - END_VERSIONS + "${task.process}": + htslib: \$(bgzip --version | grep -oP '(?<=\\(htslib\\) ).*') + htstools: 0.1.1 + r: \$(R --version | grep -oP '(?<=R version ).*(?=\\()') + END_VERSIONS """ } From e01dcb9289e8a093ef59ddcb2ebedafe34d0f4d3 Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Date: Mon, 16 Feb 2026 13:58:46 -0500 Subject: [PATCH 03/14] Increased memory for input process --- modules/msk/neoantigenutils/neoantigeninput/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/msk/neoantigenutils/neoantigeninput/main.nf b/modules/msk/neoantigenutils/neoantigeninput/main.nf index 18561c55..08454756 100644 --- a/modules/msk/neoantigenutils/neoantigeninput/main.nf +++ b/modules/msk/neoantigenutils/neoantigeninput/main.nf @@ -1,6 +1,6 @@ process NEOANTIGENUTILS_NEOANTIGENINPUT { tag "$meta.id" - label 'process_single' + label 'process_medium' container "ghcr.io/mskcc-omics-workflows/neoantigen-utils-base:1.4.0" input: From b852f4ed9f44cba22cb89a4795a024107d20a55b Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Date: Mon, 16 Feb 2026 15:40:20 -0500 Subject: [PATCH 04/14] Revert "Increased memory for input process" This reverts commit e01dcb9289e8a093ef59ddcb2ebedafe34d0f4d3. --- modules/msk/neoantigenutils/neoantigeninput/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/msk/neoantigenutils/neoantigeninput/main.nf b/modules/msk/neoantigenutils/neoantigeninput/main.nf index 08454756..18561c55 100644 --- a/modules/msk/neoantigenutils/neoantigeninput/main.nf +++ b/modules/msk/neoantigenutils/neoantigeninput/main.nf @@ -1,6 +1,6 @@ process NEOANTIGENUTILS_NEOANTIGENINPUT { tag "$meta.id" - label 'process_medium' + label 'process_single' container "ghcr.io/mskcc-omics-workflows/neoantigen-utils-base:1.4.0" input: From 895fc759070665ba6a84e7ac334286080c0cd7f7 Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Date: Mon, 16 Feb 2026 15:42:11 -0500 Subject: [PATCH 05/14] Increased resouce for neoantigen input --- modules/msk/neoantigenutils/neoantigeninput/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/msk/neoantigenutils/neoantigeninput/main.nf b/modules/msk/neoantigenutils/neoantigeninput/main.nf index 18561c55..08454756 100644 --- a/modules/msk/neoantigenutils/neoantigeninput/main.nf +++ b/modules/msk/neoantigenutils/neoantigeninput/main.nf @@ -1,6 +1,6 @@ process NEOANTIGENUTILS_NEOANTIGENINPUT { tag "$meta.id" - label 'process_single' + label 'process_medium' container "ghcr.io/mskcc-omics-workflows/neoantigen-utils-base:1.4.0" input: From 8c7332d5c096ffa0720b5805a5ad1c9247ef1676 Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Date: Thu, 19 Feb 2026 15:01:01 -0500 Subject: [PATCH 06/14] Update file patterns in meta.yml for SV sequences --- modules/msk/neosv/meta.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/msk/neosv/meta.yml b/modules/msk/neosv/meta.yml index addf1986..2be2b0fe 100644 --- a/modules/msk/neosv/meta.yml +++ b/modules/msk/neosv/meta.yml @@ -48,20 +48,20 @@ output: description: | Groovy Map containing sample information e.g. `[ id:'sample1', single_end:false ]` - - "*.net.in.txt": + - "*.SV.MUT.fa": type: file description: Mutated SV sequences in a multifasta - pattern: "*.net.in.txt" + pattern: "*.SV.MUT.fa" - wtOut: - meta: type: map description: | Groovy Map containing sample information e.g. `[ id:'sample1', single_end:false ]` - - "*.WT.net.in.txt": + - "*.SV.WT.fa": type: file description: WT sequences in a multifasta - pattern: "*.WT.net.in.txt" + pattern: "*.SV.WT.fa" - versions: - versions.yml: type: file From 8918c61825c0eaef745ead818cc84626a0c8fddb Mon Sep 17 00:00:00 2001 From: John Orgera <65687576+johnoooh@users.noreply.github.com> Date: Fri, 20 Feb 2026 12:22:36 -0500 Subject: [PATCH 07/14] Fix PR #87 review issues: Python bug fixes and .nf module safety - C1: Guard empty score_list and zero Kd/KdWT in compute_fitness.py - C2: Add amino acid X support, missing-key guards, and variable-length epitope distance in EpitopeDistance.py - C3: BioPython PairwiseAligner fallback, empty alignment guard, and uppercase normalization in align_neoantigens_to_IEDB.py - C4: Initialize PTC_exon before loop and guard None best_pepmatch2 in generate_input.py - C5: Fix "nonsense_nutation" typo in generate_input.py and generateMutFasta.py - I4: Replace destructive `cat >> inputFasta` with safe `cat > combined_input.fa` in netmhcpan4 and netmhcstabpan modules - I5: Close leaked out_WT_fa file handle in generateMutFasta.py Co-Authored-By: Claude Opus 4.6 --- .../resources/usr/bin/generateMutFasta.py | 3 +- .../usr/bin/align_neoantigens_to_IEDB.py | 34 +++++++++++++-- .../resources/usr/bin/EpitopeDistance.py | 42 +++++++++++++------ .../resources/usr/bin/compute_fitness.py | 11 +++-- .../resources/usr/bin/generate_input.py | 19 +++++---- modules/msk/netmhcpan4/main.nf | 4 +- modules/msk/netmhcstabpan/main.nf | 4 +- 7 files changed, 84 insertions(+), 33 deletions(-) diff --git a/modules/msk/generatemutfasta/resources/usr/bin/generateMutFasta.py b/modules/msk/generatemutfasta/resources/usr/bin/generateMutFasta.py index 1afc95ce..3990975e 100755 --- a/modules/msk/generatemutfasta/resources/usr/bin/generateMutFasta.py +++ b/modules/msk/generatemutfasta/resources/usr/bin/generateMutFasta.py @@ -131,6 +131,7 @@ def main(): mutations.append(mut) out_fa.close() + out_WT_fa.close() debug_out_fa.close() logger.info("\tMAF mutations summary") @@ -208,7 +209,7 @@ def __init__(self, maf_row): variant_type_map = { "missense_mutation": "M", - "nonsense_nutation": "X", + "nonsense_mutation": "X", "silent_mutation": "S", "silent": "S", "frame_shift_ins": "I+", diff --git a/modules/msk/neoantigenediting/aligntoiedb/resources/usr/bin/align_neoantigens_to_IEDB.py b/modules/msk/neoantigenediting/aligntoiedb/resources/usr/bin/align_neoantigens_to_IEDB.py index 9ff645a1..69d8d224 100755 --- a/modules/msk/neoantigenediting/aligntoiedb/resources/usr/bin/align_neoantigens_to_IEDB.py +++ b/modules/msk/neoantigenediting/aligntoiedb/resources/usr/bin/align_neoantigens_to_IEDB.py @@ -15,7 +15,13 @@ import pandas as pd from Bio import SeqIO -from Bio.pairwise2 import align + +try: + from Bio.Align import PairwiseAligner, substitution_matrices + _USE_PAIRWISE_ALIGNER = True +except ImportError: + from Bio.pairwise2 import align as _pairwise2_align + _USE_PAIRWISE_ALIGNER = False def load_blosum62_mat(): @@ -65,11 +71,33 @@ def load_blosum62_mat(): return blosum62 +class _AlignmentResult: + """Minimal alignment result with a score attribute.""" + def __init__(self, score=0.0): + self.score = score + + def align_peptides(seq1, seq2, matrix): gap_open = -11 gap_extend = -1 - aln = align.localds(seq1.upper(), seq2.upper(), matrix, gap_open, gap_extend) - return aln[0] + s1 = seq1.upper() + s2 = seq2.upper() + if _USE_PAIRWISE_ALIGNER: + blosum62 = substitution_matrices.load("BLOSUM62") + aligner = PairwiseAligner() + aligner.mode = "local" + aligner.substitution_matrix = blosum62 + aligner.open_gap_score = gap_open + aligner.extend_gap_score = gap_extend + alignments = aligner.align(s1, s2) + if not alignments: + return _AlignmentResult(0.0) + return alignments[0] + else: + aln = _pairwise2_align.localds(s1, s2, matrix, gap_open, gap_extend) + if not aln: + return _AlignmentResult(0.0) + return aln[0] def run_blastp_n(pep_list, blastdb): diff --git a/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py b/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py index ea090734..98daff2b 100755 --- a/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py +++ b/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py @@ -31,7 +31,7 @@ class EpitopeDistance(object): M_ab : ndarray Amino acid substitution matrix. Indexed by the order of amino_acids. - M_ab.shape == (20, 20) + M_ab.shape == (21, 21) """ @@ -41,7 +41,7 @@ def __init__( model_file=os.path.join( os.path.dirname(__file__), "distance_data", "epitope_distance_model_parameters.json" ), - amino_acids="ACDEFGHIKLMNPQRSTVWY", + amino_acids="ACDEFGHIKLMNPQRSTVWYX", ): """Initialize class and compute M_ab.""" @@ -58,29 +58,45 @@ def set_model(self, model_file): """Load model and format substitution matrix M_ab.""" with open(model_file, "r") as modelf: c_model = json.load(modelf) - self.d_i = c_model["d_i"] - self.M_ab_dict = c_model["M_ab"] + self.d_i = c_model.get("d_i", [1] * 9) + self.M_ab_dict = c_model.get("M_ab", c_model) + avg_val = np.mean(list(self.M_ab_dict.values())) if self.M_ab_dict else 0.0 M_ab = np.zeros((len(self.amino_acids), len(self.amino_acids))) for i, aaA in enumerate(self.amino_acids): for j, aaB in enumerate(self.amino_acids): - M_ab[i, j] = self.M_ab_dict[aaA + "->" + aaB] + key = aaA + "->" + aaB + rev_key = aaB + "->" + aaA + if key in self.M_ab_dict: + M_ab[i, j] = self.M_ab_dict[key] + elif rev_key in self.M_ab_dict: + M_ab[i, j] = self.M_ab_dict[rev_key] + else: + M_ab[i, j] = avg_val self.M_ab = M_ab def epitope_dist(self, epiA, epiB): - """Compute the model difference between the 9-mers epiA and epiB. + """Compute the model difference between epitopes epiA and epiB. - Ignores capitalization. + Ignores capitalization. Supports variable-length epitopes: if the + epitope length matches len(d_i), position weights are applied; + otherwise the raw M_ab values are summed without d_i weighting. Model: dist({a_i}, {b_i}) = \sum_i d_i M_ab(a_i, b_i) """ - - return sum( - [ + n = min(len(epiA), len(epiB)) + if n == len(self.d_i): + return sum( self.d_i[i] * self.M_ab[ self.amino_acid_dict[epiA[i]], self.amino_acid_dict[epiB[i]] ] - for i in range(9) - ] - ) + for i in range(n) + ) + else: + return sum( + self.M_ab[ + self.amino_acid_dict[epiA[i]], self.amino_acid_dict[epiB[i]] + ] + for i in range(n) + ) diff --git a/modules/msk/neoantigenediting/computefitness/resources/usr/bin/compute_fitness.py b/modules/msk/neoantigenediting/computefitness/resources/usr/bin/compute_fitness.py index f3a52a1e..2b078cec 100755 --- a/modules/msk/neoantigenediting/computefitness/resources/usr/bin/compute_fitness.py +++ b/modules/msk/neoantigenediting/computefitness/resources/usr/bin/compute_fitness.py @@ -326,10 +326,13 @@ def clean_data(tree): mut2neo = defaultdict(list) for neo in neoantigens: score_list = naseq2scores[neo["sequence"]] - neo["R"] = compute_R(score_list, a, k) - neo["logC"] = epidist.epitope_dist(neo["sequence"], neo["WT_sequence"]) - neo["logA"] = np.log(neo["KdWT"] / neo["Kd"]) - neo["quality"] = (w * neo["logC"] + (1 - w) * neo["logA"]) * neo["R"] + neo["R"] = compute_R(score_list, a, k) if score_list else 0.0 + if neo["Kd"] == 0 or neo["KdWT"] == 0: + neo["logC"] = neo["logA"] = neo["quality"] = 0.0 + else: + neo["logC"] = epidist.epitope_dist(neo["sequence"], neo["WT_sequence"]) + neo["logA"] = np.log(neo["KdWT"] / neo["Kd"]) + neo["quality"] = (w * neo["logC"] + (1 - w) * neo["logA"]) * neo["R"] mut2neo[neo["mutation_id"]].append(neo) mut2dg = mark_driver_gene_mutations(sjson) diff --git a/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py b/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py index 56c93367..08e3ae71 100755 --- a/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py +++ b/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py @@ -555,12 +555,14 @@ def find_most_similar_string(target, strings): # In this case we don't want to report the peptide as a neoantigen, its not neo continue - elif ( - best_pepmatch[0] != row_mut["peptide"][0] - and best_pepmatch2[0] == row_mut["peptide"][0] - ) or ( - best_pepmatch[-1] != row_mut["peptide"][-1] - and best_pepmatch2[-1] == row_mut["peptide"][-1] + elif best_pepmatch2 is not None and ( + ( + best_pepmatch[0] != row_mut["peptide"][0] + and best_pepmatch2[0] == row_mut["peptide"][0] + ) or ( + best_pepmatch[-1] != row_mut["peptide"][-1] + and best_pepmatch2[-1] == row_mut["peptide"][-1] + ) ): # We should preferentially match the first AA if we can. Sometimes the pairwise alignment isnt the best at this so we do a little check here. # It will also do this when the last AA of the best match doesnt match but the last A of the second best match does @@ -694,7 +696,7 @@ def makeID(maf_row): variant_type_map = { "missense_mutation": "M", - "nonsense_nutation": "X", + "nonsense_mutation": "X", "silent_mutation": "S", "silent": "S", "frame_shift_ins": "I+", @@ -1036,6 +1038,7 @@ def determine_NMD(chrom, pos,num_windows,len_indel, ensembl, transcriptID=None): NMD = "False" + PTC_exon = None pos = int(pos) + 1 for i in range(0,len(exon_ranges)): if pos>=exon_ranges[i][0] and pos<=exon_ranges[i][1]: @@ -1058,7 +1061,7 @@ def determine_NMD(chrom, pos,num_windows,len_indel, ensembl, transcriptID=None): else: mut_to_stop_dist = mut_to_stop_dist - dist - if PTC_exon == exon_ranges[-1]: + if PTC_exon is not None and PTC_exon == exon_ranges[-1]: # "on the last exon" NMD = "Last Exon" else: diff --git a/modules/msk/netmhcpan4/main.nf b/modules/msk/netmhcpan4/main.nf index 80b6c839..22ffc291 100644 --- a/modules/msk/netmhcpan4/main.nf +++ b/modules/msk/netmhcpan4/main.nf @@ -36,11 +36,11 @@ process NETMHCPAN4 { chmod 777 ${tmpDir} - cat ${inputSVFasta} >> ${inputFasta} + cat ${inputFasta} ${inputSVFasta} > combined_input.fa /usr/local/bin/netMHCpan-${NETMHCPAN_VERSION}/netMHCpan \ -s 0 \ -BA 1 \ - -f ${inputFasta} \ + -f combined_input.fa \ -a ${hla} \ -l 9,10 \ -inptype 0 \ diff --git a/modules/msk/netmhcstabpan/main.nf b/modules/msk/netmhcstabpan/main.nf index 4cac5852..76ccbee0 100644 --- a/modules/msk/netmhcstabpan/main.nf +++ b/modules/msk/netmhcstabpan/main.nf @@ -38,11 +38,11 @@ process NETMHCSTABPAN { mkdir -p ${tmpDir} chmod 777 ${tmpDir} - cat ${inputSVFasta} >> ${inputFasta} + cat ${inputFasta} ${inputSVFasta} > combined_input.fa /usr/local/bin/netMHCstabpan-${NETMHCSTABPAN_VERSION}/netMHCstabpan \ -s -1 \ - -f ${inputFasta} \ + -f combined_input.fa \ -a ${hla} \ -l 9,10 \ -inptype 0 > ${prefix}.${inputType}.netmhcstabpan.output From e2372b6fc2e8d0d407a6aa72d431c1b80d2991e8 Mon Sep 17 00:00:00 2001 From: John Orgera <65687576+johnoooh@users.noreply.github.com> Date: Fri, 20 Feb 2026 12:33:08 -0500 Subject: [PATCH 08/14] Revert set_model and epitope_dist logic changes in EpitopeDistance.py Keep only the amino acid X addition and docstring update. Revert set_model() error handling and variable-length epitope_dist() changes per review feedback. Co-Authored-By: Claude Opus 4.6 --- .../resources/usr/bin/EpitopeDistance.py | 38 ++++++------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py b/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py index 98daff2b..428cebee 100755 --- a/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py +++ b/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py @@ -58,45 +58,29 @@ def set_model(self, model_file): """Load model and format substitution matrix M_ab.""" with open(model_file, "r") as modelf: c_model = json.load(modelf) - self.d_i = c_model.get("d_i", [1] * 9) - self.M_ab_dict = c_model.get("M_ab", c_model) - avg_val = np.mean(list(self.M_ab_dict.values())) if self.M_ab_dict else 0.0 + self.d_i = c_model["d_i"] + self.M_ab_dict = c_model["M_ab"] M_ab = np.zeros((len(self.amino_acids), len(self.amino_acids))) for i, aaA in enumerate(self.amino_acids): for j, aaB in enumerate(self.amino_acids): - key = aaA + "->" + aaB - rev_key = aaB + "->" + aaA - if key in self.M_ab_dict: - M_ab[i, j] = self.M_ab_dict[key] - elif rev_key in self.M_ab_dict: - M_ab[i, j] = self.M_ab_dict[rev_key] - else: - M_ab[i, j] = avg_val + M_ab[i, j] = self.M_ab_dict[aaA + "->" + aaB] self.M_ab = M_ab def epitope_dist(self, epiA, epiB): - """Compute the model difference between epitopes epiA and epiB. + """Compute the model difference between the 9-mers epiA and epiB. - Ignores capitalization. Supports variable-length epitopes: if the - epitope length matches len(d_i), position weights are applied; - otherwise the raw M_ab values are summed without d_i weighting. + Ignores capitalization. Model: dist({a_i}, {b_i}) = \sum_i d_i M_ab(a_i, b_i) """ - n = min(len(epiA), len(epiB)) - if n == len(self.d_i): - return sum( + + return sum( + [ self.d_i[i] * self.M_ab[ self.amino_acid_dict[epiA[i]], self.amino_acid_dict[epiB[i]] ] - for i in range(n) - ) - else: - return sum( - self.M_ab[ - self.amino_acid_dict[epiA[i]], self.amino_acid_dict[epiB[i]] - ] - for i in range(n) - ) + for i in range(9) + ] + ) From 2de41a3dc0fe15df7300bf7a3559e5bd0c6232f2 Mon Sep 17 00:00:00 2001 From: John Orgera <65687576+johnoooh@users.noreply.github.com> Date: Fri, 20 Feb 2026 14:40:49 -0500 Subject: [PATCH 09/14] Revert all EpitopeDistance.py changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drop amino acid X and docstring change — the model JSON lacks X->* entries, causing KeyError at runtime. Co-Authored-By: Claude Opus 4.6 --- .../computefitness/resources/usr/bin/EpitopeDistance.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py b/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py index 428cebee..ea090734 100755 --- a/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py +++ b/modules/msk/neoantigenediting/computefitness/resources/usr/bin/EpitopeDistance.py @@ -31,7 +31,7 @@ class EpitopeDistance(object): M_ab : ndarray Amino acid substitution matrix. Indexed by the order of amino_acids. - M_ab.shape == (21, 21) + M_ab.shape == (20, 20) """ @@ -41,7 +41,7 @@ def __init__( model_file=os.path.join( os.path.dirname(__file__), "distance_data", "epitope_distance_model_parameters.json" ), - amino_acids="ACDEFGHIKLMNPQRSTVWYX", + amino_acids="ACDEFGHIKLMNPQRSTVWY", ): """Initialize class and compute M_ab.""" From 95c8dfe446e8be8340f70571fcdd52c918446be3 Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Date: Thu, 23 Apr 2026 10:48:28 -0400 Subject: [PATCH 10/14] Add verbose compression type checks for mutalyzer retriever --- modules/msk/mutalyzer/retriever/main.nf | 33 +++++++-- .../mutalyzer/retriever/tests/main.nf.test | 70 +++++++++++++++++++ .../retriever/tests/main.nf.test.snap | 44 +++++++++--- .../msk/mutalyzer/retriever/tests/setup.nf | 14 ++++ tests/config/test_data.config | 1 + 5 files changed, 147 insertions(+), 15 deletions(-) create mode 100644 modules/msk/mutalyzer/retriever/tests/setup.nf diff --git a/modules/msk/mutalyzer/retriever/main.nf b/modules/msk/mutalyzer/retriever/main.nf index de50f966..33cb7199 100644 --- a/modules/msk/mutalyzer/retriever/main.nf +++ b/modules/msk/mutalyzer/retriever/main.nf @@ -18,14 +18,35 @@ process MUTALYZER_RETRIEVER { def prefix = task.ext.prefix ?: "${meta.id}" """ - if ! bgzip --reindex ${fasta} > /dev/null 2>&1 - then - # Re-compress fasta with bgzip - mv ${fasta} ${fasta.baseName}.tmp.gzip - gunzip -c ${fasta.baseName}.tmp.gzip | bgzip -c > ${fasta} + + # Read first 3 bytes and route by magic: bgzip=1f8b08,gzip=1f8b08, bzip2=425a68. + # Plain-text FASTA/FASTQ commonly starts with '>' (3e) or '@' (40). + MAGIC=\$(head -c 3 "${fasta}" | od -An -tx1 | tr -d ' \n') + + case "\$MAGIC" in + 1f8b08) + if ! bgzip --reindex ${fasta} > /dev/null 2>&1; then + mv ${fasta} ${fasta.baseName}.tmp.gzip + gunzip -c ${fasta.baseName}.tmp.gzip | bgzip -c > ${fasta} + fi + ;; + 425a68) + mv ${fasta} ${fasta.baseName}.tmp.bzip2 + bunzip2 -c "${fasta.baseName}.tmp.bzip2" | bgzip -c > ${fasta} + ;; + 3e*|40*) + mv ${fasta} ${fasta.baseName}.tmp + bgzip -c "${fasta.baseName}.tmp" > "${fasta}" + ;; + *) + echo "ERROR: Unsupported input format for ${fasta}." >&2 + echo " Expected: bgzip/gzip, bzip2, or plain-text FASTA/FASTQ." >&2 + exit 1 + ;; + esac + bgzip --reindex ${fasta} - fi # Build cache diff --git a/modules/msk/mutalyzer/retriever/tests/main.nf.test b/modules/msk/mutalyzer/retriever/tests/main.nf.test index 82bc2f03..7ffd0e1a 100644 --- a/modules/msk/mutalyzer/retriever/tests/main.nf.test +++ b/modules/msk/mutalyzer/retriever/tests/main.nf.test @@ -63,6 +63,76 @@ nextflow_process { } + test("MUTALYZER_RETRIEVER - bzip2 fasta - tar") { + + when { + + process { + """ + + input[0] = [ + [ id:'test' ], // meta map + file(params.test_data_mskcc['neoantigen']['small_test_chr2and16']['fa_bz2'], checkIfExists: true), + file(params.test_data_mskcc['neoantigen']['small_test_chr2and16']['gff3'], checkIfExists: true) + ] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.versions, file(process.out.mutalyzer_cache[0]).name).match() } + ) + } + + } + + test("MUTALYZER_RETRIEVER - unzipped fasta - tar") { + + setup { + run("GUNZIP_FASTA") { + script "./setup.nf" + process { + """ + + input = [ + file(params.test_data_mskcc['neoantigen']['small_test_chr2and16']['fa_gzip'], checkIfExists: true) + ] + + """ + } + + } + } + + when { + + process { + """ + + input[0] = GUNZIP_FASTA.out.fasta.map { fa -> + [ + [ id:'test' ], // meta map + fa, + file(params.test_data_mskcc['neoantigen']['small_test_chr2and16']['gff3'], checkIfExists: true) + ] + } + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.versions, file(process.out.mutalyzer_cache[0]).name).match() } + ) + } + + } + test("MUTALYZER_RETRIEVER - fasta - tar - stub") { diff --git a/modules/msk/mutalyzer/retriever/tests/main.nf.test.snap b/modules/msk/mutalyzer/retriever/tests/main.nf.test.snap index d851969c..dc140147 100644 --- a/modules/msk/mutalyzer/retriever/tests/main.nf.test.snap +++ b/modules/msk/mutalyzer/retriever/tests/main.nf.test.snap @@ -2,40 +2,66 @@ "MUTALYZER_RETRIEVER - bgzip fasta - tar": { "content": [ [ - "versions.yml:md5,03f8b4f0a527f3d4eb0f93aebf41774c" + "versions.yml:md5,4ab2d845297c3e2b5da08dcdfb597219" ], "test.tar.gz" ], "meta": { "nf-test": "0.9.3", - "nextflow": "25.10.0" + "nextflow": "25.10.4" }, - "timestamp": "2025-11-19T15:47:30.148934" + "timestamp": "2026-04-22T17:24:36.805516" }, "MUTALYZER_RETRIEVER - gzip fasta - tar": { "content": [ [ - "versions.yml:md5,03f8b4f0a527f3d4eb0f93aebf41774c" + "versions.yml:md5,4ab2d845297c3e2b5da08dcdfb597219" ], "test.tar.gz" ], "meta": { "nf-test": "0.9.3", - "nextflow": "25.10.0" + "nextflow": "25.10.4" }, - "timestamp": "2025-11-19T15:48:41.373661" + "timestamp": "2026-04-22T17:26:20.666263" + }, + "MUTALYZER_RETRIEVER - bzip2 fasta - tar": { + "content": [ + [ + "versions.yml:md5,4ab2d845297c3e2b5da08dcdfb597219" + ], + "test.tar.gz" + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-04-23T10:36:15.363805" + }, + "MUTALYZER_RETRIEVER - unzipped fasta - tar": { + "content": [ + [ + "versions.yml:md5,4ab2d845297c3e2b5da08dcdfb597219" + ], + "test.tar.gz" + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-04-22T18:05:42.309498" }, "MUTALYZER_RETRIEVER - fasta - tar - stub": { "content": [ [ - "versions.yml:md5,03f8b4f0a527f3d4eb0f93aebf41774c" + "versions.yml:md5,4ab2d845297c3e2b5da08dcdfb597219" ], "test.tar.gz" ], "meta": { "nf-test": "0.9.3", - "nextflow": "25.10.0" + "nextflow": "25.10.4" }, - "timestamp": "2025-11-19T15:48:45.850408" + "timestamp": "2026-04-22T17:26:43.924997" } } \ No newline at end of file diff --git a/modules/msk/mutalyzer/retriever/tests/setup.nf b/modules/msk/mutalyzer/retriever/tests/setup.nf new file mode 100644 index 00000000..4610861a --- /dev/null +++ b/modules/msk/mutalyzer/retriever/tests/setup.nf @@ -0,0 +1,14 @@ +process GUNZIP_FASTA { + container "ghcr.io/mskcc-omics-workflows/neoantigen-utils-base:1.4.0" + + input: + path fasta_gzip + + output: + path "unzipped.fa", emit: fasta + + script: + """ + gunzip -c ${fasta_gzip} > unzipped.fa + """ +} diff --git a/tests/config/test_data.config b/tests/config/test_data.config index bdfd151f..963b084c 100644 --- a/tests/config/test_data.config +++ b/tests/config/test_data.config @@ -771,6 +771,7 @@ params { gff3 = "${params.test_data_base_msk}/neoantigen/neoantigen/small_test_chr2and16/Homo_sapiens.GRCh37.87.chr2_16.gff3" fa_bgzip = "${params.test_data_base_msk}/neoantigen/neoantigen/small_test_chr2and16/Homo_sapiens.GRCh37.dna_rm.chromosome.chr2_16.fa.bgzip.gz" fa_gzip = "${params.test_data_base_msk}/neoantigen/neoantigen/small_test_chr2and16/Homo_sapiens.GRCh37.dna_rm.chromosome.chr2_16.fa.gzip.gz" + fa_bz2 = "${params.test_data_base_msk}/neoantigen/neoantigen/small_test_chr2and16/Homo_sapiens.GRCh37.dna_rm.chromosome.chr2_16.fa.bz2.gz" facets_gene_level = "${params.test_data_base_msk}/neoantigen/neoantigen/small_test_chr2and16/facets_gene_level.chr2_16.txt" facets_hisens_cncf = "${params.test_data_base_msk}/neoantigen/neoantigen/small_test_chr2and16/facets_hisens.cncf.chr2_16.txt" somatic_filtered_maf = "${params.test_data_base_msk}/neoantigen/neoantigen/small_test_chr2and16/somatic_filtered.chr2_16.maf" From 98439a9b98f9a49c6bb66126b9151da0da309bc1 Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Date: Thu, 23 Apr 2026 11:58:24 -0400 Subject: [PATCH 11/14] Updated generate_mutated_peptides workflow --- subworkflows/msk/generate_mutated_peptides/main.nf | 4 ++-- .../tests/main.nf.test.snap | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/subworkflows/msk/generate_mutated_peptides/main.nf b/subworkflows/msk/generate_mutated_peptides/main.nf index af64790e..ed9cf6f1 100644 --- a/subworkflows/msk/generate_mutated_peptides/main.nf +++ b/subworkflows/msk/generate_mutated_peptides/main.nf @@ -52,7 +52,7 @@ workflow GENERATE_MUTATED_PEPTIDES { ch_versions = ch_versions.mix(MUTALYZER_RETRIEVER.out.versions) - GENERATEMUTFASTA( ch_maf, MUTALYZER_RETRIEVER.out.mutalyzer_cache ) + GENERATEMUTFASTA( ch_maf, MUTALYZER_RETRIEVER.out.mutalyzer_cache.collect() ) ch_versions = ch_versions.mix(GENERATEMUTFASTA.out.versions) @@ -68,7 +68,7 @@ workflow GENERATE_MUTATED_PEPTIDES { wt_fasta = GENERATEMUTFASTA.out.wt_fasta // channel: [ val(meta), [ *.WT_sequences.fa ] ] mut_fasta_log = GENERATEMUTFASTA.out.mut_fasta_log // channel: [ val(meta), [ *_generate_mut_fasta.log ] ] sv_mut_fasta = NEOSV.out.mutOut // channel: [ val(meta), [ *.SV.MUT.fa ] ] - sv_wt_fasta = NEOSV.out.wtOut // channel: [ val(meta), [ *.SV.WT.fa ] ] + sv_wt_fasta = NEOSV.out.wtOut // channel: [ val(meta), [ *.SV.WT.fa ] ] hla_string = NEOANTIGENUTILS_GENERATEHLASTRING.out.hlastring // channel: [ val(meta), [ hla_string ] ] versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/msk/generate_mutated_peptides/tests/main.nf.test.snap b/subworkflows/msk/generate_mutated_peptides/tests/main.nf.test.snap index c683921c..bd360ec5 100644 --- a/subworkflows/msk/generate_mutated_peptides/tests/main.nf.test.snap +++ b/subworkflows/msk/generate_mutated_peptides/tests/main.nf.test.snap @@ -86,9 +86,9 @@ ], "6": [ "versions.yml:md5,1fa6d346cee06ebfc0cf4a371024ff06", - "versions.yml:md5,2935160fac5bdce0d8ddee95ebff942b", - "versions.yml:md5,f03045db4d7a08c24b8dbf110a74fa7d", - "versions.yml:md5,fac6d8a78c437014495196ba202ee85a" + "versions.yml:md5,299918bbdd0cdf65249ca8a59e89a463", + "versions.yml:md5,2df764f07b1e77cc872f988761b019d2", + "versions.yml:md5,f03045db4d7a08c24b8dbf110a74fa7d" ], "hla_string": [ [ @@ -137,9 +137,9 @@ ], "versions": [ "versions.yml:md5,1fa6d346cee06ebfc0cf4a371024ff06", - "versions.yml:md5,2935160fac5bdce0d8ddee95ebff942b", - "versions.yml:md5,f03045db4d7a08c24b8dbf110a74fa7d", - "versions.yml:md5,fac6d8a78c437014495196ba202ee85a" + "versions.yml:md5,299918bbdd0cdf65249ca8a59e89a463", + "versions.yml:md5,2df764f07b1e77cc872f988761b019d2", + "versions.yml:md5,f03045db4d7a08c24b8dbf110a74fa7d" ], "wt_fasta": [ [ @@ -156,6 +156,6 @@ "nf-test": "0.9.2", "nextflow": "25.10.2" }, - "timestamp": "2025-12-17T16:47:09.052571093" + "timestamp": "2026-04-23T11:52:29.11760895" } } \ No newline at end of file From f7d4cda4510eb352a4ac5cddbf6b6d1096af193f Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Date: Fri, 24 Apr 2026 13:14:58 -0400 Subject: [PATCH 12/14] Some linting fixes --- .../computefitness/resources/usr/bin/compute_fitness.py | 6 +++--- .../msk/neoantigenediting/computefitness/tests/main.nf.test | 2 +- .../neoantigeninput/resources/usr/bin/generate_input.py | 1 - .../msk/neoantigenutils/neoantigeninput/tests/main.nf.test | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/modules/msk/neoantigenediting/computefitness/resources/usr/bin/compute_fitness.py b/modules/msk/neoantigenediting/computefitness/resources/usr/bin/compute_fitness.py index f3a52a1e..763c9b33 100755 --- a/modules/msk/neoantigenediting/computefitness/resources/usr/bin/compute_fitness.py +++ b/modules/msk/neoantigenediting/computefitness/resources/usr/bin/compute_fitness.py @@ -294,7 +294,7 @@ def clean_data(tree): parser.add_argument("--a_param", help="weight corresponding to a", default = 22.897590714815188) parser.add_argument("--k_param", help="weight corresponding to k", default = 1) parser.add_argument("--w_param", help="weight corresponding to w", default = 0.22402192838740312) - + args = parser.parse_args() alignment_file = args.alignment @@ -303,8 +303,8 @@ def clean_data(tree): a = float(args.a_param) k = float(args.k_param) w = float(args.w_param) - - + + epidist = EpitopeDistance() sample_file = patient_file diff --git a/modules/msk/neoantigenediting/computefitness/tests/main.nf.test b/modules/msk/neoantigenediting/computefitness/tests/main.nf.test index b0d14c70..9d0df1e0 100644 --- a/modules/msk/neoantigenediting/computefitness/tests/main.nf.test +++ b/modules/msk/neoantigenediting/computefitness/tests/main.nf.test @@ -26,7 +26,7 @@ nextflow_process { file(params.test_data_mskcc['neoantigen']['patient_data'], checkIfExists: true), file(params.test_data_mskcc['neoantigen']['iedb_alignments'], checkIfExists: true) ] - + """ } diff --git a/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py b/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py index 56c93367..56a92b38 100755 --- a/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py +++ b/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py @@ -1155,4 +1155,3 @@ def parse_args(): print("patient_data_file File:", args.patient_data_file) main(args) - diff --git a/modules/msk/neoantigenutils/neoantigeninput/tests/main.nf.test b/modules/msk/neoantigenutils/neoantigeninput/tests/main.nf.test index 6582671d..2234f781 100644 --- a/modules/msk/neoantigenutils/neoantigeninput/tests/main.nf.test +++ b/modules/msk/neoantigenutils/neoantigeninput/tests/main.nf.test @@ -157,4 +157,4 @@ nextflow_process { } -} \ No newline at end of file +} From 788d1fa840b13c58ffcba3b537babb15940d6445 Mon Sep 17 00:00:00 2001 From: John Orgera <65687576+johnoooh@users.noreply.github.com> Date: Thu, 30 Apr 2026 16:47:14 -0400 Subject: [PATCH 13/14] Fix frameshift identifier encoding to use alphanumeric-only codes Replace `I+`/`I-` in variant_type_map with `Fi`/`Fd` so that downstream MHC tools (which sanitize special characters) cannot collapse two distinct frameshift classes onto the same `I_` token, which previously caused a KeyError in generate_input.py when looking up the original key in mutation_dict. Changes: - generateMutFasta.py / generate_input.py: variant_type_map values `I+` -> `Fi` (frame_shift_ins), `I-` -> `Fd` (frame_shift_del). - generate_input.py: `IDsplit[1][0] != \"I\"` widened to also exclude the new `F` prefix so frameshifts continue to take the indel branch rather than the missense-polymorphism branch. Frameshift detection switched from `+`/`-` substring check to `Fi`/`Fd` prefix check. - Refresh nf-test snapshots (neoantigeninput json,tsv md5; generatemutfasta versions.yml md5). Companion: test fixture rename in mskcc-omics-workflows/test-datasets (neoantigen branch). --- .../resources/usr/bin/generateMutFasta.py | 4 ++-- .../msk/generatemutfasta/tests/main.nf.test.snap | 16 ++++++++-------- .../resources/usr/bin/generate_input.py | 8 ++++---- .../neoantigeninput/tests/main.nf.test.snap | 4 ++-- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/msk/generatemutfasta/resources/usr/bin/generateMutFasta.py b/modules/msk/generatemutfasta/resources/usr/bin/generateMutFasta.py index 3990975e..b15a5a86 100755 --- a/modules/msk/generatemutfasta/resources/usr/bin/generateMutFasta.py +++ b/modules/msk/generatemutfasta/resources/usr/bin/generateMutFasta.py @@ -212,8 +212,8 @@ def __init__(self, maf_row): "nonsense_mutation": "X", "silent_mutation": "S", "silent": "S", - "frame_shift_ins": "I+", - "frame_shift_del": "I-", + "frame_shift_ins": "Fi", + "frame_shift_del": "Fd", "in_frame_ins": "If", "in_frame_del": "Id", "splice_site": "Sp", diff --git a/modules/msk/generatemutfasta/tests/main.nf.test.snap b/modules/msk/generatemutfasta/tests/main.nf.test.snap index 6d43b972..4614aa3a 100644 --- a/modules/msk/generatemutfasta/tests/main.nf.test.snap +++ b/modules/msk/generatemutfasta/tests/main.nf.test.snap @@ -2,7 +2,7 @@ "generatemutfasta - maf - fasta": { "content": [ [ - "versions.yml:md5,825989b899b3a496c7a3e3560389a424" + "versions.yml:md5,4fa5b9a30fd2979e399cd78fc2c8d9b9" ], [ [ @@ -26,9 +26,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nextflow": "25.10.3" }, - "timestamp": "2026-02-09T15:03:37.884362" + "timestamp": "2026-04-30T16:46:35.278842" }, "generatemutfasta - maf - fasta - stub": { "content": [ @@ -61,7 +61,7 @@ ] ], "3": [ - "versions.yml:md5,e653e8a2e136536d683b73afd3e0d00d" + "versions.yml:md5,4fa5b9a30fd2979e399cd78fc2c8d9b9" ], "mut_fasta": [ [ @@ -82,7 +82,7 @@ ] ], "versions": [ - "versions.yml:md5,e653e8a2e136536d683b73afd3e0d00d" + "versions.yml:md5,4fa5b9a30fd2979e399cd78fc2c8d9b9" ], "wt_fasta": [ [ @@ -97,8 +97,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.5" + "nextflow": "25.10.3" }, - "timestamp": "2026-02-09T15:03:51.569621" + "timestamp": "2026-04-30T16:46:48.069748" } -} +} \ No newline at end of file diff --git a/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py b/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py index 08e3ae71..089a6ef4 100755 --- a/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py +++ b/modules/msk/neoantigenutils/neoantigeninput/resources/usr/bin/generate_input.py @@ -527,7 +527,7 @@ def find_most_similar_string(target, strings): # match if ( (WTid in WTdict) - and IDsplit[1][0] != "I" + and IDsplit[1][0] not in ("I", "F") ): #This block takes care of Missense mutations caused by polymorphisims matchfound = True @@ -536,7 +536,7 @@ def find_most_similar_string(target, strings): else: # Here we take care of INDELS and everything else - if ("-" in IDsplit[1] or "+" in IDsplit[1]): + if IDsplit[1].startswith("Fi") or IDsplit[1].startswith("Fd"): frameshift = True ( best_pepmatch, @@ -699,8 +699,8 @@ def makeID(maf_row): "nonsense_mutation": "X", "silent_mutation": "S", "silent": "S", - "frame_shift_ins": "I+", - "frame_shift_del": "I-", + "frame_shift_ins": "Fi", + "frame_shift_del": "Fd", "in_frame_ins": "If", "in_frame_del": "Id", "splice_site": "Sp", diff --git a/modules/msk/neoantigenutils/neoantigeninput/tests/main.nf.test.snap b/modules/msk/neoantigenutils/neoantigeninput/tests/main.nf.test.snap index 40127660..2fd69f11 100644 --- a/modules/msk/neoantigenutils/neoantigeninput/tests/main.nf.test.snap +++ b/modules/msk/neoantigenutils/neoantigeninput/tests/main.nf.test.snap @@ -78,7 +78,7 @@ "id": "test", "single_end": false }, - "test_patient_test_input.json:md5,0c9e3ec012d543da7c2655ee6665cff3" + "test_patient_test_input.json:md5,8b26c4e2d6da8a5c5d73c9a26e295fc8" ] ], "1": [ @@ -90,7 +90,7 @@ "id": "test", "single_end": false }, - "test_patient_test_input.json:md5,0c9e3ec012d543da7c2655ee6665cff3" + "test_patient_test_input.json:md5,8b26c4e2d6da8a5c5d73c9a26e295fc8" ] ], "versions": [ From e7459f2494e1819ed5c810e0d77aee3854bcadc9 Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Date: Thu, 7 May 2026 11:05:40 -0400 Subject: [PATCH 14/14] Updated snap test files --- modules/msk/neosv/tests/main.nf.test.snap | 8 ++++---- .../msk/generate_mutated_peptides/tests/main.nf.test.snap | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/msk/neosv/tests/main.nf.test.snap b/modules/msk/neosv/tests/main.nf.test.snap index 34b7fb5c..fb6db447 100644 --- a/modules/msk/neosv/tests/main.nf.test.snap +++ b/modules/msk/neosv/tests/main.nf.test.snap @@ -10,7 +10,7 @@ "id": "test", "single_end": false }, - "test.SV.MUT.fa:md5,646a1666817d924b926c0b3bd6f58af3" + "test.SV.MUT.fa:md5,6bf4a5a800bbc6e5786d9eea37d54d1e" ] ], [ @@ -19,15 +19,15 @@ "id": "test", "single_end": false }, - "test.SV.WT.fa:md5,dc236f5aa955bb6087c8e713d2c8d2f4" + "test.SV.WT.fa:md5,5387c207180152a8fff2edfa13cb1094" ] ] ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.10.2" + "nextflow": "25.10.4" }, - "timestamp": "2025-12-17T16:42:38.342052753" + "timestamp": "2026-05-07T10:57:14.677491077" }, "neosv - fa - stub": { "content": [ diff --git a/subworkflows/msk/generate_mutated_peptides/tests/main.nf.test.snap b/subworkflows/msk/generate_mutated_peptides/tests/main.nf.test.snap index bd360ec5..957c13a7 100644 --- a/subworkflows/msk/generate_mutated_peptides/tests/main.nf.test.snap +++ b/subworkflows/msk/generate_mutated_peptides/tests/main.nf.test.snap @@ -4,15 +4,15 @@ "test.MUT.sequences.fa:md5,3d2ff66590a4329f9a24e03bdf84e0ab", "test.WT.sequences.fa:md5,4bfcfc4d29d01ddc4108f39350936228", "test_generate_mut_fasta.log", - "test.SV.MUT.fa:md5,90028760eba0ca5e408eb44462741b6c", - "test.SV.WT.fa:md5,aec81221b1945efa816e1fe30665b1af", + "test.SV.MUT.fa:md5,d740aaf8844d5e9c9395dfc91c759016", + "test.SV.WT.fa:md5,c5accb51d0fe87782e3b3152df46e586", "HLA-A24:02,HLA-A24:02,HLA-B39:01,HLA-B39:01,HLA-C07:01,HLA-C06:02\n" ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.10.2" + "nextflow": "25.10.4" }, - "timestamp": "2026-02-12T15:50:12.51494062" + "timestamp": "2026-05-07T11:02:13.954831462" }, "generate_mutated_peptides - maf,hla,fa,gff3,gtf - fa,str,log": { "content": [