|
| 1 | +process SEQKIT_GREP { |
| 2 | + tag "$meta.id" |
| 3 | + label 'process_low' |
| 4 | + |
| 5 | + |
| 6 | + conda "bioconda::seqkit=2.4.0" |
| 7 | + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? |
| 8 | + 'https://depot.galaxyproject.org/singularity/seqkit:2.4.0--h9ee0642_0': |
| 9 | + 'biocontainers/seqkit:2.4.0--h9ee0642_0' }" |
| 10 | + |
| 11 | + input: |
| 12 | + tuple val(meta), path(sequence) |
| 13 | + path pattern |
| 14 | + |
| 15 | + output: |
| 16 | + tuple val(meta), path("*.{fa,fq}.gz") , emit: filter |
| 17 | + path "versions.yml" , emit: versions |
| 18 | + |
| 19 | + when: |
| 20 | + task.ext.when == null || task.ext.when |
| 21 | + |
| 22 | + script: |
| 23 | + def args = task.ext.args ?: '' |
| 24 | + def prefix = task.ext.prefix ?: "${meta.id}" |
| 25 | + // fasta or fastq. Exact pattern match .fasta or .fa suffix with optional .gz (gzip) suffix |
| 26 | + def suffix = task.ext.suffix ?: "${sequence}" ==~ /(.*f[astn]*a(.gz)?$)/ ? "fa" : "fq" |
| 27 | + def pattern_file = pattern ? "-f ${pattern}" : "" |
| 28 | + |
| 29 | + """ |
| 30 | + seqkit \\ |
| 31 | + grep \\ |
| 32 | + $args \\ |
| 33 | + --threads $task.cpus \\ |
| 34 | + ${pattern_file} \\ |
| 35 | + ${sequence} \\ |
| 36 | + -o ${prefix}.${suffix}.gz \\ |
| 37 | +
|
| 38 | + cat <<-END_VERSIONS > versions.yml |
| 39 | + "${task.process}": |
| 40 | + seqkit: \$( seqkit version | sed 's/seqkit v//' ) |
| 41 | + END_VERSIONS |
| 42 | + """ |
| 43 | + |
| 44 | + stub: |
| 45 | + def args = task.ext.args ?: '' |
| 46 | + def prefix = task.ext.prefix ?: "${meta.id}" |
| 47 | + // fasta or fastq. Exact pattern match .fasta or .fa suffix with optional .gz (gzip) suffix |
| 48 | + def suffix = task.ext.suffix ?: "${sequence}" ==~ /(.*f[astn]*a(.gz)?$)/ ? "fa" : "fq" |
| 49 | + |
| 50 | + """ |
| 51 | + touch ${prefix}.${suffix}.gz |
| 52 | +
|
| 53 | + cat <<-END_VERSIONS > versions.yml |
| 54 | + "${task.process}": |
| 55 | + seqkit: \$( seqkit version | sed 's/seqkit v//' ) |
| 56 | + END_VERSIONS |
| 57 | + """ |
| 58 | +} |
0 commit comments