kkonganti@17: process ABRICATE_SUMMARY { kkonganti@17: tag "${abdbs.join(',')}" kkonganti@17: label 'process_micro' kkonganti@17: kkonganti@17: module (params.enable_module ? "${params.swmodulepath}${params.fs}abricate${params.fs}1.0.1" : null) kkonganti@17: conda (params.enable_conda ? "conda-forge::perl bioconda::abricate=1.0.1 conda-forge::coreutils" : null) kkonganti@17: container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? kkonganti@17: 'https://depot.galaxyproject.org/singularity/abricate%3A1.0.1--ha8f3691_1': kkonganti@17: 'quay.io/biocontainers/abricate:1.0.1--ha8f3691_1' }" kkonganti@17: kkonganti@17: input: kkonganti@17: tuple val(abdbs), path(abfiles) kkonganti@17: kkonganti@17: output: kkonganti@17: tuple val('abricate_ncbi'), path("*.ncbi.absum.txt") , emit: ncbi, optional: true kkonganti@17: tuple val('abricate_ncbiamrplus'), path("*.ncbiamrplus.absum.txt"), emit: ncbiamrplus, optional: true kkonganti@17: tuple val('abricate_resfinder'), path("*resfinder.absum.txt") , emit: resfinder, optional: true kkonganti@17: tuple val('abricate_megares'), path("*.megares.absum.txt") , emit: megares, optional: true kkonganti@17: tuple val('abricate_argannot'), path("*.argannot.absum.txt") , emit: argannot, optional: true kkonganti@17: tuple val('abricate_ecoli_vf'), path("*.ecoli_vf.absum.txt") , emit: ecoli_vf, optional: true kkonganti@17: path "versions.yml" , emit: versions kkonganti@17: kkonganti@17: when: kkonganti@17: task.ext.when == null || task.ext.when kkonganti@17: kkonganti@17: script: kkonganti@17: def args = task.ext.args ?: '' kkonganti@17: def onthese = abdbs.collect{ db -> kkonganti@17: abfiles.findAll { files -> kkonganti@17: files =~ /\.${db}/ kkonganti@17: }.join(' ') kkonganti@17: }.join('\\n') kkonganti@17: """ kkonganti@17: filenum="1" kkonganti@17: kkonganti@17: echo -e "$onthese" | while read -r files; do kkonganti@17: db=\$( echo -e "\${files}" | grep -E -o '\\w+\\.ab\\.txt' | sort -u | sed -e 's/.ab.txt//' ) kkonganti@17: kkonganti@17: if [ -z "\$db" ]; then kkonganti@17: db="\$filenum" kkonganti@17: fi kkonganti@17: kkonganti@17: abricate \\ kkonganti@17: $args \\ kkonganti@17: --summary \${files} \\ kkonganti@17: 1> "abricate.\${db}.absum.txt" kkonganti@17: kkonganti@17: sed -i -e "s/.\${db}.ab.txt//" "abricate.\${db}.absum.txt" kkonganti@17: sed -i -e 's/.assembly_filtered_contigs.fasta//' "abricate.\${db}.absum.txt" kkonganti@17: kkonganti@17: filenum=\$((filenum+1)) kkonganti@17: done kkonganti@17: kkonganti@17: cat <<-END_VERSIONS > versions.yml kkonganti@17: "${task.process}": kkonganti@17: abricate: \$(echo \$(abricate --version 2>&1) | sed 's/^.*abricate //' ) kkonganti@17: bash: \$( bash --version 2>&1 | sed '1!d; s/^.*version //; s/ (.*\$//' ) kkonganti@17: END_VERSIONS kkonganti@17: kkonganti@17: sedver="" kkonganti@17: sortver="" kkonganti@17: grepver="" kkonganti@17: kkonganti@17: if [ "${workflow.containerEngine}" != "null" ]; then kkonganti@17: sortver=\$( sort --help 2>&1 | sed -e '1!d; s/ (.*\$//' ) kkonganti@17: sedver="\$sortver" kkonganti@17: grepver="\$sortver" kkonganti@17: else kkonganti@17: sortver=\$( sort --version 2>&1 | sed '1!d; s/^.*(GNU coreutils//; s/) //;' ) kkonganti@17: sedver=\$( echo \$(sed --version 2>&1) | sed 's/^.*(GNU sed) //; s/ Copyright.*\$//' ) kkonganti@17: grepver=\$( echo \$(grep --version 2>&1) | sed 's/^.*(GNU grep) //; s/ Copyright.*\$//' ) kkonganti@17: fi kkonganti@17: kkonganti@17: cat <<-END_VERSIONS >> versions.yml kkonganti@17: sort: \$sortver kkonganti@17: grep: \$grepver kkonganti@17: sed: \$sedver kkonganti@17: END_VERSIONS kkonganti@17: """ kkonganti@17: }