Multi_CycGT MCP
使用图卷积网络和Transformer架构进行环肽计算分析的MCP工具
目录
概述
Multi_CycGT MCP为分析环肽提供了计算工具,特别是使用结合图卷积网络(GCN)和Transformer架构的深度学习模型进行膜通透性预测。此MCP服务器可通过Claude Code和其他MCP兼容客户端与复杂的环肽分析工作流程进行自然语言交互。
特性
- PAMPA渗透率预测:使用SMILES字符串或氨基酸序列预测环肽的膜通透性值
- 深度学习模型训练:使用GCN-Transformer架构在您的数据集上训练自定义Multi_CycGT模型
- 综合性能分析:计算分子描述符、序列属性,并生成统计可视化
- 批处理:处理虚拟筛查工作流程的大型数据集
- 作业管理:提交具有进度跟踪和结果检索功能的长时间运行的任务
目录结构
./
├── README.md # This file
├── env/ # Main conda environment (Python 3.10)
├── env_py39/ # Legacy environment (Python 3.9)
├── src/
│ ├── mcp_server.py # FastMCP-compatible MCP server
│ ├── server.py # CLI server interface
│ └── jobs/ # Job management system
├── scripts/
│ ├── predict_membrane_permeability.py # PAMPA prediction
│ ├── train_multicycgt_model.py # Model training
│ ├── analyze_peptide_properties.py # Property analysis
│ └── lib/ # Shared utilities
├── examples/
│ └── data/ # Demo data
│ ├── sample_peptides.csv # Full CycPeptMPDB dataset (12MB, 3000+ peptides)
│ ├── sample_small.csv # Small test dataset (19 peptides)
│ ├── sequences/ # Sample cyclic peptide sequences
│ └── structures/ # Sample 3D structures
├── configs/ # Configuration files
│ ├── predict_membrane_permeability.json
│ ├── train_multicycgt_model.json
│ └── analyze_peptide_properties.json
└── repo/ # Original Multi_CycGT repository______________________________________________________________________
安装
快速设置
运行自动安装脚本:
./quick_setup.sh这将创建环境并自动安装所有依赖项。
手动设置(高级)
对于手动安装或自定义,请执行以下步骤。
先决条件
- Conda或Mamba(建议使用曼巴以加快安装速度)
- Python 3.10+
- Linux/macOS(在Ubuntu 20.04+上测试)
- RDKit(自动安装)
创建环境
请遵循以下信息 reports/step3_environment.md 详细设置。下面显示了一个示例工作流。
# Navigate to the MCP directory
cd /home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/multicycgt_mcp
# Check available 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 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 core dependencies
pip install fastmcp loguru pandas numpy tqdm click
# Install PyTorch (CPU version for broader compatibility)
mamba install pytorch torchvision cpuonly -c pytorch -y
# Install RDKit from conda-forge (recommended)
mamba install -c conda-forge rdkit -y
# Install additional ML dependencies
mamba install scikit-learn matplotlib seaborn scipy -y______________________________________________________________________
本地使用(脚本)
您可以在没有MCP的情况下直接使用脚本进行本地处理。
可用脚本
| 脚本 | 描述 | 示例 |
|---|---|---|
scripts/predict_membrane_permeability.py | 使用启发式模型预测PAMPA渗透率值 | 见下文 |
scripts/train_multicycgt_model.py | 列车Multi_CycGT GCN变压器型号 | 见下文 |
scripts/analyze_peptide_properties.py | 全面的分子和序列特性分析 | 见下文 |
脚本示例
预测PAMPA渗透率
# Activate environment
mamba activate ./env
# Single SMILES prediction
python scripts/predict_membrane_permeability.py \
--smiles "CC(C)C[C@@H]1NC(=O)[C@H](Cc2ccccc2)N(C)C(=O)[C@H]2CCCN2C(=O)[C@H](CC(C)C)NC(=O)[C@H](C)N(C)C(=O)[C@H](CC(C)C)NC(=O)[C@H](Cc2ccccc2)N(C)C(=O)[C@H]2CCCN2C(=O)[C@H]([C@@H](C)O)NC(=O)[C@H](C)N(C)C1=O"
# Batch prediction
python scripts/predict_membrane_permeability.py \
--input examples/data/sample_small.csv \
--output results/predictions.csv
# With custom configuration
python scripts/predict_membrane_permeability.py \
--input examples/data/sample_small.csv \
--config configs/predict_membrane_permeability.json \
--output results/custom_predictions.csv参数:
--smiles, -s:环肽SMILES字符串(单次预测所需)--input, -i:输入带SMILES列的CSV文件(批量预测所需)--output, -o:输出文件路径(默认值:results/)--sequence:可选氨基酸序列(SMILES的替代品)--config:JSON配置文件
列车Multi_CycGT模型
# Quick training for testing (5 epochs)
python scripts/train_multicycgt_model.py \
--input examples/data/sample_small.csv \
--epochs 5 \
--batch_size 4 \
--output_dir models/test/
# Production training
python scripts/train_multicycgt_model.py \
--input examples/data/sample_peptides.csv \
--epochs 100 \
--batch_size 32 \
--learning_rate 0.001 \
--output_dir models/production/参数:
--input, -i:包含SMILES和PAMPA列的CSV文件(必填)--epochs, -e:训练周期数(默认值:100)--batch_size, -b:训练批大小(默认值:32)--learning_rate, -lr:学习率(默认值:0.001)--test_split:测试数据分数(默认值:0.2)--val_split:验证数据分数(默认值:0.2)--output_dir, -o:模型输出目录(默认:models/)
分析肽特性
# Full analysis with default settings
python scripts/analyze_peptide_properties.py \
--input examples/data/sample_small.csv \
--output_dir analysis/
# Custom target column analysis
python scripts/analyze_peptide_properties.py \
--input examples/data/sample_peptides.csv \
--target_column Permeability \
--output_dir analysis/custom/生成的输出:
property_distributions.png-分子性质直方图correlation_heatmap.png-特征相关矩阵target_correlations.png-目标与属性图pca_analysis.png-PCA载荷图pca_scatter.png-PCA散点图permeability_analysis.png-渗透率特定分析analysis_report.md-统计汇总报告processed_peptide_data.csv-具有计算属性的增强数据集
______________________________________________________________________
MCP服务器安装
选项1:使用fastmcp(推荐)
# Install MCP server for Claude Code
fastmcp install src/mcp_server.py --name cycpep-tools选项2:Claude代码的手动安装
# Add MCP server to Claude Code
claude mcp add cycpep-tools -- \
/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/multicycgt_mcp/env/bin/python \
/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/multicycgt_mcp/src/mcp_server.py
# Verify installation
claude mcp list # Should show "✓ Connected"选项3:在settings.json中配置
增添 ~/.claude/settings.json:
{
"mcpServers": {
"cycpep-tools": {
"command": "/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/multicycgt_mcp/env/bin/python",
"args": ["/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/multicycgt_mcp/src/mcp_server.py"]
}
}
}______________________________________________________________________
使用Claude代码
安装MCP服务器后,您可以直接在Claude Code中使用它。
快速开始
# Start Claude Code
claude示例提示
工具发现
What tools are available from cycpep-tools?单肽分析(快速)
Calculate membrane permeability for this cyclic peptide SMILES:
CC(C)C[C@@H]1NC(=O)[C@H](Cc2ccccc2)N(C)C(=O)[C@H]2CCCN2C(=O)[C@H](CC(C)C)NC(=O)[C@H](C)N(C)C(=O)[C@H](CC(C)C)NC(=O)[C@H](Cc2ccccc2)N(C)C(=O)[C@H]2CCCN2C(=O)[C@H]([C@@H](C)O)NC(=O)[C@H](C)N(C)C1=O综合分析(提交API)
Submit a comprehensive analysis job for @examples/data/sample_small.csv with job name "small_dataset_analysis"模型培训(提交API)
Submit a model training job for @examples/data/sample_small.csv with 10 epochs and batch size 4, name it "test_training"检查作业状态
Check the status of job abc12345批处理
Calculate PAMPA permeability for all peptides in @examples/data/sample_small.csv and save results to @results/batch_predictions.csv使用@引用
在克劳德代码中,使用 @ 引用文件和目录:
| 参考 | 说明 |
|---|---|
@examples/data/sample_small.csv | 参考小型测试数据集 |
@examples/data/sample_peptides.csv | 参考完整的CycPeptMPDB数据集 |
@configs/predict_membrane_permeability.json | 引用配置文件 |
@results/ | 参考输出目录 |
______________________________________________________________________
与Gemini CLI一起使用
配置
增添 ~/.gemini/settings.json:
{
"mcpServers": {
"cycpep-tools": {
"command": "/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/multicycgt_mcp/env/bin/python",
"args": ["/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/multicycgt_mcp/src/mcp_server.py"]
}
}
}示例提示
# Start Gemini CLI
gemini
# Example prompts (same as Claude Code)
> What tools are available?
> Calculate permeability for cyclic peptide cyclo(GRGDSP)______________________________________________________________________
可用工具
快速操作(同步API)
这些工具会立即返回结果(\10分钟):
| 工具 | 说明 | 参数 |
|---|---|---|
submit_peptide_analysis | 具有可视化功能的全面属性分析 | input_file, output_dir, target_column, config_file, job_name |
submit_model_training | 列车Multi_CycGT GCN变压器模型 | input_file, output_dir, epochs, batch_size, learning_rate, test_split, val_split, config_file, job_name |
作业管理工具
| 工具 | 说明 |
|---|---|
get_job_status | 检查作业进度和时间戳 |
get_job_result | 完成后获取结果 |
get_job_log | 查看执行日志 |
cancel_job | 取消正在运行的作业 |
list_jobs | 列出所有具有可选状态筛选器的作业 |
______________________________________________________________________
例子
示例1:快速渗透率预测
目标: 计算环肽的PAMPA渗透性
使用脚本:
mamba activate ./env
python scripts/predict_membrane_permeability.py \
--smiles "CC(C)C[C@@H]1NC(=O)[C@H](Cc2ccccc2)N(C)C(=O)[C@H]2CCCN2C(=O)[C@H](CC(C)C)NC(=O)[C@H](C)N(C)C(=O)[C@H](CC(C)C)NC(=O)[C@H](Cc2ccccc2)N(C)C(=O)[C@H]2CCCN2C(=O)[C@H]([C@@H](C)O)NC(=O)[C@H](C)N(C)C1=O"使用MCP(克劳德代码):
Calculate membrane permeability for cyclic peptide SMILES: CC(C)C[C@@H]1NC(=O)[C@H](Cc2ccccc2)...预期产量:
- PAMPA值:约-3.9(范围:-6.0至-3.0)
- 较低的值表示渗透率较低
示例2:综合数据集分析
目标: 通过可视化分析分子和序列特性
使用脚本:
mamba activate ./env
python scripts/analyze_peptide_properties.py \
--input examples/data/sample_small.csv \
--output_dir analysis/sample_analysis/使用MCP(克劳德代码):
Submit comprehensive analysis for @examples/data/sample_small.csv with output directory "analysis_results" and job name "sample_analysis"
When the job completes, show me the generated files and key findings from the analysis report.预期产量:
- 生成8个文件:6个可视化+报告+增强数据集
- 分析包括分子性质(MolWt、LogP、TPSA)、序列性质、相关性、PCA
- 运行时间:19种肽约20-45秒
示例3:模型训练管道
目标: 在样本数据上训练自定义Multi_CycGT模型
使用脚本:
mamba activate ./env
python scripts/train_multicycgt_model.py \
--input examples/data/sample_small.csv \
--epochs 10 \
--batch_size 4 \
--output_dir models/sample_model/使用MCP(克劳德代码):
Submit model training for @examples/data/sample_small.csv with these parameters:
- epochs: 10
- batch_size: 4
- learning_rate: 0.001
- job_name: "sample_model_training"
Monitor the training progress and show me the final metrics when complete.预期产量:
- PyTorch模型文件(~1.8MB):
multicycgt_final.pth - 训练历史CSV,包含每个历元的损失和指标
- 测试集评估:RMSE和R²分数
示例4:虚拟放映工作流程
目标: 筛选膜通透性环肽库
使用MCP(克劳德代码):
I want to screen these cyclic peptides for oral bioavailability potential:
First, predict PAMPA permeability for all peptides in @examples/data/sample_small.csv
Then, identify peptides with:
- PAMPA > -4.0 (better permeability)
- Show me the top 5 candidates with their SMILES and predicted values
Finally, submit a detailed analysis for these top candidates.______________________________________________________________________
演示数据
这 examples/data/ 目录包含用于测试的示例数据:
| 文件 | 描述 | 大小 | 肽 | 与 |
|---|---|---|---|---|
sample_peptides.csv | 完整的CycPeptMPDB数据集 | 12MB | 3000+ | 所有工具(生产) |
sample_small.csv | 小型测试数据集 | 33KB | 19 | 所有工具(测试) |
sequences/vocab.txt | 微笑词汇表 | \<1KB | - | 参考 |
示例数据格式
CSV文件包含以下关键列:
SMILES:环肽的化学结构符号Sequence:氨基酸序列(例如。,['L', 'meA', 'L', 'dP', 'meF'])PAMPA:膜渗透性目标值(-6.0至-3.0范围)MolWt,LogP,TPSA:分子描述符- 100+额外的分子描述符用于分析
______________________________________________________________________
配置文件
这 configs/ 目录包含配置模板:
| 配置 | 描述 | 参数 |
|---|---|---|
predict_membrane_permeability.json | 渗透性预测设置 | 氨基酸属性、启发式权重 |
train_multicycgt_model.json | 模型训练配置 | 架构、超参数 |
analyze_peptide_properties.json | 分析设置 | 属性列表、可视化参数 |
配置示例
{
"amino_acid_properties": {
"A": {"logp": 0.31, "tpsa": 43.09},
"F": {"logp": 1.79, "tpsa": 43.09},
"meA": {"logp": 0.1354, "tpsa": 20.31}
},
"heuristic_weights": {
"mol_wt": -0.001,
"tpsa": -0.01,
"logp": 0.5,
"base": -2.0
}
}______________________________________________________________________
故障排除
环境问题
问题: 未找到环境
# Recreate environment
mamba create -p ./env python=3.10 -y
mamba activate ./env
pip install fastmcp loguru pandas numpy
mamba install pytorch cpuonly -c pytorch -y
mamba install -c conda-forge rdkit -y问题: RDKit导入错误
# Install RDKit from conda-forge (recommended)
mamba install -c conda-forge rdkit -y
# Alternative: install via pip (less reliable)
pip install rdkit问题: 未找到PyTorch
# Install CPU version of PyTorch
mamba install pytorch cpuonly -c pytorch -y问题: 导入错误
# Verify installation
python -c "import rdkit; import torch; import pandas; import numpy; print('All dependencies available')"MCP问题
问题: 在Claude代码中找不到服务器
# Check MCP registration
claude mcp list
# Re-add if needed
claude mcp remove cycpep-tools
claude mcp add cycpep-tools -- \
/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/multicycgt_mcp/env/bin/python \
/home/xux/Desktop/CycPepMCP/CycPepMCP/tool-mcps/multicycgt_mcp/src/mcp_server.py问题: 无效的SMILES错误
Ensure your SMILES string is valid for cyclic peptides.
Example valid SMILES: CC(C)C[C@@H]1NC(=O)...
The SMILES should represent a properly closed ring structure.问题: 工具不工作
# Test server directly
python src/server.py --list-tools
# Should show 8 tools
# Test a simple prediction
python src/server.py --tool predict_membrane_permeability \
--args '{"smiles": "CC(=O)NC1CCCC1C(=O)O"}'工作问题
问题: 作业挂起
# Check job directory
ls -la jobs/
# View job log
python src/server.py --tool get_job_log --args '{"job_id": "JOB_ID"}'问题: 任务失败
Use get_job_log with job_id "JOB_ID" and tail 100 to see error details
Check that input files exist and are properly formatted问题: 训练时失忆
# Reduce batch size in training
python scripts/train_multicycgt_model.py --batch_size 4 --epochs 10
# Or use smaller dataset
python scripts/train_multicycgt_model.py \
--input examples/data/sample_small.csv数据问题
问题: 未找到CSV文件
# Verify file exists
ls -la examples/data/sample_small.csv
# Check file format
head examples/data/sample_small.csv问题: 缺少SMILES列
Ensure your CSV file has a column named 'SMILES' with valid SMILES strings
Example format: CycPeptMPDB_ID,SMILES,PAMPA,...______________________________________________________________________
发展
运行测试
# Activate environment
mamba activate ./env
# Test individual scripts
python scripts/predict_membrane_permeability.py \
--input examples/data/sample_small.csv
# Test MCP server
python src/server.py --list-tools正在启动开发服务器
# Run MCP server in development mode
python src/mcp_server.py性能监控
| 操作 | 小数据集(19个肽) | 大数据集(3000多个肽) |
|---|---|---|
| 渗透率预测 | ~15秒 | ~20分钟 |
| 属性分析 | ~45秒 | ~5-15分钟 |
| 模型训练(10个周期) | ~30秒 | ~30-60分钟 |
______________________________________________________________________
许可证
基于 Multi_CycGT -基于DL的环肽膜通透性预测多模态模型
积分
- 原始模型:春花实验室Multi_CycGT
- 数据集:CycPeptMPDB(环肽膜通透性数据库)
- 建筑:图卷积网络+变压器
- MCP实施:克劳德代码兼容服务器
