-
Notifications
You must be signed in to change notification settings - Fork 115
Expand file tree
/
Copy pathMitoPostProcessing.wdl
More file actions
102 lines (86 loc) · 4.06 KB
/
MitoPostProcessing.wdl
File metadata and controls
102 lines (86 loc) · 4.06 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
version 1.0
struct RuntimeAttr {
Float? mem_gb
Int? cpu_cores
Int? disk_gb
Int? preemptible_tries
Int? max_retries
}
workflow MitoPostProcessing {
meta {
description: "Runs mito post-processing from the cleaned notebook: exports filtered VCF, sample metadata TSV, and all generated plots as SVG."
allowNestedInputs: true
}
input {
String output_path
String input_path
String output_base
String hail_docker = "us.gcr.io/broad-gotc-prod/aou_mitochondria_post:0.0.5"
RuntimeAttr? runtime_attr_override
}
String pipeline_version = "aou_9.0.0"
call RunMitoPostProcessing {
input:
output_path = output_path,
input_path = input_path,
output_base = output_base,
hail_docker = hail_docker,
runtime_attr_override = runtime_attr_override
}
output {
File filtered_vcf = RunMitoPostProcessing.filtered_vcf
File filtered_vcf_tbi = RunMitoPostProcessing.filtered_vcf_tbi
File sample_metadata_tsv = RunMitoPostProcessing.sample_metadata_tsv
File variants_per_sample_svg = RunMitoPostProcessing.variants_per_sample_svg
File mito_cn_distribution_svg = RunMitoPostProcessing.mito_cn_distribution_svg
File variant_allele_frequency_svg = RunMitoPostProcessing.variant_allele_frequency_svg
File variant_af_and_allele_fraction_svg = RunMitoPostProcessing.variant_af_and_allele_fraction_svg
File numt_fp_by_mtcn_svg = RunMitoPostProcessing.numt_fp_by_mtcn_svg
File haplogroup_heteroplasmy_svg = RunMitoPostProcessing.haplogroup_heteroplasmy_svg
File haplogroup_homoplasmy_svg = RunMitoPostProcessing.haplogroup_homoplasmy_svg
}
}
task RunMitoPostProcessing {
input {
String output_path
String input_path
String output_base
String hail_docker
RuntimeAttr? runtime_attr_override
}
RuntimeAttr runtime_default = object {
mem_gb: 32,
disk_gb: 200,
cpu_cores: 8,
preemptible_tries: 0,
max_retries: 1
}
RuntimeAttr runtime_override = select_first([runtime_attr_override, runtime_default])
command <<<
set -euo pipefail
python3 /opt/mito_plot_filter.py \
--input-path "~{input_path}" \
--output-path "~{output_path}" \
--output-base "~{output_base}"
>>>
output {
File filtered_vcf = "~{output_base}.vcf.bgz"
File filtered_vcf_tbi = "~{output_base}.vcf.bgz.tbi"
File sample_metadata_tsv = "~{output_base}_metadata.tsv"
File variants_per_sample_svg = "~{output_base}.variants_per_sample.svg"
File mito_cn_distribution_svg = "~{output_base}.mito_cn_distribution.svg"
File variant_allele_frequency_svg = "~{output_base}.variant_allele_frequency.svg"
File variant_af_and_allele_fraction_svg = "~{output_base}.variant_af_and_allele_fraction.svg"
File numt_fp_by_mtcn_svg = "~{output_base}.numt_fp_by_mtcn.svg"
File haplogroup_heteroplasmy_svg = "~{output_base}.haplogroup_heteroplasmy.svg"
File haplogroup_homoplasmy_svg = "~{output_base}.haplogroup_homoplasmy.svg"
}
runtime {
memory: select_first([runtime_override.mem_gb, runtime_default.mem_gb]) + " GB"
disks: "local-disk " + select_first([runtime_override.disk_gb, runtime_default.disk_gb]) + " SSD"
cpu: select_first([runtime_override.cpu_cores, runtime_default.cpu_cores])
preemptible: select_first([runtime_override.preemptible_tries, runtime_default.preemptible_tries])
maxRetries: select_first([runtime_override.max_retries, runtime_default.max_retries])
docker: hail_docker
}
}