@@ -68,17 +68,18 @@ def set_item_clin_sig(item, variant_dict):
68
68
# customAssertionScore
69
69
70
70
71
- def set_item_condition_set (item , variant_dict ):
71
+ def set_item_condition_set (item : dict , variant_dict : dict ):
72
72
"""Set the conditionSet key/values for an API submission item
73
73
Args:
74
74
item(dict). An item in the clinvarSubmission.items list
75
75
variant_dict(dict). Example: {'##Local ID': '1d9ce6ebf2f82d913cfbe20c5085947b', 'Linking ID': '1d9ce6ebf2f82d913cfbe20c5085947b', 'Gene symbol': 'XDH', 'Reference sequence': 'NM_000379.4', 'HGVS': 'c.2751del', ..}
76
76
"""
77
- conditions = []
77
+ conditions : list = []
78
78
79
- # Check if phenotype was specified in Variant file
80
- cond_db = CONDITIONS_MAP .get (variant_dict .get ("Condition ID type" ))
81
- cond_values = variant_dict .get ("Condition ID value" )
79
+ # Check if condition ID is specified in Variant file
80
+ cond_db : str = CONDITIONS_MAP .get (variant_dict .get ("Condition ID type" ))
81
+ cond_values : str = variant_dict .get ("Condition ID value" )
82
+ multi_condition_explanation : str = variant_dict .get ("Explanation for multiple conditions" )
82
83
83
84
if cond_db and cond_values :
84
85
cond_values = cond_values .split (";" )
@@ -87,8 +88,8 @@ def set_item_condition_set(item, variant_dict):
87
88
if conditions :
88
89
item ["conditionSet" ] = {"condition" : conditions }
89
90
90
- # NOT parsing the following key/values for now :
91
- # condition.db.name
91
+ if len ( conditions ) > 1 and multi_condition_explanation :
92
+ item [ "conditionSet" ][ "MultipleConditionExplanation" ] = multi_condition_explanation
92
93
93
94
94
95
def set_item_local_id (item , variant_dict ):
0 commit comments