Linking to biolink/biolink-model#1545 (comment) which has additional context.
Especially the LP and VUS case predicates don't make much sense.
Maybe the answer is to use qualifiers rather than different predicates here?
Also noting to @mbrush in case he wants to add anything here.
def get_disease_predicate_and_negation(clinical_significance):
"""Get predicate and negation based on clinical significance."""
if clinical_significance == 'Pathogenic':
return CAUSES, False
elif clinical_significance == 'Likely Pathogenic':
return ASSOCIATED_WITH_INCREASED_LIKELIHOOD, False
elif clinical_significance == 'Uncertain Significance':
return GENETICALLY_ASSOCIATED_WITH, False
else:
raise ValueError(f"Not sure how to handle _assertion: '{clinical_significance}'")