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