AI in Genomic Counseling
Variant Interpretation
ACMG Classification
| Class | Evidence | Action |
|---|---|---|
| Pathogenic | Strong evidence | Report |
| Likely pathogenic | Moderate evidence | Report |
| VUS | Uncertain | Monitor |
| Likely benign | Evidence against | Do not report |
| Benign | Strong evidence against | Do not report |
class VariantInterpreter:
def classify_variant(self, evidence_scores):
total = sum(self.evidence_weights[k] * evidence_scores.get(k, 0)
for k in self.evidence_weights)
if total > 0.9: return 'Pathogenic'
elif total > 0.7: return 'Likely pathogenic'
elif total > 0.3: return 'VUS'
elif total > 0.1: return 'Likely benign'
return 'Benign'
Risk Communication
class RiskCommunicator:
def calculate_lifetime_risk(self, gene, variant, family_history, age):
baseline = self.baseline.get(gene, 0.1)
or_value = self._get_odds_ratio(gene, variant)
family_mod = self._compute_family_modifier(family_history)
return min(baseline * or_value * family_mod, 0.95)