1
-
1
+ // **************** Global parameters *****************//
2
2
params {
3
3
// Mandatory parameters
4
4
target_region = " 16S" // "16S", "18S", "ITS"
5
5
raw_R1_suffix = " _R1_raw.fastq.gz"
6
6
raw_R2_suffix = " _R2_raw.fastq.gz"
7
7
raw_reads_dir = " ../Raw_Sequence_Data/"
8
- trim_primers = true
8
+ trim_primers = true // true or false
9
9
10
10
11
- // -------- Mandatory if not using GLDS_accession ------------------ ---------------//
11
+ // -------- Required if GLDS_accession is false ---------------//
12
12
// A 3-column (single-end) or 4-column (paired-end) input file ( sample_id, forward, [reverse,] paired)
13
13
csv_file = " PE_file.csv"
14
14
@@ -21,106 +21,125 @@ params {
21
21
// -------- End of Mandatory if not using GLDS_accession ----------------//
22
22
23
23
// Cutadapt parameters
24
- min_cutadapt_len = 130
25
- primers_linked = " TRUE"
26
- discard_untrimmed = " TRUE"
24
+ min_cutadapt_len = 130
25
+ primers_linked = " TRUE"
26
+ discard_untrimmed = " TRUE"
27
27
F_primer = " "
28
28
R_primer = " "
29
29
30
30
// Dada2 parameters
31
- left_trunc = 0
32
- right_trunc = 0
33
- left_maxEE = 1
34
- right_maxEE = 1
31
+ left_trunc = 0
32
+ right_trunc = 0
33
+ left_maxEE = 1
34
+ right_maxEE = 1
35
35
concatenate_reads_only = " FALSE"
36
36
37
37
// If using conda environments specify their locations so new ones won't be created
38
38
conda{
39
- // Specify the paths to your existing conda environments (/path/to/envs/genelab-utils)
39
+ // Specify the paths to existing conda environments (/path/to/envs/genelab-utils)
40
40
// leave as is if you want to create a new conda environment
41
- genelab = null
42
- qc = null
43
- R = null
44
- R_visualizations = null
45
- cutadapt = null
41
+ genelab = null // /path/to/envs/genelab
42
+ qc = null // /path/to/envs/qc
43
+ R = null // /path/to/envs/R
44
+ R_visualizations = null // /path/to/envs/R_visualizations
45
+ cutadapt = null // /path/to/envs/cutadapt
46
46
}
47
47
48
48
49
49
// Mandatory parameters if using GLDS_accession
50
50
GLDS_accession = false
51
-
52
- assay_suffix = " _GLAmpSeq "
51
+ assay_suffix = " _GLAmpSeq "
52
+
53
53
output_prefix = " "
54
54
publishDir_mode = " link" // "link", "copy"
55
55
56
56
// Suffixes
57
57
primer_trimmed_R1_suffix = " _R1_trimmed.fastq.gz"
58
58
primer_trimmed_R2_suffix = " _R2_trimmed.fastq.gz"
59
- filtered_R1_suffix = " _R1_filtered.fastq.gz"
60
- filtered_R2_suffix = " _R2_filtered.fastq.gz"
59
+ filtered_R1_suffix = " _R1_filtered.fastq.gz"
60
+ filtered_R2_suffix = " _R2_filtered.fastq.gz"
61
61
62
62
63
- // directories
64
- fastqc_out_dir = " ../workflow_output/FastQC_Outputs/"
65
- trimmed_reads_dir = " ../workflow_output/Trimmed_Sequence_Data/"
66
- filtered_reads_dir = " ../workflow_output/Filtered_Sequence_Data/"
67
- info_out_dir = " ../workflow_output/Metadata/"
68
- plots_dir = " ../workflow_output/Final_Outputs/Plots/"
69
- final_outputs_dir = " ../workflow_output/Final_Outputs/"
70
- metadata_dir = " ../Metadata/"
71
- genelab_dir = " ../GeneLab/"
63
+ // Directories
64
+ fastqc_out_dir = " ../workflow_output/FastQC_Outputs/"
65
+ trimmed_reads_dir = " ../workflow_output/Trimmed_Sequence_Data/"
66
+ filtered_reads_dir = " ../workflow_output/Filtered_Sequence_Data/"
67
+ info_out_dir = " ../workflow_output/Metadata/"
68
+ plots_dir = " ../workflow_output/Final_Outputs/Plots/"
69
+ final_outputs_dir = " ../workflow_output/Final_Outputs/"
70
+ metadata_dir = " ../Metadata/"
71
+ genelab_dir = " ../GeneLab/"
72
72
73
73
// Multiqc
74
- multiqc_config = " ${ baseDir} /config/multiqc.config"
75
- errorStrategy = " terminate"
76
- debug = false // set to true if you'd like to see the values of your set parameters
74
+ multiqc_config = " ${ baseDir} /config/multiqc.config"
75
+ errorStrategy = " terminate"
76
+ debug = false // set to true if you'd like to see the values of your set parameters
77
77
}
78
78
79
- // Maximum number of jobs to submit in parallel
80
- executor. queueSize = 20
79
+ // Setting the default container engine as singularity
80
+ params. containerEngine = " singularity"
81
+ // Conda shouldn't be used by default except when using conda-based profiles
82
+ params. use_conda = false
83
+
84
+
85
+ /* ******************************************************************************************************
86
+ *************************************** Workflow Profiles **********************************************
87
+ ********************************************************************************************************/
81
88
82
89
profiles {
83
90
84
91
85
92
slurm {
86
- process. executor = ' slurm'
93
+ process. executor = ' slurm'
87
94
}
88
95
89
96
conda {
90
- conda. enabled = true
97
+ conda. enabled = true
98
+ params. use_conda = true
91
99
}
92
100
93
101
singularity {
94
102
singularity. enabled = true
95
103
singularity. autoMounts = true
96
- singularity. cacheDir = " singularity/"
104
+ singularity. cacheDir = " singularity/"
105
+ params. containerEngine = " singularity"
97
106
}
98
107
99
108
docker {
100
109
docker. enabled = true
101
110
docker. runOptions = ' -u $(id -u):$(id -g)'
102
111
docker. userEmulation = true
112
+ params. containerEngine = " docker"
103
113
}
104
114
105
115
}
106
116
117
+ // Maximum number of jobs to submit in parallel
118
+ executor. queueSize = 20
119
+
120
+
121
+ /* *****************************************************************************************************************
122
+ ***************** Tune process specific resources (cpu, container, memory etc.) ***********************************
123
+ *******************************************************************************************************************/
107
124
108
125
process {
109
126
127
+ // ******************* Default process settings ************************//
110
128
errorStrategy = { params. errorStrategy ? params. errorStrategy : " ignore" }
111
129
maxRetries = 2
112
130
cpus = 2
113
131
memory = ' 5 GB'
114
132
cache = ' lenient'
115
133
// debug = true // uncomment to see what is being emitted to the standard output
116
134
117
-
135
+ // ************************* GLDS_accession runsheet and input file retrieval **************************************//
118
136
withName : GET_RUNSHEET {
119
137
conda = {params. conda. genelab != null ? params. conda. genelab : " envs/genelab.yaml" }
120
138
container = " olabiyi/genelab-utils:1.3.22"
121
139
publishDir = [path : params. genelab_dir, mode : params. publishDir_mode]
122
140
}
123
141
142
+ // ********************************** Read quality control and assesment ********************************************//
124
143
withLabel : fastqc {
125
144
conda = {params. conda. qc != null ? params. conda. qc : " envs/qc.yaml" }
126
145
container = " staphb/fastqc:0.12.1"
@@ -147,6 +166,7 @@ process {
147
166
publishDir = [path : params. filtered_reads_dir, mode : params. publishDir_mode ]
148
167
}
149
168
169
+ // ********************************** ASV table creation and plotting ********************************************//
150
170
withName : " RUN_R_TRIM|RUN_R_NOTRIM" {
151
171
conda = {params. conda. R != null ? params. conda. R : " envs/R.yaml" }
152
172
container = " olabiyi/r-dada-decipher-biomformat:1.0"
@@ -175,6 +195,9 @@ process {
175
195
}
176
196
177
197
198
+ /* ****************************************************************************
199
+ ********************** Workflow Resource Usage Capturing *********************
200
+ ******************************************************************************/
178
201
179
202
// Adapted from : https://github.com/nf-core/rnaseq/blob/master/nextflow.config
180
203
def trace_timestamp = new java.util.Date (). format( ' yyyy-MM-dd_HH-mm-ss' )
@@ -192,12 +215,17 @@ trace {
192
215
}
193
216
194
217
218
+
219
+ /* *****************************************************************************
220
+ **************************** Workflow Metadata ********************************
221
+ *******************************************************************************/
222
+
195
223
manifest {
196
224
author = ' Olabiyi Aderemi Obayomi, Mike D. Lee'
197
225
homePage = ' https://github.com/nasa/GeneLab_Data_Processing/blob/master/Amplicon/'
198
- description = ' GeneLab bioinformatics processing pipelines for amplicon sequencing data '
226
+ description = ' Amplicon Illumina workflow for pipeline document GL-DPPD-7104-B '
199
227
mainScript = ' main.nf'
200
228
defaultBranch = ' main'
201
229
nextflowVersion = ' >=22.10.1'
202
- version = ' GL-DPPD-7104-B '
230
+ version = ' 1.0.0 '
203
231
}
0 commit comments