@@ -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" ],
@@ -349,9 +327,7 @@ def select_expression_plots(
349
327
gene = str (variant .get ("gene" , "" ))
350
328
hist = str (variant .get ("histogramImage" , "" ))
351
329
if hist :
352
- images_by_gene [gene ] = ImageDefinition (
353
- {"key" : f"expDensity.{ gene } " , "path" : hist }
354
- )
330
+ images_by_gene [gene ] = ImageDefinition ({"key" : f"expDensity.{ gene } " , "path" : hist })
355
331
return [images_by_gene [gene ] for gene in selected_genes if gene in images_by_gene ]
356
332
357
333
@@ -394,9 +370,7 @@ def create_key_alterations(
394
370
counts [type_mapping [variant_type ]].add (variant_key )
395
371
396
372
if variant_type == "exp" :
397
- alterations .append (
398
- f'{ variant .get ("gene" ,"" )} ({ variant .get ("expressionState" )} )'
399
- )
373
+ alterations .append (f'{ variant .get ("gene" ,"" )} ({ variant .get ("expressionState" )} )' )
400
374
elif variant_type == "cnv" :
401
375
alterations .append (f'{ variant .get ("gene" ,"" )} ({ variant .get ("cnvState" )} )' )
402
376
# only show germline if relevant
@@ -473,19 +447,15 @@ def germline_kb_matches(
473
447
# Remove any matches to germline events
474
448
for alt in somatic_alts :
475
449
var_list = [v for v in all_variants if v ["key" ] == alt ["variant" ]]
476
- somatic_var_list = [
477
- v for v in var_list if not v .get ("germline" , not assume_somatic )
478
- ]
450
+ somatic_var_list = [v for v in var_list if not v .get ("germline" , not assume_somatic )]
479
451
if var_list and not somatic_var_list :
480
452
logger .debug (
481
453
f"Dropping germline match to somatic statement kbStatementId:{ alt ['kbStatementId' ]} : { alt ['kbVariant' ]} { alt ['category' ]} "
482
454
)
483
455
elif somatic_var_list :
484
456
ret_list .append (alt ) # match to somatic variant
485
457
else :
486
- ret_list .append (
487
- alt
488
- ) # alteration not in any specific keys matches to check.
458
+ ret_list .append (alt ) # alteration not in any specific keys matches to check.
489
459
490
460
return ret_list
491
461
@@ -560,9 +530,7 @@ def multi_variant_filtering(
560
530
561
531
# Filtering out incompleted matches of gkb_matches
562
532
return [
563
- match
564
- for match in gkb_matches
565
- if match ["kbStatementId" ] in complete_matching_statements
533
+ match for match in gkb_matches if match ["kbStatementId" ] in complete_matching_statements
566
534
]
567
535
568
536
@@ -608,9 +576,7 @@ def get_kb_matched_statements(
608
576
for item in gkb_matches :
609
577
stmt = copy (item )
610
578
stmt ["requiredKbMatches" ].sort ()
611
- kbs = KbMatchedStatement (
612
- {key : val for (key , val ) in stmt .items () if key in kbs_keys }
613
- )
579
+ kbs = KbMatchedStatement ({key : val for (key , val ) in stmt .items () if key in kbs_keys })
614
580
dict_key = str (kbs )
615
581
kbMatchedStatements [dict_key ] = kbs
616
582
return [* kbMatchedStatements .values ()]
@@ -656,11 +622,7 @@ def get_kb_statement_matched_conditions(
656
622
kbMatchedStatementConditions = {}
657
623
658
624
for kbStmt in kbMatchedStatements :
659
- stmts = [
660
- item
661
- for item in gkb_matches
662
- if item ["kbStatementId" ] == kbStmt ["kbStatementId" ]
663
- ]
625
+ stmts = [item for item in gkb_matches if item ["kbStatementId" ] == kbStmt ["kbStatementId" ]]
664
626
requirements = {}
665
627
for requirement in stmts [0 ]["requiredKbMatches" ]:
666
628
if not requirements .get (requirement , False ):
@@ -694,9 +656,7 @@ def get_kb_statement_matched_conditions(
694
656
]
695
657
for conditionSet in conditionSets :
696
658
# remove Nones
697
- observedVariantKeys = [
698
- item for item in conditionSet ["observedVariantKeys" ] if item
699
- ]
659
+ observedVariantKeys = [item for item in conditionSet ["observedVariantKeys" ] if item ]
700
660
observedVariantKeys .sort ()
701
661
kbmc = KbMatchedStatementConditionSet (
702
662
{
0 commit comments