annotate 0.4.2/workflows/spades_only.nf @ 0:082e0091e813 draft default tip

planemo upload
author galaxytrakr
date Fri, 29 May 2026 13:27:47 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
1 // Define any required imports for this specific workflow
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
2 import java.nio.file.Paths
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
3 import nextflow.file.FileHelper
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
4
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
5 // Include any necessary methods
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
6 include { \
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
7 summaryOfParams; stopNow; fastqEntryPointHelp; sendMail; \
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
8 addPadding; wrapUpHelp } from "${params.routines}"
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
9 include { spadesHelp } from "${params.toolshelp}${params.fs}spades"
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
10
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
11
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
12 // Exit if help requested before any subworkflows
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
13 if (params.help) {
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
14 log.info help()
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
15 exit 0
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
16 }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
17
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
18 // Include any necessary modules and subworkflows
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
19 include { PROCESS_FASTQ } from "${params.subworkflows}${params.fs}process_fastq"
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
20 include { SPADES_ASSEMBLE } from "${params.modules}${params.fs}spades${params.fs}assemble${params.fs}main"
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
21 include { DUMP_SOFTWARE_VERSIONS } from "${params.modules}${params.fs}custom${params.fs}dump_software_versions${params.fs}main"
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
22
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
23
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
24
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
25 /*
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
26 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
27 INPUTS AND ANY CHECKS FOR THE CENTRIFLAKEN-HY WORKFLOW
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
28 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
29 */
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
30
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
31 def spades_custom_hmm = (params.spades_hmm ? file ( "${params.spades_hmm}" ) : false)
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
32 def reads_platform = 0
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
33
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
34 reads_platform += (params.input ? 1 : 0)
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
35
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
36 if (spades_custom_hmm && !spades_custom_hmm.exists()) {
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
37 stopNow("Please check if the following SPAdes' custom HMM directory\n" +
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
38 "path is valid:\n${params.spades_hmm}\nCannot proceed further!")
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
39 }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
40
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
41 if (reads_platform < 1 || reads_platform == 0) {
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
42 stopNow("Please mention at least one absolute path to input folder which contains\n" +
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
43 "FASTQ files sequenced using the --input option.\n" +
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
44 "Ex: --input (Illumina or Generic short reads in FASTQ format)")
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
45 }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
46
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
47 /*
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
48 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
49 RUN THE CENTRIFLAKEN-HY WORKFLOW
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
50 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
51 */
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
52
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
53 workflow SPADES_ONLY {
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
54 main:
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
55 ch_dummy = Channel.fromPath("${params.dummyfile}")
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
56 ch_dummy2 = Channel.fromPath("${params.dummyfile2}")
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
57
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
58 log.info summaryOfParams()
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
59
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
60 PROCESS_FASTQ()
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
61 .processed_reads
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
62 .set { ch_processed_reads }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
63
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
64 PROCESS_FASTQ
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
65 .out
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
66 .versions
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
67 .set { software_versions }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
68
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
69 // As of 06/02/2022, with the upcoming newer versions of NextFlow, we will be able to do
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
70 // allowNull: true for both input and output, but until then, we have to use dummy files.
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
71 // and work arounds.
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
72 // https://github.com/nextflow-io/nextflow/pull/2893
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
73
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
74 SPADES_ASSEMBLE (
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
75 ch_processed_reads
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
76 .combine(ch_dummy)
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
77 .combine(ch_dummy2)
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
78 )
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
79
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
80 SPADES_ASSEMBLE
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
81 .out
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
82 .assembly
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
83 .set { ch_assembly }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
84
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
85 software_versions
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
86 .mix ( SPADES_ASSEMBLE.out.versions.ifEmpty(null) )
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
87 .set { software_versions }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
88
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
89
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
90 DUMP_SOFTWARE_VERSIONS (
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
91 software_versions
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
92 .unique()
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
93 .collectFile(name: 'collected_versions.yml')
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
94 )
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
95 }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
96
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
97 /*
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
98 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
99 ON COMPLETE, SHOW GORY DETAILS OF ALL PARAMS WHICH WILL BE HELPFUL TO DEBUG
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
100 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
101 */
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
102
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
103 workflow.onComplete {
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
104 if (workflow.success) {
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
105 sendMail()
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
106 }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
107 }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
108
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
109 workflow.onError {
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
110 sendMail()
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
111 }
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
112
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
113 /*
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
114 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
115 HELPER METHODS FOR CENTRIFLAKEN-HY WORKFLOW
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
116 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
117 */
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
118
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
119 def help() {
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
120
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
121 Map helptext = [:]
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
122
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
123 helptext.putAll (
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
124 fastqEntryPointHelp() +
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
125 spadesHelp(params).text +
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
126 wrapUpHelp()
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
127 )
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
128
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
129 return addPadding(helptext)
082e0091e813 planemo upload
galaxytrakr
parents:
diff changeset
130 }