DNA序列生成与分析服务

evo2 DNA语言模型的MCP服务器,支持生成和分析DNA序列,适用于基因组研究和生物信息学应用。

  • by bio-mcp
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 bio-mcp/bio-mcp-evo2

使用说明

生物-mcp-evo2

用于evo2 DNA语言模型的MCP服务器-使AI助手能够使用最先进的基因组基础模型生成和分析DNA序列。

概述

evo2是一种基因组基础模型,能够:

  • 生成具有特定属性的DNA序列
  • 评分序列似然度和计算困惑度
  • 提取下游任务的学习表示
  • 预测变异对生物功能的影响

此MCP服务器提供多种执行模式以支持各种计算环境:

  • 本地:直接GPU执行(需要H100或兼容GPU)
  • SBATCH:向SLURM集群提交作业
  • 奇点/Docker:基于容器的执行
  • API:Nvidia NIM云API(无需本地GPU)

安装

本地安装

git clone https://github.com/bio-mcp/bio-mcp-evo2.git
cd bio-mcp-evo2
pip install -e .[dev]

集装箱安装

码头工人

docker build -t bio-mcp-evo2 .
docker run --gpus all bio-mcp-evo2

奇异性(HPC)

singularity build --fakeroot evo2.sif Singularity.def
singularity run --nv evo2.sif

配置

环境变量

# Execution mode selection
export BIO_MCP_EVO2_EXECUTION_MODE=api  # Options: local, sbatch, singularity, docker, api

# Model configuration
export BIO_MCP_EVO2_MODEL_SIZE=7b  # Options: 7b, 40b
export BIO_MCP_EVO2_CUDA_DEVICE=0

# API configuration (for API mode)
export BIO_MCP_EVO2_NIM_API_KEY=your-api-key

# SBATCH configuration (for HPC clusters)
export BIO_MCP_EVO2_SBATCH_PARTITION=gpu
export BIO_MCP_EVO2_SBATCH_TIME=01:00:00
export BIO_MCP_EVO2_SBATCH_MEMORY=64G
export BIO_MCP_EVO2_SBATCH_GPU_TYPE=h100

Claude桌面集成

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "bio-evo2": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/bio-mcp-evo2",
      "env": {
        "BIO_MCP_EVO2_EXECUTION_MODE": "api",
        "BIO_MCP_EVO2_NIM_API_KEY": "your-api-key"
      }
    }
  }
}

对于具有奇异性的HPC:

{
  "mcpServers": {
    "bio-evo2": {
      "command": "singularity",
      "args": ["run", "--nv", "/path/to/evo2.sif"],
      "env": {
        "BIO_MCP_EVO2_EXECUTION_MODE": "local"
      }
    }
  }
}

可用工具

evo2_generate

根据提示生成DNA序列。

# Example usage
result = await evo2_generate({
    "prompt": "ATCGATCGATCG",
    "n_tokens": 100,
    "temperature": 1.0,
    "top_k": 4
})

evo2_score

计算序列困惑度或获取原始逻辑。

# Example usage
result = await evo2_score({
    "sequence": "ATCGATCGATCGATCGATCG",
    "return_logits": False
})

evo2_embed

从序列中提取学习到的表示。

# Example usage
result = await evo2_embed({
    "sequence": "ATCGATCGATCGATCGATCG",
    "layer": "blocks.28.mlp.l3"
})

evo2_variant_效应

预测突变的影响。

# Example usage
result = await evo2_variant_effect({
    "reference_sequence": "ATCGATCGATCGATCGATCG",
    "variant_sequence": "ATCGATCGATCGATCAATCG",
    "context_window": 1000
})

执行模式

API模式(建议用于入门)

无需GPU。使用Nvidia托管的API。

export BIO_MCP_EVO2_EXECUTION_MODE=api
export BIO_MCP_EVO2_NIM_API_KEY=your-key
python -m src.server

本地模式

需要具有足够内存的H100 GPU。

export BIO_MCP_EVO2_EXECUTION_MODE=local
python -m src.server

SBATCH 模式

适用于带有SLURM的HPC集群。

export BIO_MCP_EVO2_EXECUTION_MODE=sbatch
export BIO_MCP_EVO2_SBATCH_PARTITION=gpu
python -m src.server

集装箱模式

适用于孤立的执行环境。

# Docker
export BIO_MCP_EVO2_EXECUTION_MODE=docker
docker run --gpus all -v $PWD:/workspace bio-mcp-evo2

# Singularity
export BIO_MCP_EVO2_EXECUTION_MODE=singularity
singularity run --nv evo2.sif

例子

生成启动子序列

User: Generate a 200bp DNA sequence that could function as a promoter```