news 2026/10/19 1:17:51

一句话查完 11GB 生物医学数据:Biomni 数据湖的完整使用清单

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一句话查完 11GB 生物医学数据:Biomni 数据湖的完整使用清单

一句话查完 11GB 生物医学数据:Biomni 数据湖的完整使用清单

【免费下载链接】BiomniBiomni: a general-purpose biomedical AI agent项目地址: https://gitcode.com/GitHub_Trending/bi/Biomni

Biomni 是一个生物医学 AI 智能体,它内置了约 11GB 的 BioMni 数据湖,覆盖 75 个常用数据集。做生物医学数据检索时,你用自然语言提问,比如"帮我查 UniProt 里人胰岛素的信息",它会自己拼好接口请求,把结果整理成表返回。

数据分散、接口各异:生物医学检索的真实痛点

做生物医学研究的人多半被这个问题折磨过:数据散落在几十个数据库里,UniProt 走 REST,Ensembl 有独立 API,ChEMBL 又是另一套参数写法,每个库都要单独读文档、拼请求、处理返回格式。更麻烦的是,基因表达、蛋白互作、临床药物这些关键数据往往分散在不同服务器、不同文件格式里,光把数据找齐就要半天。Biomni 的思路是反着来的:把约 11GB 常用数据一次性拉到本地做数据湖,把在线数据库统一封装成自然语言可调用的工具,检索这件事就从"手工拼 URL"变成"说一句人话"。

自然语言怎么变成一次 UniProt API 调用:检索链路说明

整条链路分三步。第一步,你输入一句话,比如"找一下人胰岛素的 UniProt 记录"。第二步,Biomni 从 biomni/tool/schema_db/ 加载对应数据库的模式文件,比如查 UniProt 就加载uniprot.pkl,里面写清了各端点支持哪些参数、返回什么字段,相当于把接口说明书塞给大语言模型当上下文。第三步,模型按模板输出一个含full_url的 JSON,代码校验后直接发请求,拿到结果再格式化返回。以 biomni/tool/database.py 里的query_uniprot()为例:传prompt参数就自动翻译,传endpoint参数就跳过翻译直接查,两条路都走得通。

11GB 数据盘点:基因组、蛋白质、药物三大类存了什么

数据湖里基因组学相关文件最密集:gtex_tissue_gene_tpm.parquet是 GTEx 项目的人体各组织基因表达量,gwas_catalog.pkl存 GWAS 全基因组关联研究结果,omim.parquet记录遗传病与致病基因的关系,GeneBass 则提供两类预测结果——genebass_missense_LC_filtered.pkl是错义变异(单个碱基改变导致氨基酸被替换)的过滤表,genebass_pLoF_filtered.pkl是功能丧失预测,即判断某个突变会不会让基因"罢工"。蛋白质这块以实验证据为主:affinity_capture-ms.parquet来自亲和捕获质谱(把目标蛋白连同它结合的伙伴一起拉下来再做质谱鉴定),two-hybrid.parquet是酵母双杂交测到的蛋白互作,proteinatlas.tsv汇总了 Human Protein Atlas 的蛋白表达位置。药物发现方向的数据量最大:BindingDB_All_202409.tsv收录蛋白质和小分子的实测结合常数,八个ddinter_*.csv文件按器官系统分类存放 DDInter 的药物相互作用记录,broad_repurposing_hub_molecule_with_smiles.parquet和txgnn_prediction.pkl则是药物重定位(给已有老药找新适应症)要用的分子库和 TxGNN 模型预测值。

模式文件、统一入口与异常处理:缓存与容错细节

快和稳都来自工程约束。第一,每个数据库在 biomni/tool/schema_db/ 里都有一个对应的.pkl模式文件,目录里实际放着 33 个(ensembl.pkl、chembl.pkl、pdb.pkl……),模型只能在模式写明的端点和参数里做选择,乱编一个接口字段的机会很小。第二,所有对外 REST 请求都汇到 biomni/tool/database.py 中同一个_query_rest_api()入口,超时、状态码异常统一拦截并转成带error字段的结构化返回,调用方不需要各自写 try/except。第三,数据湖本身有"目录"机制:biomni/env_desc.py 给每个数据文件配了一句说明,智能体接到任务先按相关性挑选条目,只把用得上的文件注入上下文,而不是把 11GB 全量读进内存;首次创建智能体时自动下载,之后重复提问不再重复拉取,这就是它省时的关键。

3 个真实研究场景:标志物、药物重定位、蛋白注释怎么用

场景一,生物标志物发现。提出问题:哪个组织最依赖 BRCA1,能不能当肿瘤标志物?一句话操作:问它"查 GTEx 里 BRCA1 在哪些组织表达最高"。得到的价值:GTEx 表达表直接列出各组织 TPM 值,高表达组织就是候选取材部位,不用再自己解析 parquet。

场景二,药物重定位。提出问题:阿尔茨海默病有没有可以借来的老药?一句话操作:让它调 TxGNN 预测,对应 biomni/tool/pharmacology.py 里的retrieve_topk_repurposing_drugs_from_disease_txgnn()。得到的价值:top-k 候选药物带排名返回,药筛团队省掉一轮文献初筛。

场景三,蛋白质功能注释。提出问题:新筛到一条蛋白序列,结构域是什么?一句话操作:让它走 InterPro 接口查结构域。得到的价值:家族归属和保守结构域一次查清,同源判断不用手动比对。

上手入口:数据湖在代码里的 5 个位置

想动手验证,从这几处开始:biomni/agent/a1.py 是智能体初始化入口,A1(path='./data')首次运行会自动下载约 11GB 数据湖,传空列表expected_data_lake_files=[]可跳过;biomni/env_desc.py 是 75 个数据湖文件加代码库清单的总目录;biomni/tool/schema_db/ 存放 33 个数据库模式文件;biomni/tool/database.py 收着全部在线数据库查询函数;biomni/model/retriever.py 负责检索与排序。

Biomni 数据湖把"翻文档、拼请求"这类琐事收进代码里,研究者只负责说清科学问题。自然语言查数据的这条路,正在切实降低生物信息学研究的入门门槛。

【免费下载链接】BiomniBiomni: a general-purpose biomedical AI agent项目地址: https://gitcode.com/GitHub_Trending/bi/Biomni

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 1:17:43

Spring Boot打包部署实战:jar包、配置文件与systemd托管指南

这周有同事把一个 Spring 项目打包部署到生产环境,结果从早上十点折腾到下午三点,光是启动不起来就排查了两轮。我们坐在一块儿复盘的时候,我突然意识到一个问题:Spring 项目打包部署这件事看着简单——mvn package一下&#xff0…

作者头像 李华
网站建设 2026/10/19 1:13:51

游戏行业图谱|买断制、免费加内购、订阅制:主流商业模式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/19 1:13:47

游戏开发术语|帧率、Draw Call、LOD:性能相关术语

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/19 1:11:50

PTPD 在 QNX 系统上的授时精度验证与误差排查

QNX 上的 PTPD 授时精度验证:从 8 ms 时间戳台阶到百微秒级 概述: QNX 上跑 ptpd2 做 PTP 从时钟,协议显示锁定,不代表时间戳可信。这套平台的原生 socket 时间戳约 8 ms 更新一次,offset 会走台阶;把事件报…

作者头像 李华
网站建设 2026/10/19 1:09:36

STM32多参数检测报警器仿真设计:温度电压电流OLED显示

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/19 1:09:20

厂商Linux内核与驱动定制实战:设备树、probe、裁剪三要素

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华