biomni について
Biomni は Stanford の SNAP lab が開発するオープンソースの生物医学 AI エージェントフレームワークです。コード生成・実行と統合された生物医学データベースや文献を活用し、複雑な研究タスクを自律的に進めます。
主な機能
- 01複数段階のタスクを自律的に分解・計画
- 02データ分析コードの生成と実行
- 03統合された生物医学データと文献の検索
- 04ゲノミクス、プロテオミクス、創薬への対応
- 05評価フレームワークによるエージェント性能の測定
- 06MCP サーバー設定による外部ツールの拡張
活用シーン
- 01CRISPR スクリーニングの設計と結果分析
- 02シングルセル RNA-seq データの処理
- 03GWAS バリアントと経路の分析
- 04候補薬の ADMET 特性予測
MCP 対応
MCP 設定を通じて外部サービスに接続し、FDA の薬剤データベース、文献検索、カスタム生物医学 API、実験室機器インターフェースなどをエージェントに提供できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jackspace/ claudeskillz --skill biomniインストール後、Claude Code で/biomniを入力して読み込まれたか確認します。
同梱ファイルSKILL.json
詳細
Biomni
概要
Biomni は、Stanford の SNAP 研究室が開発したオープンソースの生物医学 AI エージェントフレームワークで、生物医学の各分野にわたる複雑な研究タスクを自律的に実行します。生物学に関する複数ステップの推論タスク、生物医学データの分析、ゲノミクス、創薬、分子生物学、臨床分析にまたがる研究を行う際に、このスキルを使用してください。
主な機能
Biomni は、以下のタスクを得意としています。
- 複数ステップの生物学的推論 - 複雑な生物医学の質問に対する自律的なタスク分解と計画
- コード生成と実行 - データ処理のための分析パイプラインを動的に作成
- ナレッジの検索 - 約 11 GB の統合された生物医学データベースや文献にアクセス
- 分野横断的な問題解決 - ゲノミクス、プロテオミクス、創薬、臨床タスクの統合インターフェース
このスキルを使用する場面
以下の用途で biomni を使用してください。
- CRISPR スクリーニング - スクリーニングの設計、遺伝子の優先順位付け、ノックアウトの影響分析
- シングルセル RNA-seq - 細胞タイプのアノテーション、差次的発現、軌跡解析
- 創薬 - ADMET 予測、標的の特定、化合物の最適化
- GWAS 解析 - 変異の解釈、原因遺伝子の特定、経路エンリッチメント
- 臨床ゲノミクス - 希少疾患の診断、変異の病原性、表現型と遺伝子型のマッピング
- ラボプロトコル - プロトコルの最適化、文献の統合、実験計画
クイックスタート
インストールとセットアップ
Biomni を使用するには、conda 環境のセットアップと LLM プロバイダーの API キーが必要です。
# Clone repository and set up environment
git clone https://github.com/snap-stanford/biomni
cd biomni
bash setup.sh
# Or install via pip
conda activate biomni_e1
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 は、約 11 GB の生物医学ナレッジソースを統合しています。
- 遺伝子データベース - 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、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 レポート生成
外部リソース
- 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 のコントリビューター