kkonganti@101: process CENTRIFUGE_CLASSIFY { kkonganti@101: tag "$meta.id" kkonganti@101: label 'process_medium' kkonganti@101: kkonganti@101: module (params.enable_module ? 'centrifuge' : null) kkonganti@101: conda (params.enable_conda ? "bioconda::centrifuge=1.0.4_beta" : null) kkonganti@101: container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? kkonganti@101: 'https://depot.galaxyproject.org/singularity/centrifuge:1.0.4_beta--h9a82719_6' : kkonganti@101: 'quay.io/biocontainers/centrifuge:1.0.4_beta--h9a82719_6' }" kkonganti@101: kkonganti@101: input: kkonganti@101: tuple val(meta), path(reads) kkonganti@101: kkonganti@101: output: kkonganti@101: tuple val(meta), path('*.report.txt') , emit: report kkonganti@101: tuple val(meta), path('*.output.txt') , emit: output kkonganti@101: tuple val(meta), path('*.kreport.txt') , emit: kreport kkonganti@101: tuple val(meta), path('*.sam') , optional: true, emit: sam kkonganti@101: tuple val(meta), path('*.mapped.fastq{,.1,.2}.gz') , optional: true, emit: fastq_mapped kkonganti@101: tuple val(meta), path('*.unmapped.fastq{,.1,.2}.gz') , optional: true, emit: fastq_unmapped kkonganti@101: path "versions.yml" , emit: versions kkonganti@101: kkonganti@101: when: kkonganti@101: task.ext.when == null || task.ext.when kkonganti@101: kkonganti@101: script: kkonganti@101: def args = task.ext.args ?: '' kkonganti@101: def prefix = task.ext.prefix ?: "${meta.id}" kkonganti@101: def paired = meta.single_end ? "-U ${reads}" : "-1 ${reads[0]} -2 ${reads[1]}" kkonganti@101: def db = meta.centrifuge_x ?: '' kkonganti@101: def db_name = db.toString().replace(".tar.gz","") kkonganti@101: def unaligned = '' kkonganti@101: def aligned = '' kkonganti@101: if (meta.single_end) { kkonganti@101: unaligned = params.centrifuge_save_unaligned ? "--un-gz ${prefix}.unmapped.fastq.gz" : '' kkonganti@101: aligned = params.centrifuge_save_aligned ? "--al-gz ${prefix}.mapped.fastq.gz" : '' kkonganti@101: } else { kkonganti@101: unaligned = params.centrifuge_save_unaligned ? "--un-conc-gz ${prefix}.unmapped.fastq.gz" : '' kkonganti@101: aligned = params.centrifuge_save_aligned ? "--al-conc-gz ${prefix}.mapped.fastq.gz" : '' kkonganti@101: } kkonganti@101: def sam_output = params.centrifuge_out_fmt_sam ? "--out-fmt 'sam'" : '' kkonganti@101: """ kkonganti@101: centrifuge \\ kkonganti@101: -x $db \\ kkonganti@101: -p $task.cpus \\ kkonganti@101: $paired \\ kkonganti@101: --report-file ${prefix}.centrifuge.report.txt \\ kkonganti@101: -S ${prefix}.centrifuge.output.txt \\ kkonganti@101: $unaligned \\ kkonganti@101: $aligned \\ kkonganti@101: $sam_output \\ kkonganti@101: $args kkonganti@101: kkonganti@101: centrifuge-kreport -x $db_name ${prefix}.centrifuge.output.txt > ${prefix}.centrifuge.kreport.txt kkonganti@101: kkonganti@101: cat <<-END_VERSIONS > versions.yml kkonganti@101: "${task.process}": kkonganti@101: centrifuge: \$( centrifuge --version | sed -n 1p | sed 's/^.*centrifuge-class version //') kkonganti@101: END_VERSIONS kkonganti@101: """ kkonganti@101: }