kkonganti@0: process SAMTOOLS_FASTQ { kkonganti@0: tag "$meta.id" kkonganti@0: label 'process_micro' kkonganti@0: kkonganti@0: module (params.enable_module ? "${params.swmodulepath}${params.fs}samtools${params.fs}1.13" : null) kkonganti@0: conda (params.enable_conda ? "bioconda::samtools=1.18 bioconda::htslib=1.18 conda-forge::bzip2" : null) kkonganti@0: container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? kkonganti@0: 'https://depot.galaxyproject.org/singularity/samtools:1.18--h50ea8bc_1' : kkonganti@0: 'quay.io/biocontainers/samtools:1.18--h50ea8bc_1' }" kkonganti@0: kkonganti@0: input: kkonganti@0: tuple val(meta), path(input) kkonganti@0: val(interleave) kkonganti@0: kkonganti@0: output: kkonganti@0: tuple val(meta), path("*_{1,2}.fastq.gz") , optional:true, emit: fastq kkonganti@0: tuple val(meta), path("*_{1,2}.fastq.gz") , optional:true, emit: mapped_refs kkonganti@0: tuple val(meta), path("*_interleaved.fastq") , optional:true, emit: interleaved kkonganti@0: tuple val(meta), path("*_singleton.fastq.gz") , optional:true, emit: singleton kkonganti@0: tuple val(meta), path("*_other.fastq.gz") , optional:true, emit: other 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 prefix = task.ext.prefix ?: "${meta.id}" kkonganti@0: def output = ( interleave && ! meta.single_end ) ? "> ${prefix}_interleaved.fastq" : kkonganti@0: meta.single_end ? "-1 ${prefix}_1.fastq.gz -s ${prefix}_singleton.fastq.gz" : kkonganti@0: "-1 ${prefix}_1.fastq.gz -2 ${prefix}_2.fastq.gz -s ${prefix}_singleton.fastq.gz" kkonganti@0: """ kkonganti@0: samtools \\ kkonganti@0: fastq \\ kkonganti@0: $args \\ kkonganti@0: --threads ${task.cpus-1} \\ kkonganti@0: -0 ${prefix}_other.fastq.gz \\ kkonganti@0: $input \\ kkonganti@0: $output kkonganti@0: kkonganti@0: samtools \\ kkonganti@0: view \\ kkonganti@0: $args2 \\ kkonganti@0: --threads ${task.cpus-1} \\ kkonganti@0: $input \\ kkonganti@0: | grep -v '*' | cut -f3 | sort -u > mapped_refs.txt kkonganti@0: kkonganti@0: cat <<-END_VERSIONS > versions.yml kkonganti@0: "${task.process}": kkonganti@0: samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') kkonganti@0: END_VERSIONS kkonganti@0: """ kkonganti@0: }