forked from populationgenomics/talos
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnextflow.config
More file actions
175 lines (142 loc) · 6.12 KB
/
Copy pathnextflow.config
File metadata and controls
175 lines (142 loc) · 6.12 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
// Default parameters
params {
// Input runs as a TSV of `cohort`, `path`, and `type`
input_tsv = null
// global output directories - should be changed for each deployment
// the paths in this repository are really just for the test workflow
processed_annotations = "nextflow/processed_annotations"
// outdir's default location is for running the processed_annotations workflow
// designed to be overridden for real workflows (checked on startup)
outdir = "${params.processed_annotations}"
// Large files directory
large_files = "large_files"
ref_genome = "${params.large_files}/ref.fa"
// Docker container - "docker build -f docker/Dockerfile -t talos:12.0.3 ."
container = 'talos:12.0.3'
// GATK Docker container, for use in optional SV annotation pathway. Pulled from public source, no local build
gatk_container = 'broadinstitute/gatk:4.6.2.0'
// SVAFotate container - "docker build -f docker/SVAFotate_Dockerfile -t svafotate:0.1.0 ."
// built separately from the main Talos image, its pinned dependencies are irreconcilable with Talos's
svafotate_container = 'svafotate:0.1.0'
// MANE transcript resource
mane = "${params.large_files}/MANE.GRCh38.v1.5.summary.txt.gz"
// Result file from running ParseManeIntoJson on the MANE summary file
mane_json = "${params.processed_annotations}/mane.json"
// Ensembl gene feature file
ensembl_gff = "${params.large_files}/Homo_sapiens.GRCh38.116.MTtoM.gff3.gz"
// Result files from the CreateRoiFromGff3 nextflow module
ensembl_bed = "${params.processed_annotations}/GRCh38.bed"
ensembl_merged_bed = "${params.processed_annotations}/GRCh38_merged.bed"
ensembl_symbol_lookup = "${params.processed_annotations}/GRCh38_symbol_to_ensg.json"
// AlphaMissense raw data, and reformatted as an echtvar-compatible zip
alphamissense_tsv = "${params.large_files}/AlphaMissense_hg38.tsv.gz"
alphamissense_zip = "${params.processed_annotations}/alphamissense.zip"
// A series of annotation sources for Mitochondrial data
mitimpact_tsv = "${params.large_files}/MitImpact_db_3.1.3.txt.zip"
mitimpact_zip = "${params.processed_annotations}/mitimpact.zip"
mitotip_tsv = "${params.large_files}/mitotip_scores.txt"
mitotip_zip = "${params.processed_annotations}/mitotip.zip"
napogee_tsv = "${params.large_files}/nAPOGEE_v1.0.0.txt.zip"
napogee_zip = "${params.processed_annotations}/napogee.zip"
// ClinVar download URLs
submission_summary = "https://ftp.ncbi.nlm.nih.gov/pub/clinvar/tab_delimited/submission_summary.txt.gz"
variant_summary = "https://ftp.ncbi.nlm.nih.gov/pub/clinvar/tab_delimited/variant_summary.txt.gz"
// ClinVar blacklist
clinvar_blacklist = "'not' 'applicable'"
// HPO and Phenotype resources
hpo = "${params.large_files}/hp.obo"
gen2phen = "${params.large_files}/genes_to_phenotype.txt"
phenio_db = "${params.large_files}/phenio.db"
// ------------------------------------------------------------------------
// Annotation Workflow Parameters
// ------------------------------------------------------------------------
// Input VCF extension and location logic
input_vcf_extension = "vcf.bgz"
vcf_split_n = 2500000
// Echtvar-formatted annotation data
gnomad_zip = "${params.large_files}/gnomad_4.1_region_merged_GRCh38_whole_genome"
// ------------------------------------------------------------------------
// SV Annotation Workflow Parameters
// ------------------------------------------------------------------------
// The joint-called SV VCF to annotate is supplied per-cohort, as the `sv` column of the input TSV
// SVAFotate population frequency BED, gnomAD v4.1 + CCDG + TOPMed + 1000G
// used exactly as downloaded - the Ensembl-style contig names in this file are required, see docs
svafotate_bed = "${params.large_files}/SVAFotate_reduced_gnomAD.bed.gz"
// MANE GTF, consumed by GATK SVAnnotate. One transcript per gene, as SVAnnotate requires
mane_gtf = "${params.large_files}/MANE.GRCh38.v1.5.ensembl_genomic.gtf.gz"
// Non-coding elements BED from the GATK-SV public resources, consumed by GATK SVAnnotate.
// Adds PREDICTED_NONCODING_BREAKPOINT and PREDICTED_NONCODING_SPAN - informational, Talos reads neither yet
svannotate_noncoding_bed = "${params.large_files}/noncoding.sort.hg38.bed"
// Sequence dictionary generated from ref_genome, required by GATK SVAnnotate for contig ordering
ref_dict = "${params.processed_annotations}/ref.dict"
// Reciprocal overlap threshold for matching SVs against the gnomAD reference
sv_overlap_fraction = 0.5
}
// switch with -with-docker or -without-docker cli parameters
docker.enabled = true
// set the -output-dir via config (seqera doesn't currently allow this to be set via CLI)
outputDir = params.outdir
workflow.output.mode = 'copy'
// Process configuration
process {
memory = 8.GB
cpus = 2
// Specific process resource requirements
withName: 'ResummariseRawSubmissions' {
memory = 16.GB
cpus = 4
}
withName: 'SplitVcf' {
memory = 2.GB
cpus = 1
}
withName: 'AnnotateCsqWithBcftools' {
memory = 1.GB
cpus = 1
}
withName: 'AnnotateWithEchtvar' {
cpus = 1
memory = 1.GB
}
withName: 'AnnotatedVcfIntoMatrixTable' {
memory = 8.GB
cpus = 4
}
withName: 'RunHailFiltering' {
memory = 8.GB
cpus = 4
}
withName: 'NormaliseVcf' {
memory = 1.GB
cpus = 1
}
withName: 'CreateRoiFromGff3' {
memory = 2.GB
cpus = 1
}
withName: 'DownloadClinVarFiles' {
memory = 2.GB
}
withName: 'EncodeAlphaMissense' {
memory = 16.GB
}
withName: 'CreateSequenceDictionary' {
memory = 4.GB
cpus = 1
}
withName: 'AnnotateSvWithGatk' {
memory = 4.GB
cpus = 1
}
withName: 'AnnotateSvWithSvafotate' {
memory = 16.GB
cpus = 4
}
withName: 'RenameSvAfFields' {
memory = 2.GB
cpus = 1
}
withName: 'ValidateMOI' {
memory = 16.GB
}
}