// Import generic module functions include { initOptions; saveFiles; getSoftwareName } from './functions' params.options = [:] options = initOptions(params.options) process MAXQUANT_LFQ { tag "$meta.id" label 'process_long' publishDir "${params.outdir}", mode: params.publish_dir_mode, saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), meta:meta, publish_by_meta:['id']) } conda (params.enable_conda ? "bioconda::maxquant=2.0.1.0" : null) if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) { container "https://depot.galaxyproject.org/singularity/maxquant:2.0.1.0--py39hdfd78af_2" } else { container "wombatp/maxquant-pipeline:dev" } input: tuple val(meta), path(fasta), path(paramfile) path raw output: tuple val(meta), path("*.txt"), emit: maxquant_txt path "*.version.txt" , emit: version script: def software = getSoftwareName(task.process) def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}" """ maxquant --version | head -n1 - > maxquant.version.txt sed \"s_.*_$task.cpus_\" ${paramfile} > mqpar_changed.xml sed -i \"s|PLACEHOLDER|\$PWD/|g\" mqpar_changed.xml mkdir temp maxquant mqpar_changed.xml mv combined/txt/*.txt . """ }