annotate 0.2.0/modules/kma/align/main.nf @ 0:9e8b1c747a6a draft default tip

planemo upload
author galaxytrakr
date Fri, 29 May 2026 13:32:17 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
1 process KMA_ALIGN {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
2 tag "$meta.id"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
3 label 'process_micro'
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
4
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
5 module (params.enable_module ? "${params.swmodulepath}${params.fs}kma${params.fs}1.4.4" : null)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
6 conda (params.enable_conda ? "conda-forge::libgcc-ng bioconda::kma=1.4.3" : null)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
7 container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
8 'https://depot.galaxyproject.org/singularity/kma:1.4.3--h7132678_1':
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
9 'quay.io/biocontainers/kma:1.4.3--h7132678_1' }"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
10
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
11 input:
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
12 tuple val(meta), path(reads), path(index)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
13
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
14 output:
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
15 path "${meta.id}_kma_res"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
16 tuple val(meta), path("${meta.id}_kma_res${params.fs}*.res") , emit: res
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
17 tuple val(meta), path("${meta.id}_kma_res${params.fs}*.mapstat") , emit: mapstat, optional: true
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
18 tuple val(meta), path("${meta.id}_kma_res${params.fs}*.frag.gz") , emit: frags, optional: true
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
19 tuple val(meta), path("${meta.id}_kma_res${params.fs}*_template_hits.txt"), emit: hits, optional: true
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
20 path "versions.yml" , emit: versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
21
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
22 when:
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
23 task.ext.when == null || task.ext.when
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
24
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
25 script:
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
26 def args = task.ext.args ?: ''
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
27 def prefix = task.ext.prefix ?: "${meta.id}"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
28 def reads_in = (meta.single_end ? "-i $reads" : "-ipe ${reads[0]} ${reads[1]}")
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
29 def db = (meta.kma_t_db ?: "${index}")
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
30 def db_basename = (db ? "${index.baseName}" : '')
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
31 def get_hit_accs = (meta.get_kma_hit_accs ? 'true' : 'false')
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
32 def res_dir = prefix + '_kma_res'
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
33 reads_in = (params.kmaalign_int ? "-int $reads" : "-i $reads")
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
34 """
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
35 mkdir -p $res_dir || exit 1
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
36 kma \\
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
37 $args \\
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
38 -t_db $db${params.fs}$db_basename \\
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
39 -t $task.cpus \\
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
40 -o $res_dir${params.fs}$prefix \\
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
41 $reads_in
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
42
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
43 if [ "$get_hit_accs" == "true" ]; then
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
44 grep -v '^#' $res_dir${params.fs}${prefix}.res | \\
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
45 grep -E -o 'GC[AF]\\_[0-9]+\\.*[0-9]*' > $res_dir${params.fs}${prefix}_template_hits.txt
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
46 fi
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
47
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
48 cat <<-END_VERSIONS > versions.yml
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
49 "${task.process}":
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
50 kma: \$( kma -v | sed -e 's%KMA-%%' )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
51 END_VERSIONS
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
52
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
53 mkdirver=""
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
54 cutver=""
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
55 grepver=""
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
56
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
57 if [ "${workflow.containerEngine}" != "null" ]; then
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
58 mkdirver=\$( mkdir --help 2>&1 | sed -e '1!d; s/ (.*\$//' | cut -f1-2 -d' ' )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
59 cutver="\$mkdirver"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
60 grepver="\$mkdirver"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
61 else
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
62 mkdirver=\$( mkdir --version 2>&1 | sed '1!d; s/^.*(GNU coreutils//; s/) //;' )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
63 cutver=\$( cut --version 2>&1 | sed '1!d; s/^.*(GNU coreutils//; s/) //;' )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
64 grepver=\$( echo \$(grep --version 2>&1) | sed 's/^.*(GNU grep) //; s/ Copyright.*\$//' )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
65 fi
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
66
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
67 cat <<-END_VERSIONS >> versions.yml
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
68 mkdir: \$mkdirver
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
69 cut: \$cutver
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
70 grep: \$grepver
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
71 END_VERSIONS
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
72 """
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
73 }