comparison 0.1.0/modules/prodigal/main.nf @ 0:c8597e9e1a97

"planemo upload"
author kkonganti
date Mon, 27 Nov 2023 12:37:44 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:c8597e9e1a97
1 process PRODIGAL {
2 tag "$meta.id"
3 label 'process_nano'
4
5 module (params.enable_module ? "${params.swmodulepath}${params.fs}prodigal${params.fs}2.6.3" : null)
6 conda (params.enable_conda ? "bioconda::prodigal=2.6.3 conda-forge::pigz=2.6" : null)
7 container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
8 'https://depot.galaxyproject.org/singularity/mulled-v2-2e442ba7b07bfa102b9cf8fac6221263cd746ab8:57f05cfa73f769d6ed6d54144cb3aa2a6a6b17e0-0' :
9 'quay.io/biocontainers/mulled-v2-2e442ba7b07bfa102b9cf8fac6221263cd746ab8:57f05cfa73f769d6ed6d54144cb3aa2a6a6b17e0-0' }"
10
11 input:
12 tuple val(meta), path(genome)
13 val(output_format)
14
15 output:
16 tuple val(meta), path("*.${output_format}"), emit: gene_annotations
17 tuple val(meta), path("*.fna") , emit: cds
18 tuple val(meta), path("*.faa") , emit: proteins
19 tuple val(meta), path("*_all.txt") , emit: all_gene_annotations
20 tuple val(meta), path("*trn") , emit: trained, optional: true
21 path "versions.yml" , emit: versions
22
23 when:
24 task.ext.when == null || task.ext.when
25
26 script:
27 def args = task.ext.args ?: ''
28 def prefix = task.ext.prefix ?: "${meta.id}"
29 def training = args.toString().matches(/.*-t/) ? "-t ${prefix}.trn" : ''
30 args = args.toString().replace(/-t/, '')
31 """
32 if [ "$training" = "-t ${prefix}.trn" ]; then
33 touch "${prefix}.fna"
34 touch "${prefix}.faa"
35 touch "${prefix}_all.txt"
36 touch "${prefix}.${output_format}"
37
38 prodigal \\
39 $training \\
40 -i $genome
41 fi
42
43 prodigal \\
44 $args \\
45 -d "${prefix}.fna" \\
46 -o "${prefix}.${output_format}" \\
47 -a "${prefix}.faa" \\
48 -s "${prefix}_all.txt" \\
49 -i $genome
50
51 cat <<-END_VERSIONS > versions.yml
52 "${task.process}":
53 prodigal: \$(prodigal -v 2>&1 | sed -n 's/Prodigal V\\(.*\\):.*/\\1/p')
54 END_VERSIONS
55 """
56 }