-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnextflow.config
145 lines (124 loc) · 3.18 KB
/
nextflow.config
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
docker {
enabled = true
userEmulation = true
}
params {
// Filtering
missingness_cutoff = 0.15
// Normalization
mtblmcs_normalization_type = 'cr'
// Imputation
cbcl_imputation_method = "RF"
// Scaling
scale_epigenomics = false
// Features subsets
feature_subset_cutoff = 10
// MOFA parameters
seed = 100
convergence_mode = "slow"
// Input files parameters
epigenomics_values = null
epigenomics_meta = null
mtblmcs_values = null
maf_files = null
ids = null
phenotype_covariates = null
behavioral_data = null
cbcl_labels = null
gee = null
output = null
}
r_base_analysis = "casperdevisser/r-base-analysis:v0.4"
epigenomics_preprocessing = "casperdevisser/r-base-epigenomics-pre:v0.4"
phenotypes_preprocessing = "casperdevisser/r-base-phenotypes:v0.6"
snf = "casperdevisser/miniconda-snf:v0.7"
mofa = "casperdevisser/mofa2:v0.6"
process {
// Assign containers to single processes
withName:METABOLOMICS_FILTERING {
container = "$phenotypes_preprocessing"
}
withName:EPIGENOMICS_ANNOTATION {
container = "$epigenomics_preprocessing"
}
withName:EPIGENOMICS_FILTERING {
container = "$r_base_analysis"
}
withName:EPIGENOMICS_IMPUTATION {
container = "$r_base_analysis"
}
withName:EPIGENOMICS_COVARIATES {
container = "$r_base_analysis"
}
withName:EPIGENOMICS_SCALING {
container = "$r_base_analysis"
}
withName:CBCL_FILTER_IMPUTE_MCA {
container = "$phenotypes_preprocessing"
}
withName:PCA {
container = "$r_base_analysis"
}
withName:SUBSET_SD {
container = "$r_base_analysis"
}
withName:SNF {
container = "$snf"
}
withName:SNF_ANALYSIS {
container = "$snf"
}
withName:SNF_GEE {
container = "$mofa"
}
withName:MAP_IDS {
container = "$snf"
}
withName:MOFA {
container = "$mofa"
}
withName:MOFA_ANALYSIS {
container = "$mofa"
}
withName:MOFA_ANALYSIS_WITH_GEE {
container = "$mofa"
}
// Assign containers to multiple processes sharing a label
withLabel: r_base_analysis_small_tasks {
container = "$r_base_analysis"
}
/*
Max resources of the computational environment should be specified here:
*/
withLabel: full_resources {
cpus = 4
memory = 15.GB
}
}
def trace_timestamp = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss')
timeline {
enabled = true
file = "${params.output}/execution_timeline_${trace_timestamp}.html"
}
report {
enabled = true
file = "${params.output}/execution_report_${trace_timestamp}.html"
}
trace {
enabled = true
file = "${params.output}/execution_trace_${trace_timestamp}.txt"
fields = 'task_id,name,process,status,exit,realtime,%cpu,cpus,container,rss'
}
dag {
enabled = true
file = "${params.output}/pipeline_dag_${trace_timestamp}.html"
}
manifest {
name = 'Xomics/ACTIONdemonstrator_workflow'
author = 'Anna Niehues, Casper de Visser, Fiona Hagenbeek, Naama Karu, Alida Kindt, Purva Kulkarni, Rene Pool, Dorret Boomsma, Jenny van Dongen, Alain van Gool, Peter-Bram t Hoen'
homePage = 'https://github.com/Xomics/ACTIONdemonstrator_workflow'
description = 'Reproducible workflow for multi-omics behavioral data'
mainScript = 'action.nf'
nextflowVersion = '!>=22.04.0'
version = '1.1'
}