RhoDesign MCP
基于深度学习逆折叠的3D结构人工智能RNA序列设计
目录
概述
RhoDesign MCP使用基于变换器的反向折叠模型从3D结构中提供AI驱动的RNA序列设计。给定PDB结构文件(具有可选的二级结构约束),它会生成可能折叠成给定3D结构的RNA序列。
特性
- 双重设计模式:有或没有二级结构约束
- 高精度:基准数据集上60-90%的序列恢复率
- 批处理:高效处理多种结构
- GPU/CPU支持:具有CPU回退功能的自动设备检测
- 作业管理:大型数据集的背景处理
- 多个接口:直接脚本、MCP服务器或克劳德代码集成
目录结构
./
├── README.md # This file
├── env/ # Conda environment (Python 3.10 for MCP)
├── env_py39/ # Legacy environment (Python 3.9 for RhoDesign)
├── src/
│ └── server.py # MCP server with 14 tools
├── scripts/
│ ├── rna_structure_to_sequence_with_ss.py # RNA design with secondary structure
│ ├── rna_structure_to_sequence_no_ss.py # RNA design (3D structure only)
│ ├── rna_batch_evaluation.py # Batch processing and benchmarking
│ └── lib/ # Shared utilities
├── examples/
│ └── data/ # Demo data (2zh6_B.pdb, 2zh6_B.npy, pred_seq.fasta)
├── configs/ # Configuration files
├── checkpoint/ # Model files (download required)
└── repo/ # Original RhoDesign repository______________________________________________________________________
安装
先决条件
- Conda或Mamba(建议使用曼巴以加快安装速度)
- Python 3.9+和3.10+
- CUDA 11.3+(可选,用于GPU加速)
- 8GB+内存
- 约5GB存储空间,适用于各种环境
创建环境
请严格遵守中的信息 reports/step3_environment.md 了解完整的设置过程。下面的工作流程显示了基本步骤:
# Navigate to the MCP directory
cd /home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/rhodesign_mcp
# Create main MCP environment (Python 3.10 for MCP server)
mamba create -p ./env python=3.10 pip -y
# or: conda create -p ./env python=3.10 pip -y
# Create legacy environment (Python 3.9 for RhoDesign models)
mamba env create -f repo/RhoDesign/environment.yml -p ./env_py39 -y
# or: conda env create -f repo/RhoDesign/environment.yml -p ./env_py39 -y
# Install MCP dependencies
mamba activate ./env
pip install fastmcp loguru --force-reinstall --no-cache-dir
# Verify installations
mamba activate ./env_py39
python -c "import torch; print('PyTorch version:', torch.__version__)"下载模型检查点(必需)
# Download from Google Drive (manual step required)
# URL: https://drive.google.com/drive/folders/1H3Itu6TTfaVErPH50Ly7rmQDxElH3JEz
# Place files in checkpoint/ directory:
# - ss_apexp_best.pth (~50MB) - for secondary structure mode
# - no_ss_apexp_best.pth (~50MB) - for 3D-only mode______________________________________________________________________
本地使用(脚本)
您可以在没有MCP的情况下直接使用脚本进行本地处理。
可用脚本
| 脚本 | 描述 | 示例 |
|---|---|---|
rna_structure_to_sequence_with_ss.py | 具有二级结构约束的RNA序列设计 | 见下文 |
rna_structure_to_sequence_no_ss.py | 仅基于3D结构的RNA序列设计 | 见下文 |
rna_batch_evaluation.py | 批处理和基准测试 | 见下文 |
脚本示例
具有二级结构的RNA设计
# Activate environment
mamba activate ./env_py39
# Run script
python scripts/rna_structure_to_sequence_with_ss.py \
--pdb examples/data/2zh6_B.pdb \
--ss examples/data/2zh6_B.npy \
--output results/with_ss.fasta \
--device -1参数:
--pdb, -p:输入具有3D RNA结构的PDB文件(必填)--ss, -s:二级结构联系图(.npy文件)(必填)--output, -o:输出FASTA文件路径(默认:自动生成)--device, -d:GPU设备ID(CPU为-1,GPU为0+)(默认值:-1)--temperature, -t:采样温度(默认值:1.0)--config, -c:配置文件(可选)
RNA设计(仅3D结构)
python scripts/rna_structure_to_sequence_no_ss.py \
--pdb examples/data/2zh6_B.pdb \
--output results/no_ss.fasta \
--device -1参数:
--pdb, -p:输入具有3D RNA结构的PDB文件(必填)--output, -o:输出FASTA文件路径(默认:自动生成)--device, -d:GPU设备ID(CPU为-1,GPU为0+)(默认值:-1)--temperature, -t:采样温度(默认值:1.0)--config, -c:配置文件(可选)
批量评估
python scripts/rna_batch_evaluation.py \
--test_dir data/test \
--ss_dir data/test_ss \
--output results/batch.json \
--max_files 10参数:
--test_dir:包含测试PDB文件的目录(必需)--ss_dir:包含二级结构文件的目录(必需)--output, -o:输出JSON文件路径(默认:自动生成)--max_files:要处理的最大文件数(可选)--device, -d:GPU设备ID(默认值:-1)
______________________________________________________________________
MCP服务器安装
选项1:使用fastmcp(推荐)
# Install MCP server for Claude Code
mamba activate ./env
fastmcp install src/server.py --name RhoDesign选项2:Claude代码的手动安装
# Add MCP server to Claude Code
claude mcp add RhoDesign -- $(pwd)/env/bin/python $(pwd)/src/server.py
# Verify installation
claude mcp list选项3:在settings.json中配置
增添 ~/.claude/settings.json:
{
"mcpServers": {
"RhoDesign": {
"command": "/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/rhodesign_mcp/env/bin/python",
"args": ["/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/rhodesign_mcp/src/server.py"]
}
}
}______________________________________________________________________
使用Claude代码
安装MCP服务器后,您可以直接在Claude Code中使用它。
快速开始
# Start Claude Code
claude示例提示
工具发现
What tools are available from RhoDesign?基本用法
Use predict_rna_sequence_with_ss with pdb_file @examples/data/2zh6_B.pdb and ss_file @examples/data/2zh6_B.npy无二次结构设计
Run predict_rna_sequence_no_ss on @examples/data/2zh6_B.pdb and save to results/output.fasta长期运行任务(提交API)
Submit RNA sequence prediction with secondary structure for @examples/data/2zh6_B.pdb
Then check the job status批处理
Process these files in batch:
- @examples/data/2zh6_B.pdb
- @data/structure2.pdb
- @data/structure3.pdb使用@引用
在克劳德代码中,使用 @ 引用文件和目录:
| 参考 | 说明 |
|---|---|
@examples/data/2zh6_B.pdb | 参考演示PDB文件 |
@examples/data/2zh6_B.npy | 参考演示二级结构 |
@configs/default_config.json | 引用配置文件 |
@results/ | 参考输出目录 |
______________________________________________________________________
与Gemini CLI一起使用
配置
增添 ~/.gemini/settings.json:
{
"mcpServers": {
"RhoDesign": {
"command": "/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/rhodesign_mcp/env/bin/python",
"args": ["/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/rhodesign_mcp/src/server.py"]
}
}
}示例提示
# Start Gemini CLI
gemini
# Example prompts (same as Claude Code)
> What tools are available?
> Use predict_rna_sequence_with_ss with file examples/data/2zh6_B.pdb______________________________________________________________________
可用工具
快速操作(同步API)
这些工具会立即返回结果(\10分钟):
| 工具 | 说明 | 参数 |
|---|---|---|
submit_rna_sequence_prediction_with_ss | 提交具有二级结构的RNA序列生成 | pdb_file, ss_file, output_dir, device, temperature, job_name |
submit_rna_sequence_prediction_no_ss | 提交无二级结构的RNA序列生成 | pdb_file, output_dir, device, temperature, job_name |
submit_rna_batch_evaluation | 提交批量处理和基准测试 | test_dir, ss_dir, output_dir, max_files, device, job_name |
submit_batch_rna_prediction | 提交多个结构的批处理 | input_files, prediction_type, ss_files, output_dir, device, temperature, job_name |
作业管理工具
| 工具 | 说明 |
|---|---|
get_job_status | 检查作业进度和状态 |
get_job_result | 完成后获取结果 |
get_job_log | 查看执行日志 |
cancel_job | 取消正在运行的作业 |
list_jobs | 列出所有作业 |
______________________________________________________________________
例子
示例1:单RNA结构设计
目标: 从具有二级结构约束的3D结构设计RNA序列
使用脚本:
mamba activate ./env_py39
python scripts/rna_structure_to_sequence_with_ss.py \
--pdb examples/data/2zh6_B.pdb \
--ss examples/data/2zh6_B.npy \
--output results/example1.fasta使用MCP(克劳德代码):
Use predict_rna_sequence_with_ss to process @examples/data/2zh6_B.pdb with secondary structure @examples/data/2zh6_B.npy and save results to results/example1.fasta预期产量:
- 带有预测RNA序列的FASTA文件
- 恢复率度量(与原始序列的相似性)
- 正在处理元数据
示例2:仅结构设计
目标: 仅从3D结构设计RNA序列(无二级结构)
使用脚本:
mamba activate ./env_py39
python scripts/rna_structure_to_sequence_no_ss.py \
--pdb examples/data/2zh6_B.pdb \
--output results/example2.fasta使用MCP(克劳德代码):
Run predict_rna_sequence_no_ss on @examples/data/2zh6_B.pdb and save to results/example2.fasta预期产量:
- 带有预测序列的FASTA文件
- 恢复率和置信度指标
示例3:批处理
目标: 一次处理多个结构
使用脚本:
for f in data/*.pdb; do
python scripts/rna_structure_to_sequence_no_ss.py --pdb "$f" --output results/batch/
done使用MCP(克劳德代码):
Submit batch RNA prediction for all PDB files in @data/ directory with prediction_type "no_ss"预期产量:
- 用于跟踪的批处理作业ID
- 每个结构的单独FASTA文件
- 汇总统计
______________________________________________________________________
演示数据
这 examples/data/ 目录包含用于测试的示例数据:
| 文件 | 描述 | 与一起使用 |
|---|---|---|
2zh6_B.pdb | RNA 3D结构样本(58KB) | 两种预测工具 |
2zh6_B.npy | 二级结构接触图(1.3KB) | 使用SS预测工具 |
pred_seq.fasta | 示例预测输出(59B) | 参考输出 |
______________________________________________________________________
配置文件
这 configs/ 目录包含配置模板:
| 配置 | 描述 | 参数 |
|---|---|---|
structure_to_sequence_with_ss_config.json | 对于具有二级结构的RNA设计 | 模型检查点、推理设置 |
structure_to_sequence_no_ss_config.json | 对于没有二级结构的RNA设计 | 模型检查点、推理设置 |
batch_evaluation_config.json | 对于批处理 | 评估设置、文件限制 |
default_config.json | 所有脚本的默认设置 | 路径、模型信息、验证规则 |
配置示例
{
"model": {
"checkpoint": "checkpoint/ss_apexp_best.pth",
"type": "with_secondary_structure"
},
"inference": {
"device": -1,
"temperature": 1.0,
"random_seed": 1
},
"output": {
"format": "fasta",
"include_metadata": true
}
}______________________________________________________________________
故障排除
环境问题
问题: 未找到环境
# Recreate environments
mamba create -p ./env python=3.10 -y
mamba env create -f repo/RhoDesign/environment.yml -p ./env_py39 -y
mamba activate ./env
pip install fastmcp loguru问题: 导入错误
# Verify installation
mamba activate ./env_py39
python -c "import torch; print('PyTorch version:', torch.__version__)"
python -c "import biotite; print('Biotite available')"问题: CUDA问题
# Check CUDA availability
python -c "import torch; print('CUDA available:', torch.cuda.is_available())"
# If False, models will use CPU (slower but functional)MCP问题
问题: 在Claude代码中找不到服务器
# Check MCP registration
claude mcp list
# Re-add if needed
claude mcp remove RhoDesign
claude mcp add RhoDesign -- $(pwd)/env/bin/python $(pwd)/src/server.py问题: 工具不工作
# Test server directly
mamba activate ./env
python src/server.py --help模型问题
问题: 缺少模型检查点
# Download from Google Drive manually:
# https://drive.google.com/drive/folders/1H3Itu6TTfaVErPH50Ly7rmQDxElH3JEz
# Place in checkpoint/ directory:
ls checkpoint/
# Should show: ss_apexp_best.pth, no_ss_apexp_best.pth问题: 内存不足错误
# Use CPU instead of GPU
python scripts/rna_structure_to_sequence_with_ss.py --device -1 --pdb examples/data/2zh6_B.pdb --ss examples/data/2zh6_B.npy工作问题
问题: 作业挂起
# Check job directory
ls -la jobs/
# View job log
cat jobs//job.log问题: 作业失败
Use get_job_log with job_id "" and tail 100 to see error details______________________________________________________________________
发展
运行测试
# Activate environment
mamba activate ./env_py39
# Test scripts directly
python scripts/rna_structure_to_sequence_with_ss.py --help
python scripts/rna_structure_to_sequence_no_ss.py --help
python scripts/rna_batch_evaluation.py --help正在启动开发服务器
# Run MCP server in dev mode
mamba activate ./env
fastmcp dev src/server.py______________________________________________________________________
业绩说明
- 单一结构:约30秒-每个结构2分钟
- GPU加速:比CPU快5-10倍
- 内存需求:每份作业约2GB
- 批处理:支持高效的并行处理
- 序列恢复:基准数据集上通常为60-90%
______________________________________________________________________
许可证
MIT许可证-基于原始RhoDesign存储库
学分
基于 RhoDesign:RNA结构到序列设计的深度学习
引用:
@article{rhodesign2024,
title={RhoDesign: Deep Learning for RNA Structure-to-Sequence Design},
authors={[Original Authors]},
year={2024}
}