kkonganti@0: process CAT_UNIQUE { kkonganti@0: tag "${meta.id}" kkonganti@0: label "process_pico" kkonganti@0: kkonganti@0: module (params.enable_module ? "${params.swmodulepath}${params.fs}perl${params.fs}5.30.0" : null) kkonganti@0: conda (params.enable_conda ? "conda-forge::perl conda-forge::coreutils bioconda::perl-bioperl=1.7.8" : null) kkonganti@0: container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? kkonganti@0: 'https://depot.galaxyproject.org/singularity/perl-bioperl:1.7.8--hdfd78af_1' : kkonganti@0: 'quay.io/biocontainers/perl-bioperl:1.7.8--hdfd78af_1' }" kkonganti@0: kkonganti@0: input: kkonganti@0: tuple val(meta), path(file) kkonganti@0: kkonganti@0: output: kkonganti@0: path '*_uniq.txt' , emit: txt kkonganti@0: path 'versions.yml', emit: versions kkonganti@0: kkonganti@0: when: kkonganti@0: task.ext.when == null || task.ext.when kkonganti@0: kkonganti@0: script: kkonganti@0: def args = (task.ext.args ?: '') kkonganti@0: def skip = (meta.skip_header ?: 1) kkonganti@0: prefix = (task.ext.prefix ?: meta.id) kkonganti@0: """ kkonganti@0: newfile=\$(echo "$file" | sed -e 's/_w_dups/_uniq/g') kkonganti@0: kkonganti@0: head -n$skip "$file" > \$newfile kkonganti@0: tail -n+\$(($skip + 1)) "$file" | sort -n | uniq >> \$newfile kkonganti@0: kkonganti@0: uniqver="" kkonganti@0: kkonganti@0: if [ "${workflow.containerEngine}" != "null" ]; then kkonganti@0: uniqver=\$( uniq --help 2>&1 | sed -e '1!d; s/ (.*\$//' ) kkonganti@0: kkonganti@0: else kkonganti@0: uniqver=\$( uniq --version 2>&1 | sed '1!d; s/^.*(GNU coreutils//; s/) //;' ) kkonganti@0: fi kkonganti@0: kkonganti@0: cat <<-END_VERSIONS > versions.yml kkonganti@0: "${task.process}": kkonganti@0: head: \$uniqver kkonganti@0: tail: \$uniqver kkonganti@0: sort: \$uniqver kkonganti@0: uniq: \$uniqver kkonganti@0: END_VERSIONS kkonganti@0: """ kkonganti@0: }