-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexample_config.toml
More file actions
168 lines (134 loc) · 7.13 KB
/
Copy pathexample_config.toml
File metadata and controls
168 lines (134 loc) · 7.13 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
# this value can be set to `true`, which will lead to an analysis of the cohort as singletons
# no de novo variant detection, and no family-based variant filtering will be performed. May be useful for benchmarking
singletons = false
[GeneratePanelData]
# the panelapp instance to use
panelapp = 'https://panelapp-aus.org/api/v1/panels'
# panel ID in that panelapp instance to use as a base, by default this is the 'Mendeliome'
default_panel = 137
# these genes are removed from the base panel, but will be included if they occur in a phenotype-matched panel
require_pheno_match = ['FLG', 'GJB2', 'F2', 'F5', 'HFE']
# genes to remove from any panel, matched or otherwise. Effectively a blacklist
forbidden_genes = ['a', 'list', 'of', 'forbidden', 'genes'] # symbols, ENSG, or a mix
# IDs of panels to apply to all participants in this analysis, regardless of phenotype
# must exist in the relevant panelapp instance
forced_panels = [1, 2, 3]
# confidence level - set this to a lower value to allow non-green PanelApp genes into the analysis
# 3 = Green only
# 2 = Amber or Green only
# 1 = Red, Amber, or Green
confidence_level = 3
# integer, when parsing panel data, this value determines whether a gene is 'recent'
# we find the date each gene became Green/Ready, and if that is within X months of today
# we treat the gene as new. New/Recent genes are highlighted in the report with a Star next to the symbol
within_x_months = 24
# this section permits the manual addition of genes to the panel data
# each gene here will be folded into the panelapp data after standard API queries have taken place
# if the gene was already identified for this analysis, the MOI provided here will take precedent
# if the gene here was not identified through panelapp, a new entity will be added, and the panel ID
# associated with it will be the number zero (panel IDs must all be numeric, 0 is not in use)
[[GeneratePanelData.manual_overrides]]
# this field is mandatory - the ENSG ID of the gene
ensg = 'ENSG0000012345'
# this field should be supplied, if omitted will default to Mono_And_Biallelic
moi = 'Biallelic'
# optional - if ommitted the gene symbol will be looked up in the Ensembl data
symbol = 'AGENE'
# optional
chrom = '1'
[ValidateMOI]
# callset AF filtering will only be applied to variants with this AC or higher
min_callset_ac_to_filter = 10
# Global frequency filter
# Applied to all variants regardless of MOI. Variants reported in ClinVar as P/LP are exempt from these filters
gnomad_max_af = 0.01
gnomad_sv_max_af = 0.03
# callset_* filters only apply to variants with a callset AC > min_callset_ac_to_filter.
callset_max_af = 0.01
callset_sv_max_af = 0.03
gnomad_max_homozygotes = 5
gnomad_max_hemizygotes = 5
# Dominant frequency filters - only applied to variants being considered for a dominant MOI.
# Variants reported in ClinVar as P/LP are exempt from these filters
dominant_gnomad_max_af = 0.00001
dominant_gnomad_sv_max_af = 0.01
dominant_gnomad_max_ac = 10
dominant_gnomad_max_homozygotes = 0
# callset_* filters only apply to variants with a callset AC > min_callset_ac_to_filter.
dominant_callset_max_af = 0.01
dominant_callset_sv_max_af = 0.01
dominant_callset_max_ac = 10
# Clinvar frequency filters
# Applied to variants reported as P/LP in clinvar
clinvar_gnomad_max_af = 0.05
clinvar_dominant_gnomad_max_af = 0.00005
# callset_* filters only apply to variants with a callset AC > min_callset_ac_to_filter.
clinvar_callset_max_af = 0.05
clinvar_dominant_callset_max_af = 0.05
ignore_categories = []
# we dismiss variants where the proband doesn't have at least this much alt support
min_alt_depth = 5
# by default, only consider the top two exomiser results
exomiser_rank_threshold = 2
# optionally, ignore some categories at runtime
# entries in this list should be the final component of a category name
# e.g. categorybooleanalphamissense -> "alphamissense"
# e.g. categorysampledenovo -> "denovo"
#ignore_categories = ['alphamissense']
# for these categories, require a phenotype-gene match
# this is the final part of the Category name, e.g. categorydetailspm5 is "pm5", and categorybooleansv1 is "sv1"
phenotype_match = ['alphamissense']
# all categories in this list are treated as 'support' i.e. can appear as the second-hit, but will not independently be
# reported. Comp-het formations of two support variants are also removed
# all categories not in this list are treated as fully important
# the values here can either be the category ID (3, 6) or the longer term (e.g. "AlphaMissense")
support_categories = ['alphamissense', 'clinvar0star']
# Optional 'super logging' mode. When enabled, every variant filtered out by the MOI checks (frequency,
# per-sample, family, comp-het partner) is recorded as one JSON line in super_logging_path. Off by default.
# If super_logging_path ends in '.gz' the output is gzip-compressed. Intended for diagnostic runs only.
#super_logging = true
#super_logging_path = "exclusions.jsonl.gz"
# any STR loci with unacceptably low signal-to-noise ratios - this is the 'locus' name from STRipy, not the gene ID
noisy_strs = ['ARX_1', 'ARX_2', 'HOXA13_1', 'HOXA13_2', 'HOXA13_3', 'TCF4', 'RUNX2']
[RunSmallFiltering]
# variables affecting how the VCF variants are parsed, and AnalysisVariant objects are populated
csq_string = [ "consequence", "gene_id", "gene", "transcript", "mane_id", "mane", "biotype", "dna_change", "amino_acid_change", "codon", "ensp", "am_class", "am_pathogenicity",]
# variables for the hail operations, including CSQ sets and filter thresholds
ac_threshold = 0.01
additional_csq = ['missense', 'inframe_deletion', 'inframe_insertion']
af_semi_rare = 0.01
callset_af_sv_recessive = 0.03
critical_csq = [ "frameshift", "splice_acceptor", "splice_donor", "start_lost", "stop_gained", "stop_lost",]
spliceai = 0.5
am_pathogenicity = 0.564
heteroplasmy_min = 0.2
callset_af_sv_recessive = 0.03
minimum_depth = 10
min_alt_depth = 5
[RunSmallFiltering.de_novo]
min_child_ab = 0.2
min_depth = 5
max_depth = 1000
min_proband_gq = 25
min_alt_depth = 5
apply_min_all_sample_gq = true
# un-comment this to apply a minimum GQ to all samples in the trio, including WT. This will reduce de Novo prediciton
# if data was merged from single-sample VCFs (WTs/absent from single sample VCF will be inserted as WT/GQ=0)
#min_all_sample_gq = 15
[RunSvFiltering]
# prefix for the population frequency INFO fields, i.e. {gnomad_population}_sv_AF and _sv_SVID
# the SV annotation workflow reads this same key when renaming SVAFotate's output, so the two cannot disagree
gnomad_population = 'gnomad_v4.1'
[CreateTalosHTML]
remove_solved_cases = true
[CreateTalosHTML.hyperlinks]
template = "e.g. https://seqr.populationgenomics.org.au/COHORT_project_id/.../{sample}"
variant_template = "e.g. https://seqr.populationgenomics.org.au/variant/{variant}/family/{sample}"
[HPOFlagging]
# this section relates to phenotype-matching the final variant set
# set this to True to do a semantic term comparison when phenotype matching
# this does a wiggly semantic similarity test between participant and gene HPOs, through SemSimian
# if False, we will always do a set intersection on HPO terms
semantic_match = true
# min similarity score when doing a semsimian termset similarity test
min_similarity = 14.0