glossary.py•1.11 kB
from __future__ import annotations
from typing import Dict, List, Optional
GLOSSARY: Dict[str, Dict[str, str]] = {
"mci": {
"term": "Mitochondrial Complex I",
"description": "NADH:ubiquinone oxidoreductase, the first enzyme complex in the mitochondrial electron transport chain.",
"aliases": ["complex I", "complex one", "etc complex i"],
},
"mcii": {
"term": "Mitochondrial Complex I inhibitor",
"description": "Compound that inhibits mitochondrial Complex I activity, impacting oxidative phosphorylation.",
"aliases": ["complex I inhibitor", "complex one inhibitor", "mci inhibitor"],
},
}
def list_glossary_terms() -> List[str]:
return sorted(GLOSSARY)
def get_glossary_term(key: str) -> Optional[Dict[str, str]]:
if not key:
return None
normalized = key.strip().lower()
for canonical_key, payload in GLOSSARY.items():
synonyms = [canonical_key] + payload.get("aliases", [])
if normalized in (alias.lower() for alias in synonyms):
return {"key": canonical_key, **payload}
return None