Repository navigation
Expand file tree
/
Copy pathnextflow.config
More file actions
178 lines (156 loc) · 8.78 KB
/
Copy pathnextflow.config
File metadata and controls
178 lines (156 loc) · 8.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
/*
----------------------------------------------------------------------------------------
GeneLab Data Processing RNA-Seq Workflow Nextflow config file
----------------------------------------------------------------------------------------
Default config options for all compute environments
----------------------------------------------------------------------------------------
*/
// Plugins
plugins {
id 'nf-schema@2.2.0'
}
// Global default params, used in configs
params {
mode = 'default' // Set to 'microbes' for processing microbes (Bowtie2)
dp_tools_plugin = null // Path to dp_tools plugin
api_url = "https://visualization.osdr.nasa.gov/biodata/api/v2/dataset/*/"
assay_suffix = '_GLbulkRNAseq' // Suffix to append to output filenames
// Input options
accession = null // Accession number (OSD-# or GLDS-#)
runsheet_path = null // For OSDR datasets, runsheet will be generated based on the ISA.zip associated with the dataset
isa_archive_path = null // If a runsheet is not supplied, ISA.zip will be pulled from OSDR unless this is supplied
// Debugging input options
limit_samples_to = null // Limit the number of samples to process
genome_subsample = null // Subsamples the reference genome to the specified region / chromosome
truncate_to = null // Subsamples the raw reads files to the specified number of reads for EACH raw reads file.
force_single_end = false // Use only read 1 for all samples, even if the original data is paired-end
use_dummy_gene_counts = false // Uses random gene counts during DESEQ2 (This addresses testing when actual gene counts are near-zero/zero)
// References
reference_table = "https://raw.githubusercontent.com/nasa/GeneLab_Data_Processing/refs/heads/master/GeneLab_Reference_Annotations/Pipeline_GL-DPPD-7110_Versions/GL-DPPD-7110-A/GL-DPPD-7110-A_annotations.csv"
reference_store_path = './References' // Dictates where the reference fasta, gtf will be stored
derived_store_path = './DerivedReferences' // Dictates where the derived reference files (locally built indexes) will be stored
// For custom input reference runs:
// Required:
// reference_fasta
// reference_gtf
// reference_source (*To correctly generate the protocol (GENERATE_PROTOCOL), 'ensembl', 'ensembl_bacteria', 'ensembl_plants', or 'ncbi' are required )
// reference_version (*To correctly generate the protocol (GENERATE_PROTOCOL), this is required for ensembl reference runs)
// Optional (Required to include gene annotations in DGE table output):
// gene_annotations_file (*For ADD_GENE_ANNOTATIONS, this is required even for organisms listed in reference_table)
reference_source = "" // Reference files (genome, gtf) source - 'ensembl', 'ensembl_bacteria', 'ensembl_plants', or 'ncbi'
reference_version = "" // Reference version; leave blank for ncbi references
reference_fasta = "" // path or URL of custom reference genome fasta
reference_gtf = "" // path or URL of custom reference genome GTF
gene_annotations_file = "" // path or URL of organism-specific gene annotations table in format of those listed in reference_table['genelab_annots_link']
// Alignment
// currently no alignment parameters
// QC
multiqc_config = "${projectDir}/conf/multiqc.config"
validate_params = true // Schema validation is on by default
skip_vv = false
max_flag_code = 80
rseqc_sample_count = 15000000
// Boilerplate options
outdir = '.'
publish_dir_mode = 'link' // Published outputs may be symlinks if using containerized environments
email = null
version = false
// DGE BiocParallelParam object https://rdrr.io/bioc/BiocParallel/man/register.html
// Define an instance of BiocParallelParam to run DESeq2 with parallel backend
// e.g. MulticoreParam(workers = params$cpus)
// By default, dge_parallel_config is set to "SerialParam()" for compatibility across different systems
// Used in ./modules/dge_deseq2.nf and ./bin/dge_deseq2.Rmd
dge_parallel_config = "SerialParam(RNGseed = 7)"
// DGE Filtering Parameters - Control how raw count genes are filtered prior to differential expression analysis
dge_filter_method = 'sum_threshold' // Method for filtering genes: 'sum_threshold', 'sample_percent', 'min_samples', 'count_per_sample'
dge_filter_sum_threshold = 10 // Minimum total count sum across all samples
dge_filter_sample_percent_threshold = 90 // Remove genes if this percentage or more of their total counts come from the highest-count samples
dge_filter_sample_percent_max_samples = 1 // Number of highest-count samples to check gene counts from
dge_filter_min_samples_threshold = 1 // Minimum samples where gene must be expressed
dge_filter_count_per_sample_threshold = 1 // Multiplier for sample-scaled threshold
}
validation {
help {
enabled = true
}
lenientMode = true
}
// Profiles:
// The following profile definitions are used to set environments for the pipeline.
// Configs can be used to set executor configs, container profiles, tag and process-specific resource allocations, retry strategies, etc.
// The default executor profile is slurm which is defined under the profile 'slurm'. There is no default container-based profile.
// To run processes locally, you must set the profile to local with 'nextflow run main.nf ... --profile local'
// By default, the container profile is not set meaning that the local environment is used.
// The container profile is set using 'nextflow run main.nf ... --profile <profile_name>'
// Multiple profiles can be set in the nextflow run command, e.g. 'nextflow run main.nf ... --profile <executor_profile>,<container_profile>'
// See https://www.nextflow.io/docs/latest/config.html#config-profiles for more information
profiles {
debug {
dumpHashes = true
process.beforeScript = 'echo $HOSTNAME'
cleanup = false
}
docker {
docker.enabled = true
conda.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
apptainer.enabled = false
docker.runOptions = '-u $(id -u):$(id -g)'
includeConfig 'conf/by_docker_image.config'
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
conda.enabled = false
docker.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
apptainer.enabled = false
// Address issue: https://github.com/nextflow-io/nextflow/issues/1210
process {
containerOptions = "--no-home"
errorStrategy = {
task.exitStatus == 255 ? 'retry' : 'terminate'
}
}
includeConfig 'conf/by_docker_image.config'
}
gitpod {
executor.name = 'local'
executor.cpus = 4
executor.memory = 8.GB
}
slurm { includeConfig 'conf/slurm.config' }
local { includeConfig 'conf/local.config' }
}
// Set default registry for Docker and Singularity
// Adapted from : https://github.com/nf-core/rnaseq/blob/master/nextflow.config
def trace_timestamp = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss')
timeline {
enabled = true
file = "${params.outdir}/nextflow_info/execution_timeline_${trace_timestamp}.html"
}
report {
enabled = true
file = "${params.outdir}/nextflow_info/execution_report_${trace_timestamp}.html"
}
trace {
enabled = true
file = "${params.outdir}/nextflow_info/execution_trace_${trace_timestamp}.txt"
}
dag {
enabled = true
file = "${params.outdir}/nextflow_info/pipeline_dag_${trace_timestamp}.html"
}
manifest {
name = 'NASA GeneLab Data Processing RNAseq Pipeline'
homePage = 'https://github.com/nasa/GeneLab_Data_Processing/tree/master/RNAseq'
description = 'Nextflow workflow for Documents GL-DPPD-7101-G and GL-DPPD-7115.'
mainScript = 'main.nf'
nextflowVersion = '!>=24.10.5'
version = '2.0.2'
}