biomni について
BiomniはStanfordのSNAPラボによるオープンソースの生物医学AIエージェントフレームワークです。複数段階の生物学的課題やデータ分析に取り組む研究者向けで、コード生成、知識検索、分野横断型の処理を組み合わせています。MCPサーバー経由で外部ツールも追加できます。
主な機能
- 01複数段階の生物医学的推論
- 02コードの動的生成と実行
- 03生物医学データベースと文献の統合
- 04ゲノミクス、創薬、臨床分析
- 05MCP経由の外部ツール拡張
活用シーン
- 01CRISPRスクリーニングの設計と遺伝子の優先順位付け
- 02シングルセルRNA-seqデータの分析
- 03薬剤のADMET特性の予測
- 04GWASと臨床バリアントの解釈
MCP 対応
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.mdllm_providers.mduse_cases.mdscripts/generate_report.pysetup_environment.py詳細
Biomni
概要
Biomni は、スタンフォード大学の SNAP ラボによるオープンソースのバイオメディカル AI エージェントフレームワークで、生物医学の各分野にまたがる複雑な研究タスクを自律的に実行します。多段階の生物学的推論タスクに取り組む場合、バイオメディカルデータを分析する場合、またはゲノミクス、創薬、分子生物学、臨床分析にまたがる研究を行う場合にこのスキルを使用してください。
主な機能
Biomni は次のことに優れています。
- 多段階の生物学的推論 - 複雑なバイオメディカルの問い合わせに対する自律的なタスク分解と計画
- コード生成と実行 - データ処理のための動的な分析パイプラインの作成
- 知識の検索 - 統合されたバイオメディカルデータベースと文献約 11GB へのアクセス
- 分野横断的な問題解決 - ゲノミクス、プロテオミクス、創薬、臨床タスクのための統一インターフェース
このスキルを使用するタイミング
次のような用途で biomni を使用してください。
- CRISPR スクリーニング - スクリーニングの設計、遺伝子の優先順位付け、ノックアウト効果の分析
- 単一細胞 RNA-seq - 細胞型のアノテーション、発現差解析、軌跡解析
- 創薬 - ADMET 予測、標的同定、化合物の最適化
- GWAS 分析 - バリアントの解釈、原因遺伝子の同定、パスウェイエンリッチメント
- 臨床ゲノミクス - 希少疾患の診断、バリアントの病原性、表現型と遺伝子型のマッピング
- 実験プロトコル - プロトコルの最適化、文献の統合、実験設計
クイックスタート
インストールとセットアップ
Biomni をインストールし、LLM プロバイダーの 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. エージェントの初期化
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
対応している LLM プロバイダー:
- 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 経由の各種モデル
LLM の詳細な設定手順は references/llm_providers.md を参照してください。
2. タスク実行のワークフロー
Biomni は自律エージェントのワークフローに従います。
# 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. 評価フレームワーク
バイオメディカルタスクにおけるエージェントの性能をベンチマークします。
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 は、LLM が生成したコードを完全なシステム権限で実行します。本番環境で使用する場合は、次の点に注意してください。
- 隔離された環境(Docker、仮想マシン)で実行する
- 機密性の高い認証情報を露出させない
- 機密性の高い状況では、実行前に生成されたコードを確認する
- 可能な場合はサンドボックス化された実行環境を使用する
パフォーマンス最適化
- 適切な 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 レポート生成
外部リソース
- GitHub: https://github.com/snap-stanford/biomni
- Web プラットフォーム: https://biomni.stanford.edu
- 論文: https://www.biorxiv.org/content/10.1101/2025.05.30.656746v1
- モデル: https://huggingface.co/biomni/Biomni-R0-32B-Preview
- 評価データセット: https://huggingface.co/datasets/biomni/Eval1
トラブルシューティング
よくある問題
データのダウンロードに失敗する
# 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
大規模データセットでのメモリの問題
- 大きなファイルにはストリーミングを使用する
- データをチャンク単位で処理する
- システムのメモリ割り当てを増やす
ヘルプの入手先
問題や質問がある場合:
- GitHub Issues: https://github.com/snap-stanford/biomni/issues
- ドキュメント: 詳細なガイダンスについては
references/内のファイルを確認してください - コミュニティ: Stanford SNAP ラボおよび biomni のコントリビューター