CycPeptMP MCP
环肽计算工具-MCP服务器,用于环肽分析、性质计算和膜渗透性预测
目录
概述
CycPeptMP MCP为环肽研究和药物发现提供了全面的计算工具。它基于CycPeptMP(环肽膜渗透性)框架构建,通过直观的MCP界面提供快速的属性计算和先进的机器学习预测。
特性
- 分子性质计算:计算药物样性质、分子描述符和Lipinski的五规则依从性
- SMILES验证:通过环性检测验证和规范化环肽SMILES结构
- 膜渗透性预测:使用具有多级分子特征的深度学习模型进行基于ML的渗透率预测
- 批次分析:通过化学多样性评估进行虚拟筛选的高通量分析
- 三维结构预测:生成多个具有能量优化的3D形状(计划中)
- 数据库相似性搜索:使用分子指纹与环肽数据库进行比较
目录结构
./
├── README.md # This file
├── env/ # Conda environment (Python 3.10)
├── env_py39/ # Legacy environment (Python 3.9, for CycPeptMP)
├── src/
│ ├── server.py # MCP server with 13 tools
│ ├── utils.py # Shared utilities and helpers
│ └── jobs/ # Job management for async operations
├── scripts/
│ ├── validate_peptide.py # SMILES validation and properties
│ ├── batch_analysis.py # Comprehensive batch analysis
│ ├── predict_membrane_permeability.py # ML-based permeability prediction
│ └── lib/ # Shared utilities
│ ├── molecules.py # RDKit molecular operations
│ ├── io.py # File I/O functions
│ └── validation.py # Input validation
├── examples/
│ └── data/ # Demo data
│ ├── sequences/ # Sample cyclic peptide SMILES
│ │ └── new_data.csv # Anidulafungin & Pasireotide samples
│ ├── models/ # Pre-trained CycPeptMP model weights
│ └── CycPeptMP.json # Model configuration
├── configs/ # Configuration files
│ ├── default_config.json # Default settings
│ ├── validate_peptide_config.json # Validation configuration
│ ├── batch_analysis_config.json # Analysis configuration
│ └── predict_membrane_permeability_config.json # ML pipeline config
└── jobs/ # Job storage (created at runtime)______________________________________________________________________
安装
快速设置
运行自动安装脚本:
./quick_setup.sh这将创建两个环境(MCP服务器的Python 3.10和CycPeptMP核心的Python 3.9),并自动安装所有依赖项。
手动设置(高级)
对于手动安装或自定义,请执行以下步骤。
先决条件
- Conda或Mamba(建议使用曼巴以加快安装速度)
- MCP服务器的Python 3.10+
- Python 3.9提供完整的CycPeptMP功能
- RDKit(自动安装)
创建环境
遵循双环境设置 reports/step3_environment.md:
# Navigate to the MCP directory
cd /home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/cycpeptmp_mcp
# Detect package manager (prefer mamba over conda)
if command -v mamba &> /dev/null; then
PKG_MGR="mamba"
else
PKG_MGR="conda"
fi
echo "Using package manager: $PKG_MGR"
# Create main MCP environment (Python 3.10)
$PKG_MGR create -p ./env python=3.10 pip -y
# Activate main environment
$PKG_MGR activate ./env
# Install MCP dependencies
pip install fastmcp loguru click pandas numpy tqdm
# Install RDKit from conda-forge
$PKG_MGR install -c conda-forge rdkit matplotlib-base pillow sqlalchemy
# Force reinstall FastMCP for clean installation
pip install --force-reinstall --no-cache-dir fastmcp
# Create legacy environment for CycPeptMP (Python 3.9)
$PKG_MGR create -p ./env_py39 python=3.9 pip -y
# Activate legacy environment
$PKG_MGR activate ./env_py39
# Install CycPeptMP dependencies with exact versions
pip install numpy==1.25.0 pandas==1.4.4 torch==2.0.0
# Install RDKit and Mordred
$PKG_MGR install -c conda-forge rdkit
pip install mordred
# Return to main environment for MCP server
$PKG_MGR activate ./env______________________________________________________________________
本地使用(脚本)
您可以在没有MCP的情况下直接使用脚本进行本地处理。
可用脚本
| 脚本 | 描述 | 环境 | 示例 |
|---|---|---|---|
validate_peptide.py | 验证SMILES并计算分子性质 | ./env 或 ./env_py39 | 见下文 |
batch_analysis.py | 采用多样性指标进行全面分析 | ./env 或 ./env_py39 | 见下文 |
predict_membrane_permeability.py | 基于ML的渗透率预测 | ./env_py39 (需要回购) | 见下文 |
脚本示例
验证环肽
# Activate environment
mamba activate ./env
# Validate single SMILES
python scripts/validate_peptide.py \
--smiles "NCCCC[C@@H]1NC(=O)[C@@H](Cc2c[nH]c3ccccc23)NC(=O)[C@H](c2ccccc2)NC(=O)[C@@H]2C[C@@H](OC(=O)NCCN)CN2C(=O)[C@H](Cc2ccccc2)NC(=O)[C@H](Cc2ccc(OCc3ccccc3)cc2)NC1=O" \
--output results/validation.csv
# Validate batch file
python scripts/validate_peptide.py \
--input examples/data/sequences/new_data.csv \
--output results/batch_validation.csv参数:
--smiles, -s:环肽SMILES字符串(单次验证所需)--input, -i:输入带SMILES列的CSV文件(批量处理所需)--output, -o:输出CSV文件路径(可选)--config:配置文件路径(可选)
计算属性并分析多样性
# Comprehensive batch analysis
python scripts/batch_analysis.py \
--input examples/data/sequences/new_data.csv \
--output results/analysis \
--similarity-threshold 0.8
# With database comparison (if available)
python scripts/batch_analysis.py \
--input examples/data/sequences/new_data.csv \
--output results/analysis \
--database-path database/cycpeptmpdb.csv参数:
--input, -i:输入带SMILES列的CSV文件(必填)--output, -o:输出文件前缀(默认:“analysis”)--database-path:用于相似性比较的CSV数据库(可选)--similarity-threshold:谷本相似性阈值(默认值:0.7)
预测膜渗透性
# Activate legacy environment (requires CycPeptMP repository)
mamba activate ./env_py39
# Predict permeability for single peptide
python scripts/predict_membrane_permeability.py \
--smiles "NCCCC[C@@H]1NC(=O)..." \
--output results/permeability.csv
# Predict for batch
python scripts/predict_membrane_permeability.py \
--input examples/data/sequences/new_data.csv \
--output results/batch_permeability.csv注: 此脚本需要完整的CycPeptMP存储库和预训练的模型。
______________________________________________________________________
MCP服务器安装
选项1:使用fastmcp(推荐)
# Activate main environment
mamba activate ./env
# Install MCP server for Claude Code
fastmcp install src/server.py --name cycpep-tools
# Verify installation
fastmcp list选项2:Claude代码的手动安装
# Add MCP server to Claude Code
claude mcp add cycpep-tools -- $(pwd)/env/bin/python $(pwd)/src/server.py
# Verify installation
claude mcp list
# Should show: cycpep-tools: ... - ✓ Connected选项3:在settings.json中配置
增添 ~/.claude/settings.json:
{
"mcpServers": {
"cycpep-tools": {
"command": "/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/cycpeptmp_mcp/env/bin/python",
"args": ["/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/cycpeptmp_mcp/src/server.py"]
}
}
}______________________________________________________________________
使用Claude代码
安装MCP服务器后,您可以直接在Claude Code中使用它。
快速开始
# Start Claude Code
claude示例提示
工具发现
What tools are available from cycpep-tools?属性计算(快速同步API)
Calculate molecular properties for this cyclic peptide: NCCCC[C@@H]1NC(=O)[C@@H](Cc2c[nH]c3ccccc23)NC(=O)[C@H](c2ccccc2)NC(=O)[C@@H]2C[C@@H](OC(=O)NCCN)CN2C(=O)[C@H](Cc2ccccc2)NC(=O)[C@H](Cc2ccc(OCc3ccccc3)cc2)NC1=O结构验证
Validate this cyclic peptide SMILES and tell me if it's drug-like: CCCCCOc1ccc(-c2ccc(-c3ccc(C(=O)N[C@H]4C[C@@H](O)[C@@H](O)NC(=O)[C@@H]5[C@@H](O)[C@@H](C)CN5C(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)[C@@H](O)c5ccc(O)cc5)NC(=O)[C@@H]5C[C@@H](O)CN5C(=O)[C@H]([C@@H](C)O)NC4=O)cc3)cc2)cc1膜渗透性预测(提交API)
Submit a membrane permeability prediction job for the cyclic peptide Pasireotide with this SMILES: NCCCC[C@@H]1NC(=O)[C@@H](Cc2c[nH]c3ccccc23)NC(=O)[C@H](c2ccccc2)NC(=O)[C@@H]2C[C@@H](OC(=O)NCCN)CN2C(=O)[C@H](Cc2ccccc2)NC(=O)[C@H](Cc2ccc(OCc3ccccc3)cc2)NC1=O检查作业状态
Check the status of job abc12345批处理
Process the cyclic peptides in @examples/data/sequences/new_data.csv and generate a comprehensive analysis including molecular properties and diversity metrics使用@引用
在克劳德代码中,使用 @ 引用文件和目录:
| 参考 | 说明 |
|---|---|
@examples/data/sequences/new_data.csv | 参考示例SMILES文件 |
@configs/validate_peptide_config.json | 参考验证配置 |
@results/ | 参考输出目录 |
______________________________________________________________________
与Gemini CLI一起使用
配置
增添 ~/.gemini/settings.json:
{
"mcpServers": {
"cycpep-tools": {
"command": "/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/cycpeptmp_mcp/env/bin/python",
"args": ["/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/cycpeptmp_mcp/src/server.py"]
}
}
}示例提示
# Start Gemini CLI
gemini
# Example prompts (same as Claude Code)
> What tools are available from cycpep-tools?
> Calculate properties for cyclic peptide with SMILES "NCCCC[C@@H]1NC(=O)..."
> Submit batch analysis for my peptide library______________________________________________________________________
可用工具
快速操作(同步API)
这些工具会立即返回结果(\10分钟):
| 工具 | 说明 | 参数 |
|---|---|---|
submit_membrane_permeability | 使用ML预测膜渗透性 | smiles: str, output_dir: str (可选), job_name: str (可选) |
submit_batch_analysis | 大型数据集的综合分析 | input_file: str, output_prefix: str, database_file: str (可选) |
submit_structure_prediction | 生成三维形状(占位符) | smiles: str, num_conformers: int, optimize: bool |
作业管理工具
| 工具 | 说明 | 参数 |
|---|---|---|
get_job_status | 检查作业进度 | job_id: str |
get_job_result | 完成后获取结果 | job_id: str |
get_job_log | 查看执行日志 | job_id: str, tail: int (默认值:50) |
cancel_job | 取消正在运行的作业 | job_id: str |
list_jobs | 列出所有作业 | status: str (可选过滤器) |
cleanup_old_jobs | 清理旧作业文件 | days_old: int (默认值:7) |
______________________________________________________________________
例子
示例1:快速属性计算
目标: 计算环肽的类药物性质
使用脚本:
mamba activate ./env
python scripts/validate_peptide.py \
--smiles "NCCCC[C@@H]1NC(=O)[C@@H](Cc2c[nH]c3ccccc23)NC(=O)[C@H](c2ccccc2)NC(=O)[C@@H]2C[C@@H](OC(=O)NCCN)CN2C(=O)[C@H](Cc2ccccc2)NC(=O)[C@H](Cc2ccc(OCc3ccccc3)cc2)NC1=O" \
--output results/properties.csv使用MCP(克劳德代码):
Calculate molecular properties for Pasireotide: NCCCC[C@@H]1NC(=O)[C@@H](Cc2c[nH]c3ccccc23)NC(=O)[C@H](c2ccccc2)NC(=O)[C@@H]2C[C@@H](OC(=O)NCCN)CN2C(=O)[C@H](Cc2ccccc2)NC(=O)[C@H](Cc2ccc(OCc3ccccc3)cc2)NC1=O
Tell me the molecular weight, LogP, TPSA, and whether it's drug-like according to Lipinski's Rule of Five.预期产量:
- 分子量:1047.23道尔顿
- 对数:3.37
- TPSA:281.2度
- Lipinski依从性:部分(分子量>500,但环肽可接受)
- 周期性:正确
示例2:批量虚拟筛选
目标: 筛选环肽库以了解药物相似性和多样性
使用脚本:
mamba activate ./env
python scripts/batch_analysis.py \
--input examples/data/sequences/new_data.csv \
--output results/virtual_screen \
--similarity-threshold 0.7使用MCP(克劳德代码):
I want to screen these cyclic peptides for oral bioavailability using @examples/data/sequences/new_data.csv:
Calculate properties for all peptides and identify which ones have:
- Molecular weight 0.5
Also generate a diversity analysis and summary statistics.预期产量:
- 每种肽的MW、LogP、TPSA特性表
- 每种肽的药物相似性评估
- 多样性得分:~0.77(高多样性)
- 汇总统计:平均分子量=1093.7 Da,Lipinski依从性25%
示例3:膜渗透性预测
目标: 使用深度学习预测膜渗透性
使用脚本:
# Requires CycPeptMP repository and ./env_py39
mamba activate ./env_py39
python scripts/predict_membrane_permeability.py \
--smiles "NCCCC[C@@H]1NC(=O)[C@@H](Cc2c[nH]c3ccccc23)..." \
--output results/permeability.csv使用MCP(克劳德代码):
Submit membrane permeability prediction for Pasireotide with job name "pasireotide_permeability":
SMILES: NCCCC[C@@H]1NC(=O)[C@@H](Cc2c[nH]c3ccccc23)NC(=O)[C@H](c2ccccc2)NC(=O)[C@@H]2C[C@@H](OC(=O)NCCN)CN2C(=O)[C@H](Cc2ccccc2)NC(=O)[C@H](Cc2ccc(OCc3ccccc3)cc2)NC1=O
Check the job status every minute and show me the results when complete.注: 这需要具有预训练模型的完整CycPeptMP存储库。
______________________________________________________________________
演示数据
这 examples/data/ 目录包含用于测试的示例数据:
| 文件 | 描述 | 使用 | 内容 |
|---|---|---|---|
sequences/new_data.csv | 环肽样本 | 所有属性工具 | 阿尼杜拉芬金、帕西瑞肽 |
CycPeptMP.json | 模型配置 | 渗透率预测 | 超参数、路径 |
models/Fusion/ | 预训练模型 | 渗透率预测 | 9个模型文件(~450MB) |
示例数据详细信息
new_data.csv包含:
- 阿尼芬净:分子量=1140.22 Da,对数P=0.93,抗真菌环肽
- 帕西雷肽:分子量=1047.23 Da,对数P=0.37,生长抑素类似物
______________________________________________________________________
配置文件
这 configs/ 目录包含配置模板:
| 配置 | 描述 | 关键参数 |
|---|---|---|
default_config.json | 所有脚本的默认设置 | 超时、验证、输出格式 |
validate_peptide_config.json | 验证阈值 | MW警告、周期性检查 |
batch_analysis_config.json | 分析参数 | 相似性阈值、多样性度量 |
predict_membrane_permeability_config.json | ML管道配置 | 设备设置,CycPeptMP路径 |
配置示例
{
"molecular_weight": {
"min_warning": 500,
"max_warning": 2000
},
"validation": {
"check_cyclicity": true,
"check_peptide_elements": true
},
"similarity": {
"threshold": 0.7,
"fingerprint": { "radius": 2, "n_bits": 1024 }
}
}______________________________________________________________________
故障排除
环境问题
问题: 未找到环境
# Recreate main environment
mamba create -p ./env python=3.10 -y
mamba activate ./env
pip install fastmcp loguru pandas numpy
mamba install -c conda-forge rdkit
# Recreate legacy environment
mamba create -p ./env_py39 python=3.9 -y
mamba activate ./env_py39
pip install numpy==1.25.0 pandas==1.4.4 torch==2.0.0
mamba install -c conda-forge rdkit
pip install mordred问题: RDKit导入错误
# Install RDKit from conda-forge (not pip)
mamba install -c conda-forge rdkit -y问题: FastMCP导入错误
# Force reinstall FastMCP
pip install --force-reinstall --no-cache-dir fastmcpMCP问题
问题: 在Claude代码中找不到服务器
# Check MCP registration
claude mcp list
# Re-add if needed
claude mcp remove cycpep-tools
claude mcp add cycpep-tools -- $(pwd)/env/bin/python $(pwd)/src/server.py
# Verify connection
# Should show: cycpep-tools: ... - ✓ Connected问题: 使用工具时权限被拒绝
This is normal security behavior. Claude Code will prompt for permission
before executing MCP tools. Click "Allow" to use the tools.问题: 无效的SMILES错误
Ensure your SMILES string is valid. For cyclic peptides, use proper ring
closure notation. The validation tool can help identify issues:
python scripts/validate_peptide.py --smiles "YOUR_SMILES"存储库依赖关系
问题: 膜渗透性预测失败
# Check if repo is available
python -c "from src.utils import check_repo_availability; print(check_repo_availability())"
# Expected: False (repo not included in MCP distribution)
# Solution: This is expected - membrane permeability requires the full CycPeptMP repository问题: 未找到模型
The membrane permeability prediction requires:
1. Full CycPeptMP repository
2. Pre-trained model weights in examples/data/models/
3. Python 3.9 environment with PyTorch
Use the basic tools (validate_cyclic_peptide, calculate_peptide_properties)
for property calculations without repository dependencies.性能问题
问题: 性能计算缓慢
# Check if using correct environment
mamba activate ./env # Use main environment for basic tools问题: 作业挂起
# Check job directory permissions
mkdir -p jobs
ls -la jobs/
# View job logs
python -c "
from src.server import mcp
status = mcp.list_jobs()
print(status)
"问题: ML预测期间内存不足
The membrane permeability prediction requires 2-3GB RAM.
Close other applications or use a machine with more memory.______________________________________________________________________
发展
运行测试
# Activate environment
mamba activate ./env
# Test individual scripts
python scripts/validate_peptide.py --help
python scripts/batch_analysis.py --help
# Test MCP server
python -c "from src.server import mcp; print('Server OK')"
# Run integration tests (if available)
python tests/run_integration_tests.py正在启动开发服务器
# Run MCP server in dev mode with auto-reload
mamba activate ./env
fastmcp dev src/server.py
# Test server directly
python src/server.py添加新工具
# Add to src/server.py
@mcp.tool()
def my_new_tool(param: str) -> dict:
"""Description for the LLM."""
try:
# Your tool logic here
return {"status": "success", "result": "data"}
except Exception as e:
return format_error_response(e, "Tool failed")______________________________________________________________________
性能指标
测试性能
| 操作 | 数据集大小 | 运行时间 | 内存 | 成功率 |
|---|---|---|---|---|
| 单次验证 | 1肽 | \<1秒 | \<50MB | 100% |
| 批次特性 | 2个肽 | \<1秒 | \<100MB | 100% |
| 批量分析 | 2个肽 | \<1秒 | \<100MB | 100% |
| 膜预测 | 2个肽 | ~227秒 | 2-3GB | 95% |
环境尺寸
- 主环境(./env):约1.2 GB(包括RDKit和FastMCP)
- 遗留环境(./env_py39):~4.8 GB(包括带CUDA的PyTorch)
______________________________________________________________________
许可证
基于CycPeptMP框架,用于环肽膜通透性预测。
积分
基于 CycPeptMP -环肽膜通透性数据库及预测器
