trRosettaRNA v1.1 MCP
使用变压器网络和Rosetta能量最小化从多序列比对中预测RNA 3D结构
目录
概述
trRosettaRNA v1.1 MCP通过独立脚本和模型控制协议(MCP)工具提供RNA结构预测功能。该实现将用于接触预测的基于变压器的神经网络与用于3D结构生成的Rosetta能量最小化相结合。
特性
- 基于MSA的预测:利用多序列比对提高准确性
- 二级结构约束:支持点括号、CT和SPOT-RNA概率格式
- 几何预测:无需3D折叠的快速接触图和距离预测
- 后台处理:具有进度跟踪功能的长期运行作业
- 批处理:并行处理多个RNA序列
- 双重环境:针对MCP集成和遗留依赖性进行了优化
目录结构
./
├── README.md # This file
├── env/ # Main conda environment (Python 3.10, MCP server)
├── env_py3.8/ # Legacy environment (Python 3.8, PyTorch 1.11.0)
├── src/
│ └── server.py # MCP server with 12 tools
├── scripts/
│ ├── rna_geometry_prediction.py # Basic RNA geometry prediction
│ ├── rna_msa_prediction.py # MSA-based prediction with constraints
│ ├── rna_setup_verification.py # Environment verification
│ └── lib/ # Shared utilities
├── examples/
│ └── data/ # Demo data (seq.a3m, seq.dbn, etc.)
├── configs/ # Configuration templates
├── jobs/ # Background job execution
└── repo/ # Original trRosettaRNA repository______________________________________________________________________
安装
先决条件
- Conda或Mamba(建议使用曼巴以加快安装速度)
- Python 3.10+(用于MCP服务器)
- Python 3.8(用于trRosettaRNA脚本)
- CUDA 11.3+(可选,用于GPU加速)
创建环境
按照环境设置进行操作 reports/step3_environment.md。该设置需要双重环境:
# Navigate to the MCP directory
cd /home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/trrosettarna_mcp
# Create main MCP environment (Python 3.10)
mamba create -p ./env python=3.10 pip -y
# or: conda create -p ./env python=3.10 pip -y
# Activate and install MCP dependencies
mamba activate ./env
# or: conda activate ./env
pip install fastmcp loguru click pandas numpy tqdm
# Create legacy environment for trRosettaRNA (Python 3.8)
mamba env create -f repo/trRosettaRNA_v1.1/linux.yml -p ./env_py3.8
# or: conda env create -f repo/trRosettaRNA_v1.1/linux.yml -p ./env_py3.8
# Install additional dependencies in legacy environment
mamba run -p ./env_py3.8 pip install einops______________________________________________________________________
本地使用(脚本)
您可以在没有MCP的情况下直接使用脚本进行本地处理。
可用脚本
| 脚本 | 描述 | 示例 |
|---|---|---|
scripts/rna_geometry_prediction.py | MSA的基本RNA几何预测 | 见下文 |
scripts/rna_msa_prediction.py | 基于MSA的二级结构约束预测 | 见下文 |
scripts/rna_setup_verification.py | 环境和设置验证 | 见下文 |
脚本示例
RNA几何预测
# Activate legacy environment
mamba activate ./env_py3.8
# Run geometry prediction
python scripts/rna_geometry_prediction.py \
--input examples/data/seq.a3m \
--output results/geometries.npz参数:
--input, -i:MSA文件的路径(.a3m格式)(必填)--output, -o:输出文件路径(.npz格式)(可选)
基于MSA的约束预测
python scripts/rna_msa_prediction.py \
--input examples/data/seq.a3m \
--ss_file examples/data/seq_fixed.dbn \
--output results/predictions.npz参数:
--input, -i:MSA文件的路径(.a3m格式)(必填)--ss_file, -ss:辅助结构文件(.dbn/.ct/.prob)的路径(必需)--output, -o:输出文件路径(.npz格式)(可选)
设置验证
python scripts/rna_setup_verification.py \
--test_model_loading \
--verbose参数:
--test_model_loading:是否测试加载ML模型(可选)--verbose:启用详细输出(可选)
______________________________________________________________________
MCP服务器安装
选项1:使用fastmcp(推荐)
# Install MCP server for Claude Code
fastmcp install src/server.py --name trRosettaRNA_v1_1选项2:Claude代码的手动安装
# Add MCP server to Claude Code
claude mcp add trRosettaRNA_v1_1 -- $(pwd)/env/bin/python $(pwd)/src/server.py
# Verify installation
claude mcp list选项3:在settings.json中配置
增添 ~/.claude/settings.json:
{
"mcpServers": {
"trRosettaRNA_v1_1": {
"command": "/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/trrosettarna_mcp/env/bin/python",
"args": ["/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/trrosettarna_mcp/src/server.py"]
}
}
}______________________________________________________________________
使用Claude代码
安装MCP服务器后,您可以直接在Claude Code中使用它。
快速开始
# Start Claude Code
claude示例提示
工具发现
What tools are available from trRosettaRNA_v1_1?基本用法
Use predict_rna_geometry with input file @examples/data/seq.a3m具有二级结构约束
Run predict_rna_with_msa on @examples/data/seq.a3m using structure @examples/data/seq_fixed.dbn长期运行任务(提交API)
Submit rna_geometry_prediction for @examples/data/seq.a3m
Then check the job status批处理
Process these files in batch:
- @examples/data/seq.a3m (with geometry prediction)使用@引用
在克劳德代码中,使用 @ 引用文件和目录:
| 参考 | 说明 |
|---|---|
@examples/data/seq.a3m | 参考特定的MSA文件 |
@examples/data/seq_fixed.dbn | 引用二级结构文件 |
@configs/default_config.json | 引用配置文件 |
@results/ | 参考输出目录 |
______________________________________________________________________
与Gemini CLI一起使用
配置
增添 ~/.gemini/settings.json:
{
"mcpServers": {
"trRosettaRNA_v1_1": {
"command": "/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/trrosettarna_mcp/env/bin/python",
"args": ["/home/xux/Desktop/NucleicMCP/NucleicMCP/tool-mcps/trrosettarna_mcp/src/server.py"]
}
}
}示例提示
# Start Gemini CLI
gemini
# Example prompts (same as Claude Code)
> What tools are available?
> Use predict_rna_geometry with file examples/data/seq.a3m______________________________________________________________________
可用工具
快速操作(同步API)
这些工具会立即返回结果(\10分钟):
| 工具 | 说明 | 参数 |
|---|---|---|
submit_rna_geometry_prediction | 背景几何预测 | input_file, output_dir, job_name |
submit_rna_msa_prediction | 基于MSA的背景预测 | input_file, ss_file, output_dir, job_name |
submit_batch_rna_prediction | 批量处理多个文件 | input_files, prediction_type, output_dir, job_name |
作业管理工具
| 工具 | 说明 |
|---|---|
get_job_status | 检查作业进度 |
get_job_result | 完成后获取结果 |
get_job_log | 查看执行日志 |
cancel_job | 取消正在运行的作业 |
list_jobs | 列出所有作业 |
实用工具
| 工具 | 说明 |
|---|---|
validate_rna_input_files | 验证文件格式和内容 |
get_example_data_info | 列出可用的示例数据集 |
______________________________________________________________________
例子
示例1:基本RNA几何预测
目标: 从MSA预测RNA接触图和距离几何
使用脚本:
python scripts/rna_geometry_prediction.py \
--input examples/data/seq.a3m \
--output results/geometry.npz使用MCP(克劳德代码):
Use predict_rna_geometry to process @examples/data/seq.a3m and save results to results/geometry.npz预期产量:
- NPZ文件(~2.3MB),包含联系地图和距离预测
- 包含输入文件信息和处理统计信息的元数据
示例2:基于MSA的结构约束预测
目标: 利用进化信息和二级结构增强预测
使用脚本:
python scripts/rna_msa_prediction.py \
--input examples/data/seq.a3m \
--ss_file examples/data/seq_fixed.dbn \
--output results/constrained.npz使用MCP(克劳德代码):
Run predict_rna_with_msa on @examples/data/seq.a3m with structure @examples/data/seq_fixed.dbn预期产量:
- 具有增强联系人预测功能的NPZ文件
- 二级结构验证和处理元数据
示例3:批处理
目标: 一次处理多个RNA序列
使用脚本:
for f in examples/data/*.a3m; do
python scripts/rna_geometry_prediction.py --input "$f" --output results/batch/
done使用MCP(克劳德代码):
Submit batch processing for geometry prediction on these files:
- @examples/data/seq.a3m示例4:设置验证
目标: 验证环境和模型加载
使用脚本:
python scripts/rna_setup_verification.py --test_model_loading --verbose使用MCP(克劳德代码):
Use verify_rna_setup with test_model_loading=true and verbose=true预期产量:
- 环境状态(Python版本、CUDA、软件包)
- 模型加载试验结果
- 所有组件的通过/失败摘要
______________________________________________________________________
演示数据
这 examples/data/ 目录包含用于测试的示例数据:
| 文件 | 描述 | 与一起使用 |
|---|---|---|
seq.a3m | 多序列比对(49个核苷酸,19个序列) | predict_rna_geometry, predict_rna_with_msa |
seq_fixed.dbn | 用点括号表示的二级结构 | predict_rna_with_msa |
seq.fasta | FASTA格式的RNA序列 | 参考序列 |
seq.ct | CT格式的二级结构 | 替代结构格式 |
seq.prob | SPOT-RNA概率矩阵 | 概率结构约束 |
seq.pdb | 参考3D结构 | 验证和比较 |
seq.npz | 预先计算的几何图形 | 示例输出格式 |
______________________________________________________________________
配置文件
这 configs/ 目录包含配置模板:
| 配置 | 描述 | 参数 |
|---|---|---|
default_config.json | 所有脚本的默认设置 | 模型路径、设备设置、处理限制 |
rna_geometry_prediction_config.json | 特定几何预测 | 接触阈值、输出格式 |
rna_msa_prediction_config.json | MSA预测特定 | SS格式选项、可视化设置 |
rna_setup_verification_config.json | 验证测试设置 | 测试标志、文件路径、参数 |
配置示例
{
"model": {
"dir": "examples/params/model_1",
"architecture": "DistPredictor"
},
"processing": {
"max_msa_rows": 1000,
"gpu_id": "-1",
"batch_size": 1
},
"prediction": {
"contact_threshold": 0.5,
"geometry_only": true
}
}______________________________________________________________________
故障排除
环境问题
问题: 未找到环境
# Recreate environments
mamba create -p ./env python=3.10 -y
mamba create -p ./env_py3.8 python=3.8 -y
mamba activate ./env
pip install fastmcp loguru问题: 脚本中的PyTorch导入错误
# Verify legacy environment
mamba activate ./env_py3.8
python -c "import torch; print(torch.__version__)"
# Should print: 1.11.0+cu113MCP问题
问题: 在Claude代码中找不到服务器
# Check MCP registration
claude mcp list
# Re-add if needed
claude mcp remove trRosettaRNA_v1_1
claude mcp add trRosettaRNA_v1_1 -- $(pwd)/env/bin/python $(pwd)/src/server.py问题: 工具不工作
# Test server directly
./env/bin/python -c "
from src.server import mcp
print(list(mcp.list_tools().keys()))
"工作问题
问题: 作业挂起
# Check job directory
ls -la jobs/
# View job metadata
cat jobs//metadata.json问题: 作业失败
Use get_job_log with job_id "" and tail 100 to see error details脚本问题
问题: 模型加载错误
# Verify model files exist
ls -la examples/params/model_1/models/model_1.pth.tar
ls -la examples/params/model_1/config/model_1.json
# Test model loading
mamba run -p ./env_py3.8 python scripts/rna_setup_verification.py --test_model_loading问题: 文件格式错误
# Validate input files
python -c "
from scripts.lib.utils import validate_a3m_file
print(validate_a3m_file('examples/data/seq.a3m'))
"______________________________________________________________________
发展
运行测试
# Activate main environment for MCP tests
mamba activate ./env
pytest tests/ -v
# Activate legacy environment for script tests
mamba activate ./env_py3.8
python tests/test_integration.py正在启动开发服务器
# Run MCP server in development mode
mamba run -p ./env fastmcp dev src/server.pyMCP检验员测试
# Install MCP inspector (if not already installed)
npm install -g @anthropic/mcp-inspector
# Test server
npx @anthropic/mcp-inspector src/server.py______________________________________________________________________
性能特征
同步工具性能
| 工具 | 冷启动 | 热启动 | 内存峰值 | 输出大小 |
|---|---|---|---|---|
| verify_rna_setup | ~1秒 | ~0.5秒 | \200个核苷酸)**:10-60秒 |
*注:时间假定CPU处理。GPU加速可以减少2-5倍的时间。*
______________________________________________________________________
许可证
基于 trRosettaRNA v1.1 -有关许可证信息,请参阅原始存储库。
学分
- 软件:trRosettaRNA v1.1,华盛顿大学蛋白质设计研究所
- MCP集成:为NucleicMCP项目创建
- 依赖项:PyTorch、NumPy、einops、FastMCP
引用
如果您使用此MCP实现,请引用trRosettaRNA的原始论文:
@article{trrosettarna2021,
title={Improved RNA secondary structure and tertiary base-pairing prediction using evolutionary profile, mutational coupling and two-dimensional transfer learning},
journal={Bioinformatics},
year={2021}
}