@@ -49,13 +49,9 @@ def filter_structural_variants(
49
49
Filter structural variants to remove non-high quality events unless they are matched/annotated or
50
50
they involve a gene that is a known fusion partner
51
51
"""
52
- matched_svs = {
53
- match ["variant" ] for match in kb_matches if match ["variantType" ] == "sv"
54
- }
52
+ matched_svs = {match ["variant" ] for match in kb_matches if match ["variantType" ] == "sv" }
55
53
fusion_genes = {
56
- gene ["name" ]
57
- for gene in gene_annotations
58
- if gene .get ("knownFusionPartner" , False )
54
+ gene ["name" ] for gene in gene_annotations if gene .get ("knownFusionPartner" , False )
59
55
}
60
56
61
57
result = []
@@ -93,9 +89,7 @@ def get_evidencelevel_mapping(graphkb_conn: GraphKBConnection) -> Dict[str, str]
93
89
94
90
# Filter IPR EvidenceLevel and map each outgoing CrossReferenceOf to displayName
95
91
ipr_source_rid = graphkb_conn .get_source ("ipr" )["@rid" ]
96
- ipr_evidence_levels = filter (
97
- lambda d : d .get ("source" ) == ipr_source_rid , evidence_levels
98
- )
92
+ ipr_evidence_levels = filter (lambda d : d .get ("source" ) == ipr_source_rid , evidence_levels )
99
93
cross_references_mapping : Dict [str , str ] = dict ()
100
94
ipr_rids_to_displayname : Dict [str , str ] = dict ()
101
95
for level in ipr_evidence_levels :
@@ -144,9 +138,7 @@ def convert_statements_to_alterations(
144
138
"""
145
139
disease_matches = {
146
140
r ["@rid" ]
147
- for r in gkb_vocab .get_term_tree (
148
- graphkb_conn , disease_name , ontology_class = "Disease"
149
- )
141
+ for r in gkb_vocab .get_term_tree (graphkb_conn , disease_name , ontology_class = "Disease" )
150
142
}
151
143
152
144
if not disease_matches :
@@ -159,9 +151,7 @@ def convert_statements_to_alterations(
159
151
160
152
# get the recruitment status for any trial associated with a statement
161
153
clinical_trials = [
162
- s ["subject" ]["@rid" ]
163
- for s in statements
164
- if s ["subject" ]["@class" ] == "ClinicalTrial"
154
+ s ["subject" ]["@rid" ] for s in statements if s ["subject" ]["@class" ] == "ClinicalTrial"
165
155
]
166
156
recruitment_statuses = {}
167
157
if clinical_trials :
@@ -178,9 +168,7 @@ def convert_statements_to_alterations(
178
168
179
169
for statement in statements :
180
170
variants = [
181
- cast (Variant , c )
182
- for c in statement ["conditions" ]
183
- if c ["@class" ] in VARIANT_CLASSES
171
+ cast (Variant , c ) for c in statement ["conditions" ] if c ["@class" ] in VARIANT_CLASSES
184
172
]
185
173
diseases = [c for c in statement ["conditions" ] if c ["@class" ] == "Disease" ]
186
174
disease_match = len (diseases ) == 1 and diseases [0 ]["@rid" ] in disease_matches
@@ -201,12 +189,8 @@ def convert_statements_to_alterations(
201
189
202
190
evidence_level_str = display_evidence_levels (statement )
203
191
evidence_levels = statement .get ("evidenceLevel" ) or []
204
- ipr_evidence_levels = [
205
- ev_map [el .get ("@rid" , "" )] for el in evidence_levels if el
206
- ]
207
- ipr_evidence_levels_str = ";" .join (
208
- sorted (set ([el for el in ipr_evidence_levels ]))
209
- )
192
+ ipr_evidence_levels = [ev_map [el .get ("@rid" , "" )] for el in evidence_levels if el ]
193
+ ipr_evidence_levels_str = ";" .join (sorted (set ([el for el in ipr_evidence_levels ])))
210
194
211
195
for variant in variants :
212
196
if variant ["@rid" ] not in variant_matches :
@@ -216,16 +200,10 @@ def convert_statements_to_alterations(
216
200
"approvedTherapy" : approved_therapy or False ,
217
201
"category" : ipr_section or "unknown" ,
218
202
"context" : (
219
- statement ["subject" ]["displayName" ]
220
- if statement ["subject" ]
221
- else ""
222
- ),
223
- "kbContextId" : (
224
- statement ["subject" ]["@rid" ] if statement ["subject" ] else ""
225
- ),
226
- "disease" : ";" .join (
227
- sorted (d .get ("displayName" , "" ) for d in diseases )
203
+ statement ["subject" ]["displayName" ] if statement ["subject" ] else ""
228
204
),
205
+ "kbContextId" : (statement ["subject" ]["@rid" ] if statement ["subject" ] else "" ),
206
+ "disease" : ";" .join (sorted (d .get ("displayName" , "" ) for d in diseases )),
229
207
"evidenceLevel" : evidence_level_str or "" ,
230
208
"iprEvidenceLevel" : ipr_evidence_levels_str or "" ,
231
209
"kbStatementId" : statement ["@rid" ],
@@ -288,9 +266,7 @@ def select_expression_plots(
288
266
gene = str (variant .get ("gene" , "" ))
289
267
hist = str (variant .get ("histogramImage" , "" ))
290
268
if hist :
291
- images_by_gene [gene ] = ImageDefinition (
292
- {"key" : f"expDensity.{ gene } " , "path" : hist }
293
- )
269
+ images_by_gene [gene ] = ImageDefinition ({"key" : f"expDensity.{ gene } " , "path" : hist })
294
270
return [images_by_gene [gene ] for gene in selected_genes if gene in images_by_gene ]
295
271
296
272
@@ -333,9 +309,7 @@ def create_key_alterations(
333
309
counts [type_mapping [variant_type ]].add (variant_key )
334
310
335
311
if variant_type == "exp" :
336
- alterations .append (
337
- f'{ variant .get ("gene" ,"" )} ({ variant .get ("expressionState" )} )'
338
- )
312
+ alterations .append (f'{ variant .get ("gene" ,"" )} ({ variant .get ("expressionState" )} )' )
339
313
elif variant_type == "cnv" :
340
314
alterations .append (f'{ variant .get ("gene" ,"" )} ({ variant .get ("cnvState" )} )' )
341
315
# only show germline if relevant
@@ -412,19 +386,15 @@ def germline_kb_matches(
412
386
# Remove any matches to germline events
413
387
for alt in somatic_alts :
414
388
var_list = [v for v in all_variants if v ["key" ] == alt ["variant" ]]
415
- somatic_var_list = [
416
- v for v in var_list if not v .get ("germline" , not assume_somatic )
417
- ]
389
+ somatic_var_list = [v for v in var_list if not v .get ("germline" , not assume_somatic )]
418
390
if var_list and not somatic_var_list :
419
391
logger .debug (
420
392
f"Dropping germline match to somatic statement kbStatementId:{ alt ['kbStatementId' ]} : { alt ['kbVariant' ]} { alt ['category' ]} "
421
393
)
422
394
elif somatic_var_list :
423
395
ret_list .append (alt ) # match to somatic variant
424
396
else :
425
- ret_list .append (
426
- alt
427
- ) # alteration not in any specific keys matches to check.
397
+ ret_list .append (alt ) # alteration not in any specific keys matches to check.
428
398
429
399
return ret_list
430
400
@@ -499,9 +469,7 @@ def multi_variant_filtering(
499
469
500
470
# Filtering out incompleted matches of gkb_matches
501
471
return [
502
- match
503
- for match in gkb_matches
504
- if match ["kbStatementId" ] in complete_matching_statements
472
+ match for match in gkb_matches if match ["kbStatementId" ] in complete_matching_statements
505
473
]
506
474
507
475
@@ -547,9 +515,7 @@ def get_kb_matched_statements(
547
515
for item in gkb_matches :
548
516
stmt = copy (item )
549
517
stmt ["requiredKbMatches" ].sort ()
550
- kbs = KbMatchedStatement (
551
- {key : val for (key , val ) in stmt .items () if key in kbs_keys }
552
- )
518
+ kbs = KbMatchedStatement ({key : val for (key , val ) in stmt .items () if key in kbs_keys })
553
519
dict_key = str (kbs )
554
520
kbMatchedStatements [dict_key ] = kbs
555
521
return [* kbMatchedStatements .values ()]
@@ -591,11 +557,7 @@ def get_kb_statement_matched_conditions(
591
557
kbMatchedStatementConditions = {}
592
558
593
559
for kbStmt in kbMatchedStatements :
594
- stmts = [
595
- item
596
- for item in gkb_matches
597
- if item ["kbStatementId" ] == kbStmt ["kbStatementId" ]
598
- ]
560
+ stmts = [item for item in gkb_matches if item ["kbStatementId" ] == kbStmt ["kbStatementId" ]]
599
561
600
562
requirements = {}
601
563
for requirement in stmts [0 ]["requiredKbMatches" ]:
@@ -616,9 +578,7 @@ def get_kb_statement_matched_conditions(
616
578
617
579
# remove empty sets from requirements if allowing partial matches
618
580
if allow_partial_matches :
619
- requirements = {
620
- key : val for (key , val ) in requirements .items () if len (val ) > 0
621
- }
581
+ requirements = {key : val for (key , val ) in requirements .items () if len (val ) > 0 }
622
582
623
583
variantConditionSets = list (product (* requirements .values ()))
624
584
conditionSets = [
0 commit comments