-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathnextflow.config
More file actions
176 lines (154 loc) · 6.61 KB
/
Copy pathnextflow.config
File metadata and controls
176 lines (154 loc) · 6.61 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
/*
========================================================================================
Default config options for all compute environments
----------------------------------------------------------------------------------------
*/
// Global default params, used in configs
params {
// Input and Output options
input = "${launchDir}/assets/input_manifest.csv"
contrast = "${launchDir}/assets/contrast_manifest.csv"
outdir = "${launchDir}/results"
species = "hg38" // other options are "hg19", "GRCh38" (which is an alternate name for hg38), "mm10", "GRCm39"
run_cellranger = true
save_cellranger_extra_files = false // save only h5 (false) or also bam, bai, cloupe
vars_to_regress = null // other options include "percent.mt,nFeature_RNA,S.Score,G2M.Score,nCount_RNA"
// seurat_preprocess.nf
qc_filtering = "miqc" //other options include "manual" (uses subsequent thresholds), "mads" (3 median absolute deviations)
nCount_RNA_max = 500000
nCount_RNA_min = 1000
nFeature_RNA_max = 5000
nFeature_RNA_min = 200
percent_mt_max = 10
percent_mt_min = 0
run_doublet_finder = "Y"
// GEX
seurat_resolution = "0.1,0.2,0.3,0.5,0.6,0.8,1"
npcs = 50 // number of principle components
resolution_list = "0.1,0.2,0.3,0.5,0.6,0.8,1"
// Database path
celldex_path = "/data/CCBR_Pipeliner/db/PipeDB/celldex_cache"
// Other options
tracedir = "${params.outdir}/pipeline_info"
// References
genome_dir = null // this is overridden by conf/biowulf.config
// Scripts
script_functions = "${projectDir}/bin/scRNA_functions.R"
script_preprocess = "${projectDir}/bin/seurat_preprocess.Rmd"
script_merge = "${projectDir}/bin/seurat_merge.Rmd"
script_bc_harmony = "${projectDir}/bin/batch_correction_harmony.Rmd"
script_bc_rpca = "${projectDir}/bin/batch_correction_rpca.Rmd"
script_bc_cca = "${projectDir}/bin/batch_correction_cca.Rmd"
// script_scvi = "${projectDir}/bin/batch_correction_scvi.Rmd"
script_liger = "${projectDir}/bin/batch_correction_liger.Rmd"
script_bc_integration = "${projectDir}/bin/batch_correction_integration.Rmd"
// General options
publish_dir_mode = 'link'
// Max resource options
max_memory = '1500.GB'
max_cpus = 48
max_time = '240.h'
// Docker containers
container_base = 'nciccbr/ccbr_ubuntu_base_20.04:v7'
container_seurat = 'nciccbr/seurat_5:v1-dev'
// Config options
config_profile_name = null
config_profile_description = null
config_profile_contact = null
config_profile_url = null
}
// Load base.config by default for all pipelines
includeConfig 'conf/base.config'
profiles {
conda {
params.enable_conda = true
docker.enabled = false
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
docker {
docker.enabled = true
// Avoid this error:
// WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
// Testing this in nf-core after discussion here https://github.com/nf-core/tools/pull/351
// once this is established and works well, nextflow might implement this behavior as new default.
docker.runOptions = '-u \$(id -u):\$(id -g)'
docker.enabled = true
singularity.enabled = false
podman.enabled = false
shifter.enabled = false
charliecloud.enabled = false
}
singularity {
singularity.enabled = true
singularity.autoMounts = true
singularity.cacheDir = null // overridden by profiles: biowulf, frce, & slurmint
singularity.pullTimeout = "1h"
envWhitelist='https_proxy,http_proxy,ftp_proxy,DISPLAY,SLURM_JOBID,SINGULARITY_BINDPATH'
}
biowulf {
includeConfig "conf/biowulf.config"
}
slurm {
includeConfig "conf/slurm.config"
}
interactive {
includeConfig "conf/interactive.config"
}
ci_stub {
includeConfig "conf/ci_stub.config"
}
test { includeConfig 'conf/test.config' }
test_h5 { includeConfig 'conf/test_h5.config' }
test_pbmc { includeConfig 'conf/test_pbmc.config' } // contains files in khanlab
debug { includeConfig 'conf/debug.config' }
largemem { includeConfig 'conf/largmem.config' }
}
includeConfig 'conf/modules.config'
// Export these variables to prevent local Python/R libraries from conflicting with those in the container
// The JULIA depot path has been adjusted to a fixed path `/usr/local/share/julia` that needs to be used for packages in the container.
// See https://apeltzer.github.io/post/03-julia-lang-nextflow/ for details on that. Once we have a common agreement on where to keep Julia packages, this is adjustable.
env {
PYTHONNOUSERSITE = 1
R_PROFILE_USER = "/.Rprofile"
R_ENVIRON_USER = "/.Renviron"
JULIA_DEPOT_PATH = "/usr/local/share/julia"
}
// Capture exit codes from upstream processes when piping
process.shell = ['/bin/bash', '-eo', 'pipefail']
timeline {
enabled = true
file = { "${params.tracedir}/execution_timeline_${new java.util.Date().format('yyyy-MM-dd_HH-mm-ss')}.html" }()
}
report {
enabled = true
file = { "${params.tracedir}/execution_report_${new java.util.Date().format('yyyy-MM-dd_HH-mm-ss')}.html" }()
}
trace {
enabled = true
file = { "${params.tracedir}/execution_trace_${new java.util.Date().format('yyyy-MM-dd_HH-mm-ss')}.txt" }()
}
dag {
enabled = true
file = { "${params.tracedir}/pipeline_dag_${new java.util.Date().format('yyyy-MM-dd_HH-mm-ss')}.png" }()
}
manifest {
name = 'CCBR/SINCLAIR'
author = "CCR Collaborative Bioinformatics Resource"
homePage = 'https://github.com/CCBR/SINCLAIR'
description = 'SINgle CelL AnalysIs Resource'
mainScript = 'main.nf'
defaultBranch = 'main'
version = { -> new File("${projectDir}/VERSION").text.trim() }()
}
plugins {
id 'nf-schema@2.7.2'
//id 'nf-prov@1.2.2'
}
validation {
help {
enabled = true
}
}