annotate 0.7.0/modules/sourmash/sig/kmers/main.nf @ 19:4b304d77bbfb

planemo upload
author kkonganti
date Mon, 15 Jul 2024 11:20:22 -0400
parents 0e7a0053e4a6
children
rev   line source
kkonganti@17 1 process SOURMASH_SIG_KMERS {
kkonganti@17 2 tag "$meta.id"
kkonganti@17 3 label 'process_micro'
kkonganti@17 4
kkonganti@17 5 module (params.enable_module ? "${params.swmodulepath}${params.fs}sourmash${params.fs}4.6.1" : null)
kkonganti@17 6 conda (params.enable_conda ? "conda-forge::python bioconda::sourmash=4.6.1" : null)
kkonganti@17 7 container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
kkonganti@17 8 'https://depot.galaxyproject.org/singularity/sourmash:4.6.1--hdfd78af_0' :
kkonganti@17 9 'quay.io/biocontainers/sourmash:4.6.1--hdfd78af_0' }"
kkonganti@17 10
kkonganti@17 11 input:
kkonganti@17 12 tuple val(meta), path(sig_or_seq), path(sequence)
kkonganti@17 13
kkonganti@17 14 output:
kkonganti@17 15 tuple val(meta), path("*.csv") , emit: signatures, optional: true
kkonganti@17 16 tuple val(meta), path("*.fasta"), emit: extracted_fasta, optional: true
kkonganti@17 17 path "versions.yml" , emit: versions
kkonganti@17 18
kkonganti@17 19 when:
kkonganti@17 20 task.ext.when == null || task.ext.when
kkonganti@17 21
kkonganti@17 22 script:
kkonganti@17 23 // required defaults for the tool to run, but can be overridden
kkonganti@17 24 def args = task.ext.args ?: ''
kkonganti@17 25 def is_seq = "${sig_or_seq.baseName.findAll(/(?i)\.(fa|fasta|fna)\.{0,1}(gz){0,1}$/).size()}"
kkonganti@17 26 def save_kmers = (params.sourmashsigkmers_save_kmers ? "--save-kmers ${meta.id}.sm.kmers.csv" : '')
kkonganti@17 27 def save_seqs = (params.sourmashsigkmers_save_seqs ? "--save-sequences ${meta.id}.sm.seq.fasta" : '')
kkonganti@17 28 def sketch_mode = (params.sourmashsketch_mode ?: 'dna')
kkonganti@17 29 def sketch_p = (params.sourmashsketch_p ?: "abund,scaled=1000,k=71")
kkonganti@17 30 def prefix = task.ext.prefix ?: "${meta.id}"
kkonganti@17 31 """
kkonganti@17 32 db_sig="${sig_or_seq}"
kkonganti@17 33 if [[ $is_seq -ge 1 ]]; then
kkonganti@17 34 db_sig="${prefix}.db.sig"
kkonganti@17 35 sourmash sketch \\
kkonganti@17 36 $sketch_mode \\
kkonganti@17 37 -p '$sketch_p' \\
kkonganti@17 38 --output \$db_sig \\
kkonganti@17 39 $sig_or_seq
kkonganti@17 40 fi
kkonganti@17 41
kkonganti@17 42 sourmash signature kmers \\
kkonganti@17 43 $args \\
kkonganti@17 44 $save_kmers \\
kkonganti@17 45 $save_seqs \\
kkonganti@17 46 --signatures \$db_sig \\
kkonganti@17 47 --sequences $sequence
kkonganti@17 48
kkonganti@17 49 cat <<-END_VERSIONS > versions.yml
kkonganti@17 50 "${task.process}":
kkonganti@17 51 sourmash: \$(echo \$(sourmash --version 2>&1) | sed 's/^sourmash //' )
kkonganti@17 52 bash: \$( bash --version 2>&1 | sed '1!d; s/^.*version //; s/ (.*\$//' )
kkonganti@17 53 END_VERSIONS
kkonganti@17 54 """
kkonganti@17 55 }