RhoFold MCP
使用RhoFold+和MCP集成的RNA 3D结构预测和分析工具,用于Claude Code和其他AI助手。
目录
概述
RhoFold MCP通过RhoFold+深度学习模型提供全面的RNA 3D结构预测功能。此MCP服务器使Claude Code等AI助手能够从单个序列或多序列比对(MSA)中预测RNA结构,执行批处理并分析结构输出。
特性
- 单序列预测:仅使用序列输入进行快速RNA 3D结构预测
- MSA增强预测:使用进化信息进行更高精度的预测
- 批处理:高效处理多种RNA序列
- 结构分析:预测结构的质量评估和验证
- 作业管理:长时间运行操作的后台处理
- 双重环境支持:传统RhoFold(Python 3.7)+现代MCP(Python 3.10)
目录结构
./
├── README.md # This file
├── env/ # Python 3.10 MCP environment
├── env_py37/ # Python 3.7 RhoFold environment
├── src/
│ ├── server.py # MCP server
│ └── jobs/ # Job management system
├── scripts/
│ ├── rna_single_sequence_prediction.py # Single sequence folding
│ ├── rna_msa_prediction.py # MSA-enhanced folding
│ ├── rna_batch_prediction.py # Batch processing
│ ├── rna_structure_analysis.py # Structure analysis
│ └── lib/ # Shared utilities
├── examples/
│ ├── data/ # Demo RNA sequences (16 examples)
│ └── use_case_*.py # Example scripts
├── configs/ # Configuration templates
├── repo/ # Original RhoFold repository
└── jobs/ # Background job outputs______________________________________________________________________
安装
先决条件
- Conda或Mamba(建议使用曼巴以加快安装速度)
- Python 3.10+(适用于MCP)
- Python 3.7.12(用于RhoFold依赖项)
- 约10GB磁盘空间用于环境
- CUDA支持可选(5-10倍加速)
创建环境
请严格遵守 reports/step3_environment.md 以获得设置环境的程序。下面显示了一个示例工作流。
# Navigate to the MCP directory
cd /home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/rhofold_mcp
# Create conda environment (use mamba if available)
mamba create -p ./env python=3.10 -y
# or: conda create -p ./env python=3.10 -y
# Activate environment
mamba activate ./env
# or: conda activate ./env
# Install MCP dependencies
pip install fastmcp loguru pandas numpy tqdm
# Create RhoFold environment
mamba env create -f repo/RhoFold/envs/environment_linux.yaml -p ./env_py37
# Install RhoFold package
mamba run -p ./env_py37 pip install -e repo/RhoFold/______________________________________________________________________
本地使用(脚本)
您可以在没有MCP的情况下直接使用脚本进行本地处理。
可用脚本
| 脚本 | 描述 | 示例 |
|---|---|---|
scripts/rna_single_sequence_prediction.py | 单序列RNA 3D结构预测 | 见下文 |
scripts/rna_msa_prediction.py | MSA增强RNA结构预测 | 见下文 |
scripts/rna_batch_prediction.py | 多个RNA序列的批处理 | 见下文 |
scripts/rna_structure_analysis.py | 分析和验证预测的RNA结构 | 见下文 |
脚本示例
单序列预测
# Activate environment
mamba activate ./env_py37
# Run script
python scripts/rna_single_sequence_prediction.py \
--input examples/data/3owzA/3owzA.fasta \
--output results/single_prediction \
--device cpu \
--relax_steps 1000参数:
--input, -i:FASTA格式的RNA序列路径(必填)--output, -o:预测结果的输出目录(默认:自动生成)--device:计算设备-cpu、cuda:0等。(默认值:cpu)--relax_steps:琥珀色放松步骤数(默认值:1000)
MSA增强预测
python scripts/rna_msa_prediction.py \
--fasta examples/data/3owzA/3owzA.fasta \
--msa examples/data/3owzA/3owzA.a3m \
--output results/msa_prediction \
--device cpu参数:
--fasta, -f:FASTA格式的RNA序列路径(必填)--msa, -m:A3M格式的多序列比对路径(必填)--output, -o:结果输出目录(默认:自动生成)--device:计算设备(默认:cpu)--relax_steps:琥珀色放松步骤(默认值:1000)
批处理
python scripts/rna_batch_prediction.py \
--input_dir examples/data \
--output results/batch_results \
--max_sequences 3 \
--device cpu参数:
--input_dir:包含FASTA文件(和可选A3M文件)的目录--multi_fasta:替代方案:单个多FASTA文件--output, -o:所有结果的输出目录(默认:自动生成)--max_sequences:要处理的最大序列数--include:要包含的以逗号分隔的序列名称列表--exclude:要排除的逗号分隔的序列名称列表
结构分析
# Activate MCP environment for analysis
mamba activate ./env
python scripts/rna_structure_analysis.py \
--input results/batch_results \
--output analysis/comprehensive_analysis \
--export_csv参数:
--input, -i:包含RhoFold预测结果的目录(必填)--output, -o:分析结果的输出目录(默认:自动生成)--export_csv:将摘要导出为CSV格式(标志)--include_unrelaxed:在分析中包括未松弛的结构(标志)
______________________________________________________________________
MCP服务器安装
选项1:使用fastmcp(推荐)
# Install MCP server for Claude Code
fastmcp install src/server.py --name RhoFold选项2:Claude代码的手动安装
# Add MCP server to Claude Code
claude mcp add RhoFold -- $(pwd)/env/bin/python $(pwd)/src/server.py
# Verify installation
claude mcp list选项3:在settings.json中配置
增添 ~/.claude/settings.json:
{
"mcpServers": {
"RhoFold": {
"command": "/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/rhofold_mcp/env/bin/python",
"args": ["/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/rhofold_mcp/src/server.py"]
}
}
}______________________________________________________________________
使用Claude代码
安装MCP服务器后,您可以直接在Claude Code中使用它。
快速开始
# Start Claude Code
claude示例提示
工具发现
What tools are available from RhoFold?基本用法
Use predict_rna_structure with input file @examples/data/3owzA/3owzA.fastaMSA增强预测
Run predict_rna_structure_with_msa on @examples/data/3owzA/3owzA.fasta using MSA @examples/data/3owzA/3owzA.a3m长期运行任务(提交API)
Submit batch RNA prediction for @examples/data/ directory with max 3 sequences
Then check the job status批处理
Process these files in batch:
- @examples/data/3owzA/3owzA.fasta
- @examples/data/4l81A/4l81A.fasta
- @examples/data/5ddoA/5ddoA.fasta使用@引用
在克劳德代码中,使用 @ 引用文件和目录:
| 参考 | 说明 |
|---|---|
@examples/data/3owzA/3owzA.fasta | 参考特定的FASTA文件 |
@examples/data/3owzA/3owzA.a3m | 参考特定的MSA文件 |
@configs/default.json | 引用配置文件 |
@results/ | 参考输出目录 |
______________________________________________________________________
与Gemini CLI一起使用
配置
增添 ~/.gemini/settings.json:
{
"mcpServers": {
"RhoFold": {
"command": "/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/rhofold_mcp/env/bin/python",
"args": ["/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/rhofold_mcp/src/server.py"]
}
}
}示例提示
# Start Gemini CLI
gemini
# Example prompts (same as Claude Code)
> What tools are available?
> Use predict_rna_structure with file examples/data/3owzA/3owzA.fasta______________________________________________________________________
可用工具
快速操作(同步API)
这些工具会立即返回结果(\10分钟):
| 工具 | 说明 | 参数 |
|---|---|---|
submit_batch_rna_prediction | 多个RNA序列的批处理 | input_dir, multi_fasta, output_dir, max_sequences, device, job_name |
submit_large_sequence_prediction | 单序列预测(背景) | input_file, output_dir, device, relax_steps, job_name |
submit_msa_prediction | 基于MSA的预测(背景) | fasta_file, msa_file, output_dir, device, relax_steps, job_name |
submit_comprehensive_analysis | 大规模结构分析 | prediction_results_dir, output_dir, job_name |
作业管理工具
| 工具 | 说明 |
|---|---|
get_job_status | 检查作业进度 |
get_job_result | 完成后获取结果 |
get_job_log | 查看执行日志 |
cancel_job | 取消正在运行的作业 |
list_jobs | 列出所有作业 |
______________________________________________________________________
例子
示例1:单序列RNA结构预测
目标: 预测单个RNA序列的3D结构
使用脚本:
mamba run -p ./env_py37 python scripts/rna_single_sequence_prediction.py \
--input examples/data/3owzA/3owzA.fasta \
--output results/example1/使用MCP(克劳德代码):
Use predict_rna_structure to process @examples/data/3owzA/3owzA.fasta and save results to results/example1/预期产量:
unrelaxed_model.pdb:原始3D结构预测relaxed_model.pdb:琥珀色精致结构ss.ct:CT格式的二级结构results.npz:距离图和置信度得分
示例2:MSA增强结构预测
目标: 使用进化信息进行更高精度的预测
使用脚本:
mamba run -p ./env_py37 python scripts/rna_msa_prediction.py \
--fasta examples/data/3owzA/3owzA.fasta \
--msa examples/data/3owzA/3owzA.a3m \
--output results/example2/使用MCP(克劳德代码):
Use predict_rna_structure_with_msa on @examples/data/3owzA/3owzA.fasta with MSA @examples/data/3owzA/3owzA.a3m示例3:批处理
目标: 一次处理多个文件
使用脚本:
for f in examples/data/*/**.fasta; do
mamba run -p ./env_py37 python scripts/rna_single_sequence_prediction.py --input "$f" --output results/batch/
done使用MCP(克劳德代码):
Submit batch processing for all FASTA files in @examples/data/______________________________________________________________________
演示数据
这 examples/data/ 目录包含用于测试的示例数据:
| 文件 | 描述 | 与一起使用 |
|---|---|---|
3owzA/3owzA.fasta | 带有MSA的88个核苷酸RNA结构 | 所有预测工具 |
3owzB/3owzB.fasta | 3owzA | MSA比较研究的替代构象 |
4l81A/4l81A.fasta | 大核糖体RNA片段 | 批处理 |
5ddoA/5ddoA.fasta | 结构化RNA结构域 | 结构分析 |
... | 12个额外的RNA例子 | 各种RNA类型 |
演示序列总数:16个RNA结构,对应FASTA和A3M文件
______________________________________________________________________
配置文件
这 configs/ 目录包含配置模板:
| 配置 | 描述 | 参数 |
|---|---|---|
default.json | 通用设置 | 设备、松弛步长、输出格式 |
single_sequence_prediction.json | 单序列特定设置 | 设备,松弛步数 |
msa_prediction.json | MSA增强预测设置 | 设备、松弛步长、MSA_params |
batch_prediction.json | 批处理配置 | max_sequences、parallel_jobs、设备 |
structure_analysis.json | 分析和验证设置 | export_formats,quality_metrics |
配置示例
{
"device": "cpu",
"relax_steps": 1000,
"output_format": "pdb",
"quality_checks": true,
"save_intermediate": false
}______________________________________________________________________
故障排除
环境问题
问题: 未找到环境
# Recreate environment
mamba create -p ./env python=3.10 -y
mamba activate ./env
pip install fastmcp loguru pandas numpy tqdm问题: 导入错误
# Verify installation
python -c "from src.server import mcp"MCP问题
问题: 在Claude代码中找不到服务器
# Check MCP registration
claude mcp list
# Re-add if needed
claude mcp remove RhoFold
claude mcp add RhoFold -- $(pwd)/env/bin/python $(pwd)/src/server.py问题: 工具不工作
# Test server directly
python -c "
from src.server import mcp
print('MCP server loaded successfully')
"工作问题
问题: 作业挂起
# 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性能问题
问题: 执行缓慢
- 解决方案:使用GPU
device: "cuda:0"5-10倍的加速 - 替代:减少
relax_steps从1000到100,效果更快
问题: 内存不足
- 解决方案:在批处理模式下一次处理更少的序列
- 监视器:每个序列的峰值内存使用量约为4-6GB
______________________________________________________________________
发展
运行测试
# Activate environment
mamba activate ./env
# Run tests
pytest tests/ -v正在启动开发服务器
# Run MCP server in dev mode
fastmcp dev src/server.py______________________________________________________________________
性能指南
执行时间估算
| 操作 | CPU运行时 | GPU运行时 | 内存使用情况 |
|---|---|---|---|
| 单序列(88 nt) | ~5分钟 | ~30秒 | ~4-6 GB |
| MSA预测(88 nt) | ~5分钟 | ~30秒 | ~4-6 GB |
| 批处理(3个序列) | ~15分钟 | ~2分钟 | ~4-6 GB |
| 结构分析 | ~10秒 | N/A | ~100 MB |
优化提示
- GPU使用情况:添加
device: "cuda:0"5-10倍的加速 - 批处理:比多个单一预测更有效
- 放松步骤:从1000减少到100,以获得更快的结果(轻微的质量损失)
- 内存管理:使用以下方法将大批量处理成小块
max_sequences
资源规划
- 存储:预计每个预测结构约4 MB
- 中央处理器:模型推理期间使用率高(每个序列约5分钟)
- 记忆:预测期间的峰值使用量约为4-6GB
- 网络:首次使用时下载508 MB型号
- 图形处理器:CUDA兼容GPU提供5-10倍的加速
______________________________________________________________________
许可证
此MCP服务器基于 RhoFold 并按照相同的许可条款进行分发。
学分
- RhoFoldRhoFold团队的原始RNA结构预测模型
- FastMCP:用于AI助手集成的MCP框架
- 原始存储库:
______________________________________________________________________
引用
如果您在研究中使用RhoFold MCP,请引用原始的RhoFold论文:
@article{shen2022rhofold,
title={RNA structure prediction using deep learning},
author={Shen, Tianyu and others},
journal={Nature Methods},
year={2022}
}有关问题或支持,请参阅 原始RhoFold存储库 或者在MCP存储库中创建问题。
