[ PROMPT_NODE_26528 ]
interactions
[ SKILL_DOCUMENTATION ]
# 药物-药物相互作用
## 概述
DrugBank 提供全面的药物-药物相互作用 (DDI) 数据,包括机制、严重程度和临床意义。这些信息对于药物警戒、临床决策支持和药物安全研究至关重要。
## 相互作用数据结构
### XML 结构
xml
DB00001
Warfarin
不良反应的风险或严重程度可能会增加...
DB00002
Aspirin
可能会增加抗凝活性...
### 相互作用组件
- **drugbank-id**: 相互作用药物的 DrugBank ID
- **name**: 相互作用药物的名称
- **description**: 关于相互作用机制和临床意义的详细描述
## 提取药物相互作用
### 基本相互作用提取
python
from drugbank_downloader import get_drugbank_root
def get_drug_interactions(drugbank_id):
"""获取特定药物的所有相互作用"""
root = get_drugbank_root()
ns = {'db': 'http://www.drugbank.ca'}
# 查找药物
for drug in root.findall('db:drug', ns):
primary_id = drug.find('db:drugbank-id[@primary="true"]', ns)
if primary_id is not None and primary_id.text == drugbank_id:
interactions = []
# 提取相互作用
ddi_elem = drug.find('db:drug-interactions', ns)
if ddi_elem is not None:
for interaction in ddi_elem.findall('db:drug-interaction', ns):
interaction_data = {
'partner_id': interaction.find('db:drugbank-id', ns).text,
'partner_name': interaction.find('db:name', ns).text,
'description': interaction.find('db:description', ns).text
}
interactions.append(interaction_data)
return interactions
return []
# 示例用法
interactions = get_drug_interactions('DB00001')
print(f"找到 {len(interactions)} 个相互作用")
### 双向相互作用映射
python
def build_interaction_network():
"""构建完整的相互作用网络(所有药物对)"""
root = get_drugbank_root()
ns = {'db': 'http://www.drugbank.ca'}
interaction_network = {}
for drug in root.finda