用途:通过脚本查询 PrimeKG 精准医学知识图谱,获取基因、蛋白、药物、疾病、表型、通路等实体间的多尺度生物医学关系,用于知识驱动的药物发现、药物重定位、表型分析、多尺度生物学与网络药理学。图谱整合 20 个原始资源,含 129,375 个节点、4,050,249 条边、10 种节点类型与 30 种边类型,为 2022 年固定快照。
主要能力:search_nodes 搜索节点(疾病 ID 为 MONDO id,一个名称可能对应多个 ID);get_neighbors 获取直接邻居及关系类型;get_disease_context 汇总某疾病的关联基因、药物、表型与相关疾病;find_paths 查找药物→共享基因/蛋白→疾病的深度 2 路径,作为重定位线索。
使用方式:在技能目录下用 uv run python 运行,使 scripts/ 可导入,或将其加入 sys.path。数据通过环境变量 PRIMEKG_DATA_PATH 指向 Harvard Dataverse 发布的 kg.csv(默认 ../data/kg.csv)。下载命令:wget -O kg.csv https://dataverse.harvard.edu/api/access/datafile/6180620。也可用 PyTDC 的 from tdc.resource import PrimeKG 加载。过滤时须使用精确类型字符串,如 gene/protein、effect/phenotype,关系如 disease_protein、indication、contraindication、off-label use、disease_phenotype_positive 等;边为无向,需检查两端。
限制:上游维护者已声明 PrimeKG 被同实验室的 OptimusKG 取代(190,531 节点、21.8M 边、26 种关系),建议新分析使用 OptimusKG(uv pip install optimuskg,Python ≥ 3.12;import optimuskg;nodes, edges = optimuskg.load_graph(lcc=True) 或 G = optimuskg.load_networkx(lcc=True);数据 doi:10.7910/DVN/IYNGEV,文档 https://optimuskg.ai)。本技能保留用于复现或对比已发表结果。kg.csv 约 0.98 GB,每次函数调用都会重新加载,重复查询应缓存 DataFrame 或使用图数据库。疾病分组会将约 22k 个 MONDO 概念合并为约 17k 个分组节点,同一名称可能解析到多个共享 node_index 的 MONDO id。评分型靶点-疾病证据、跨物种关联、药物完整记录、图嵌入训练等场景应改用其他技能。