File size: 458 Bytes
21c7db9
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"""Side-effect class predictions."""

from __future__ import annotations

from app.knowledge.side_effect_ontology import SIDE_EFFECT_TAGS


def predict_side_effects(drugs: list[str]) -> dict[str, float]:
    counts: dict[str, float] = {}
    for drug in drugs:
        for tag in SIDE_EFFECT_TAGS.get(drug, []):
            counts[tag] = counts.get(tag, 0.0) + 1.0
    total = sum(counts.values()) or 1.0
    return {k: v / total for k, v in counts.items()}