comparison 0.7.0/modules/sourmash/sig/kmers/main.nf @ 17:0e7a0053e4a6

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