annotate 1.0.0/modules/salmon/quant/main.nf @ 0:0a8dda29956e draft default tip

planemo upload
author galaxytrakr
date Thu, 28 May 2026 20:41:10 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
1 process SALMON_QUANT {
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
2 tag "$meta.id"
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
3 label "process_micro"
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
4
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
5 module (params.enable_module ? "${params.swmodulepath}${params.fs}salmon${params.fs}1.10.0" : null)
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
6 conda (params.enable_conda ? 'conda-forge::libgcc-ng bioconda::salmon=1.10.1' : null)
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
7 container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
8 'https://depot.galaxyproject.org/singularity/salmon:1.10.1--h7e5ed60_1' :
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
9 'quay.io/biocontainers/salmon:1.10.1--h7e5ed60_1' }"
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
10 input:
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
11 tuple val(meta), path(reads_or_bam), path(index_or_tr_fasta)
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
12
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
13 output:
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
14 tuple val(meta), path("${meta.id}_salmon_res"), emit: results
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
15 path "versions.yml" , emit: versions
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
16
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
17 when:
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
18 task.ext.when == null || task.ext.when
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
19
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
20 script:
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
21 def args = task.ext.args ?: ''
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
22 def prefix = task.ext.prefix ?: "${meta.id}_salmon_res"
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
23 def reference = "--index $index_or_tr_fasta"
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
24 def lib_type = (meta.salmon_lib_type ?: '')
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
25 def alignment_mode = (meta.salmon_alignment_mode ?: '')
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
26 def gtf = (meta.salmon_gtf ? "--geneMap ${meta.salmon_gtf}" : '')
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
27 def input_reads =(meta.single_end ? "-r $reads_or_bam" : "-1 ${reads_or_bam[0]} -2 ${reads_or_bam[1]}")
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
28
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
29 // Use path(reads_or_bam) to point to BAM and path(index_or_tr_fasta) to point to transcript fasta
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
30 // if using salmon DSL2 module in alignment-based mode.
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
31 // By default, this module will be run in selective-alignment-based mode of salmon.
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
32 if (alignment_mode) {
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
33 reference = "-t $index_or_tr_fasta"
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
34 input_reads = "-a $reads_or_bam"
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
35 }
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
36
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
37 def strandedness_opts = [
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
38 'A', 'U', 'SF', 'SR',
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
39 'IS', 'IU' , 'ISF', 'ISR',
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
40 'OS', 'OU' , 'OSF', 'OSR',
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
41 'MS', 'MU' , 'MSF', 'MSR'
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
42 ]
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
43
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
44 def strandedness = 'A'
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
45
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
46 if (lib_type) {
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
47 if (strandedness_opts.contains(lib_type)) {
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
48 strandedness = lib_type
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
49 } else {
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
50 log.info "[Salmon Quant] Invalid library type specified '--libType=${lib_type}', defaulting to auto-detection with '--libType=A'."
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
51 }
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
52 } else {
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
53 strandedness = meta.single_end ? 'U' : 'IU'
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
54 if (meta.strandedness == 'forward') {
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
55 strandedness = meta.single_end ? 'SF' : 'ISF'
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
56 } else if (meta.strandedness == 'reverse') {
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
57 strandedness = meta.single_end ? 'SR' : 'ISR'
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
58 }
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
59 }
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
60 """
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
61 salmon quant \\
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
62 --threads $task.cpus \\
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
63 --libType=$strandedness \\
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
64 $gtf \\
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
65 $args \\
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
66 -o $prefix \\
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
67 $reference \\
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
68 $input_reads
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
69
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
70 cat <<-END_VERSIONS > versions.yml
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
71 "${task.process}":
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
72 salmon: \$(echo \$(salmon --version) | sed -e "s/salmon //g")
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
73 END_VERSIONS
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
74 """
0a8dda29956e planemo upload
galaxytrakr
parents:
diff changeset
75 }