Spaces:
Running
Running
File size: 828 Bytes
877add7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | """Graph dataset builder."""
from __future__ import annotations
from dataclasses import dataclass
from app.knowledge.ddi_knowledge import top_risky_pairs
from app.knowledge.side_effect_ontology import SIDE_EFFECT_TAGS
@dataclass(slots=True)
class GraphSample:
drugs: list[str]
side_effects: list[str]
severe_alert: int
def build_graph_samples(regimens: list[list[str]]) -> list[GraphSample]:
samples: list[GraphSample] = []
for regimen in regimens:
tags: list[str] = []
for drug in regimen:
tags.extend(SIDE_EFFECT_TAGS.get(drug, []))
samples.append(
GraphSample(
drugs=regimen,
side_effects=sorted(set(tags)),
severe_alert=1 if top_risky_pairs(regimen) else 0,
)
)
return samples
|