mcpField
B
biomni

biomni

github.com/davila7数据与数据库33.0k320 次安装1 天前更新
代码仓库

关于 biomni

Biomni 是 Stanford SNAP 实验室开发的开源生物医学 AI Agent 框架,面向处理多步骤生物学问题和数据分析的研究人员。它结合代码生成、生物医学知识检索与跨领域工作流,并可通过 MCP 服务扩展工具。

主要功能

  1. 01自主执行多步骤生物医学推理
  2. 02动态生成并执行代码
  3. 03整合生物医学数据库与文献
  4. 04覆盖基因组、药物发现及临床分析
  5. 05通过 MCP 扩展外部工具

适用场景

  1. 01设计 CRISPR 筛选并筛选优先基因
  2. 02分析单细胞 RNA-seq 数据集
  3. 03预测药物 ADMET 属性
  4. 04解读 GWAS 与临床变异

MCP 相关

Biomni 可通过 MCP 服务接入外部工具。README 提到在 `.biomni/mcp_config.json` 中配置,并举例说明药物数据库、文献搜索和实验室设备接口。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davila7/claude-code-templates --skill biomni

安装后在 Claude Code 中输入/biomni确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api_reference.md
llm_providers.md
use_cases.md
scripts/
generate_report.py
setup_environment.py

详细介绍

Biomni

概述

Biomni 是来自 Stanford SNAP 实验室的开源生物医学 AI Agent 框架,可在生物医学各领域中自主执行复杂的研究任务。当你需要处理多步生物学推理任务、分析生物医学数据,或开展涵盖基因组学、药物发现、分子生物学和临床分析的研究时,可使用此技能。

核心能力

Biomni 擅长:

  1. 多步生物学推理 - 针对复杂生物医学查询进行自主任务分解与规划
  2. 代码生成与执行 - 为数据处理动态创建分析流水线
  3. 知识检索 - 可访问约 11GB 的集成生物医学数据库与文献
  4. 跨领域问题求解 - 为基因组学、蛋白质组学、药物发现和临床任务提供统一接口

何时使用此技能

在以下场景使用 biomni:

  • CRISPR 筛选 - 设计筛选方案、对基因进行优先级排序、分析敲除效应
  • 单细胞 RNA-seq - 细胞类型注释、差异表达、轨迹分析
  • 药物发现 - ADMET 预测、靶点识别、化合物优化
  • GWAS 分析 - 变异解读、因果基因识别、通路富集
  • 临床基因组学 - 罕见病诊断、变异致病性、表型-基因型映射
  • 实验方案 - 方案优化、文献综合、实验设计

快速开始

安装与设置

安装 Biomni 并为大模型提供商配置 API 密钥:

uv pip install biomni --upgrade

配置 API 密钥(存储在 .env 文件或环境变量中):

export ANTHROPIC_API_KEY="your-key-here"
# Optional: OpenAI, Azure, Google, Groq, AWS Bedrock keys

使用 scripts/setup_environment.py 获取交互式设置协助。

基本用法模式
from biomni.agent import A1

# Initialize agent with data path and LLM choice
agent = A1(path='./data', llm='claude-sonnet-4-20250514')

# Execute biomedical task autonomously
agent.go("Your biomedical research question or task")

# Save conversation history and results
agent.save_conversation_history("report.pdf")

使用 Biomni

1. Agent 初始化

A1 类是 biomni 的主要接口:

from biomni.agent import A1
from biomni.config import default_config

# Basic initialization
agent = A1(
    path='./data',  # Path to data lake (~11GB downloaded on first use)
    llm='claude-sonnet-4-20250514'  # LLM model selection
)

# Advanced configuration
default_config.llm = "gpt-4"
default_config.timeout_seconds = 1200
default_config.max_iterations = 50

支持的大模型提供商:

  • Anthropic Claude(推荐):claude-sonnet-4-20250514、claude-opus-4-20250514
  • OpenAI:gpt-4、gpt-4-turbo
  • Azure OpenAI:通过 Azure 配置
  • Google Gemini:gemini-2.0-flash-exp
  • Groq:llama-3.3-70b-versatile
  • AWS Bedrock:通过 Bedrock API 使用各种模型

有关大模型配置的详细说明,请参阅 references/llm_providers.md。

2. 任务执行工作流

Biomni 遵循自主 Agent 工作流:

# Step 1: Initialize agent
agent = A1(path='./data', llm='claude-sonnet-4-20250514')

# Step 2: Execute task with natural language query
result = agent.go("""
Design a CRISPR screen to identify genes regulating autophagy in
HEK293 cells. Prioritize genes based on essentiality and pathway
relevance.
""")

# Step 3: Review generated code and analysis
# Agent autonomously:
# - Decomposes task into sub-steps
# - Retrieves relevant biological knowledge
# - Generates and executes analysis code
# - Interprets results and provides insights

# Step 4: Save results
agent.save_conversation_history("autophagy_screen_report.pdf")
3. 常见任务模式
CRISPR 筛选设计
agent.go("""
Design a genome-wide CRISPR knockout screen for identifying genes
affecting [phenotype] in [cell type]. Include:
1. sgRNA library design
2. Gene prioritization criteria
3. Expected hit genes based on pathway analysis
""")
单细胞 RNA-seq 分析
agent.go("""
Analyze this single-cell RNA-seq dataset:
- Perform quality control and filtering
- Identify cell populations via clustering
- Annotate cell types using marker genes
- Conduct differential expression between conditions
File path: [path/to/data.h5ad]
""")
药物 ADMET 预测
agent.go("""
Predict ADMET properties for these drug candidates:
[SMILES strings or compound IDs]
Focus on:
- Absorption (Caco-2 permeability, HIA)
- Distribution (plasma protein binding, BBB penetration)
- Metabolism (CYP450 interaction)
- Excretion (clearance)
- Toxicity (hERG liability, hepatotoxicity)
""")
GWAS 变异解读
agent.go("""
Interpret GWAS results for [trait/disease]:
- Identify genome-wide significant variants
- Map variants to causal genes
- Perform pathway enrichment analysis
- Predict functional consequences
Summary statistics file: [path/to/gwas_summary.txt]
""")

有关涵盖所有生物医学领域的全面任务示例,请参阅 references/use_cases.md。

4. 数据集成

Biomni 集成了约 11GB 的生物医学知识来源:

  • 基因数据库 - Ensembl、NCBI Gene、UniProt
  • 蛋白质结构 - PDB、AlphaFold
  • 临床数据集 - ClinVar、OMIM、HPO
  • 文献索引 - PubMed 摘要、生物医学本体
  • 通路数据库 - KEGG、Reactome、GO

首次使用时,数据会自动下载到指定的 path。

5. MCP 服务集成

通过 Model Context Protocol 使用外部工具扩展 biomni:

# MCP servers can provide:
# - FDA drug databases
# - Web search for literature
# - Custom biomedical APIs
# - Laboratory equipment interfaces

# Configure MCP servers in .biomni/mcp_config.json
6. 评估框架

在生物医学任务上对 Agent 性能进行基准测试:

from biomni.eval import BiomniEval1

evaluator = BiomniEval1()

# Evaluate on specific task types
score = evaluator.evaluate(
    task_type='crispr_design',
    instance_id='test_001',
    answer=agent_output
)

# Access evaluation dataset
dataset = evaluator.load_dataset()

最佳实践

任务表述
  • 要具体 - 包含生物学背景、生物体、细胞类型、条件
  • 明确输出 - 清楚说明期望的分析输出与格式
  • 提供数据路径 - 包含待分析数据集的文件路径
  • 设置约束 - 如相关,请说明时间/计算限制
安全注意事项

⚠️ 重要:Biomni 会以完整系统权限执行大模型生成的代码。用于生产环境时:

  • 在隔离环境中运行(Docker、VM)
  • 避免暴露敏感凭据
  • 在敏感场景中执行前审查生成的代码
  • 尽可能使用沙箱化执行环境
性能优化
  • 选择合适的 LLM - 推荐 Claude Sonnet 4,兼顾速度与质量
  • 设置合理的超时时间 - 针对复杂任务调整 default_config.timeout_seconds
  • 监控迭代次数 - 跟踪 max_iterations 以防止失控循环
  • 缓存数据 - 跨会话复用已下载的数据湖
结果文档化
# Always save conversation history for reproducibility
agent.save_conversation_history("results/project_name_YYYYMMDD.pdf")

# Include in reports:
# - Original task description
# - Generated analysis code
# - Results and interpretations
# - Data sources used

资源

参考资料

详细文档位于 references/ 目录:

  • api_reference.md - A1 类、配置和评估的完整 API 文档
  • llm_providers.md - LLM 提供商设置(Anthropic、OpenAI、Azure、Google、Groq、AWS)
  • use_cases.md - 涵盖所有生物医学领域的综合任务示例
脚本

scripts/ 目录中的辅助脚本:

  • setup_environment.py - 交互式环境和 API 密钥配置
  • generate_report.py - 增强的 PDF 报告生成,支持自定义格式
外部资源

故障排除

常见问题

数据下载失败

# Manually trigger data lake download
agent = A1(path='./data', llm='your-llm')
# First .go() call will download data

API 密钥错误

# Verify environment variables
echo $ANTHROPIC_API_KEY
# Or check .env file in working directory

复杂任务超时

from biomni.config import default_config
default_config.timeout_seconds = 3600  # 1 hour

大型数据集的内存问题

  • 对大文件使用流式处理
  • 分块处理数据
  • 增加系统内存分配
获取帮助

如有问题或疑问:

评论

支持 Markdown