kkonganti@0: process SEQKIT_GREP { kkonganti@0: tag "$meta.id" kkonganti@0: label 'process_low' kkonganti@0: kkonganti@0: module (params.enable_module ? "${params.swmodulepath}${params.fs}seqkit${params.fs}2.2.0" : null) kkonganti@0: conda (params.enable_conda ? "bioconda::seqkit=2.2.0 conda-forge::sed=4.7 conda-forge::coreutils" : null) kkonganti@0: container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? kkonganti@0: 'https://depot.galaxyproject.org/singularity/seqkit:2.1.0--h9ee0642_0': kkonganti@0: 'quay.io/biocontainers/seqkit:2.1.0--h9ee0642_0' }" kkonganti@0: kkonganti@0: input: kkonganti@0: tuple val(meta), path(reads), path(pattern_file) kkonganti@0: kkonganti@0: output: kkonganti@0: tuple val(meta), path("*.gz"), emit: fastx 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: kkonganti@0: def extension = "fastq" kkonganti@0: if ("$reads" ==~ /.+\.fasta|.+\.fasta.gz|.+\.fa|.+\.fa.gz|.+\.fas|.+\.fas.gz|.+\.fna|.+\.fna.gz/) { kkonganti@0: extension = "fasta" kkonganti@0: } kkonganti@0: kkonganti@0: if (meta.single_end) { kkonganti@0: """ kkonganti@0: pattern_file_contents=\$(sed '1!d' $pattern_file) kkonganti@0: if [ "\$pattern_file_contents" != "DuMmY" ]; then kkonganti@0: additional_args="-f $pattern_file $args" kkonganti@0: else kkonganti@0: additional_args="$args" kkonganti@0: fi kkonganti@0: kkonganti@0: seqkit \\ kkonganti@0: grep \\ kkonganti@0: -j $task.cpus \\ kkonganti@0: -o ${prefix}.seqkit-grep.${extension}.gz \\ kkonganti@0: \$additional_args \\ kkonganti@0: $reads kkonganti@0: kkonganti@0: cat <<-END_VERSIONS > versions.yml kkonganti@0: "${task.process}": kkonganti@0: seqkit: \$( seqkit | sed '3!d; s/Version: //' ) kkonganti@0: END_VERSIONS kkonganti@0: """ kkonganti@0: } else { kkonganti@0: """ kkonganti@0: pattern_file_contents=\$(sed '1!d' $pattern_file) kkonganti@0: if [ "\$pattern_file_contents" != "DuMmY" ]; then kkonganti@0: additional_args="-f $pattern_file $args" kkonganti@0: else kkonganti@0: additional_args="$args" kkonganti@0: fi kkonganti@0: kkonganti@0: seqkit \\ kkonganti@0: grep \\ kkonganti@0: -j $task.cpus \\ kkonganti@0: -o ${prefix}.R1.seqkit-grep.${extension}.gz \\ kkonganti@0: \$additional_args \\ kkonganti@0: ${reads[0]} kkonganti@0: kkonganti@0: seqkit \\ kkonganti@0: grep \\ kkonganti@0: -j $task.cpus \\ kkonganti@0: -o ${prefix}.R2.seqkit-grep.${extension}.gz \\ kkonganti@0: \$additional_args \\ kkonganti@0: ${reads[1]} kkonganti@0: kkonganti@0: seqkit \\ kkonganti@0: pair \\ kkonganti@0: -j $task.cpus \\ kkonganti@0: -1 ${prefix}.R1.seqkit-grep.${extension}.gz \\ kkonganti@0: -2 ${prefix}.R2.seqkit-grep.${extension}.gz kkonganti@0: kkonganti@0: rm ${prefix}.R1.seqkit-grep.${extension}.gz kkonganti@0: rm ${prefix}.R2.seqkit-grep.${extension}.gz kkonganti@0: kkonganti@0: cat <<-END_VERSIONS > versions.yml kkonganti@0: "${task.process}": kkonganti@0: seqkit: \$( seqkit | sed '3!d; s/Version: //' ) kkonganti@0: END_VERSIONS kkonganti@0: """ kkonganti@0: } kkonganti@0: }