CPMP-MCP
环肽膜通透性预测工具包-环肽计算分析的MCP工具
目录
概述
CPMP MCP提供了全面的计算工具,用于预测四种不同生物测定中环肽的膜通透性。该工具包使用分子注意力转换器(MAT)神经网络来分析环肽结构并预测其渗透特性,这对药物发现和开发工作流程非常有价值。
特性
- 多试验渗透率预测 (PAMPA、Caco-2、RRCK、MDCK)
- 分子性质计算 使用RDKit
- 数据预处理和特征化 用于机器学习
- 虚拟筛选的批处理 与作业管理
- 全面分析和可视化 能力
目录结构
./
├── README.md # This file
├── env/ # Conda environment
├── src/
│ └── server.py # MCP server (15 tools)
├── scripts/
│ ├── predict_all_assays.py # Multi-assay prediction
│ ├── predict_single_assay.py # Single assay analysis
│ ├── preprocess_data.py # Data preprocessing
│ ├── batch_analysis.py # Comprehensive analysis
│ └── lib/ # Shared utilities (23 functions)
├── examples/
│ └── data/ # Demo data
│ ├── sample_cyclic_peptides.csv # Sample SMILES with permeability
│ └── sequences/ # Assay-specific sample datasets
├── configs/ # Configuration files
│ ├── predict_all_assays_config.json
│ ├── predict_single_assay_config.json
│ ├── preprocess_data_config.json
│ ├── batch_analysis_config.json
│ └── default_config.json
└── repo/ # Original CPMP repository
└── CPMP/ # Core algorithms and pre-trained models______________________________________________________________________
安装
快速设置
运行自动安装脚本:
./quick_setup.sh这将创建环境并自动安装所有依赖项。
手动设置(高级)
对于手动安装或自定义,请执行以下步骤。
先决条件
- Conda或Mamba(建议使用曼巴以加快安装速度)
- Python 3.10+
- RDKit(自动安装)
- 8GB+RAM用于分子特征化
- GPU可选加速
创建环境
请遵循以下信息 reports/step3_environment.md 详细设置。下面显示了一个示例工作流。
# Navigate to the MCP directory
cd /path/to/cpmp_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 core scientific packages
mamba install -c conda-forge \
pandas=2.2.3 \
scikit-learn=1.6.1 \
matplotlib \
seaborn \
rdkit=2024.3.2 \
-y
# Install PyTorch
mamba install -c pytorch -c nvidia \
pytorch=2.5.1 \
pytorch-cuda=12.4 \
-y
# Install additional utilities
pip install numpy scipy
# Install MCP dependencies
pip install fastmcp loguru______________________________________________________________________
模型设置
CPMP工具包需要预先训练好的模型权重来进行预测。模型文件以原始存储库中的特定命名约定存储。
模型文件位置
- 来源:
repo/CPMP/saved_model/包含原始模型权重 - 符号链接:
repo/CPMP/model_checkpoints/包含脚本使用的符号链接
模型文件命名
原始CPMP存储库使用命名约定 {assay}.best_wegiht.pth (注意:拼写错误“wegiht”是故意的,来自原始存储库)。脚本期望文件位于 model_checkpoints/{assay}_uff_ig_true_final.pt.
预期文件
| 保存的模型 | Symlink |
|---|---|
saved_model/pampa.best_wegiht.pth | model_checkpoints/pampa_uff_ig_true_final.pt |
saved_model/caco2.best_wegiht.pth | model_checkpoints/caco2_uff_ig_true_final.pt |
saved_model/rrck.best_wegiht.pth | model_checkpoints/rrck_uff_ig_true_final.pt |
saved_model/mdck.best_wegiht.pth | model_checkpoints/mdck_uff_ig_true_final.pt |
手动创建Symlinks
如果 quick_setup.sh 脚本没有创建符号链接,您可以手动创建它们:
cd /path/to/cpmp_mcp
mkdir -p repo/CPMP/model_checkpoints
for assay in pampa caco2 rrck mdck; do
ln -sf "../saved_model/${assay}.best_wegiht.pth" \
"repo/CPMP/model_checkpoints/${assay}_uff_ig_true_final.pt"
done______________________________________________________________________
本地使用(脚本)
您可以在没有MCP的情况下直接使用脚本进行本地处理。
可用脚本
| 脚本 | 描述 | 示例 |
|---|---|---|
scripts/predict_all_assays.py | 预测所有4个测定的渗透率 | 见下文 |
scripts/predict_single_assay.py | 特定分析的重点分析 | 见下文 |
scripts/preprocess_data.py | 处理和拆分数据集进行训练 | 见下文 |
scripts/batch_analysis.py | 可视化综合分析 | 见下文 |
脚本示例
预测所有检测结果
# Activate environment
mamba activate ./env
# Run multi-assay prediction
python scripts/predict_all_assays.py \
--input examples/data/sample_cyclic_peptides.csv \
--output results/all_predictions.csv \
--device cpu参数:
--input, -i:输入带有“微笑”栏的CSV(必填)--output, -o:输出文件路径(可选)--device:计算设备-cpu或cuda(默认值:cpu)--batch-size:处理的批量大小(默认值:32)
单次分析
python scripts/predict_single_assay.py \
--assay caco2 \
--input examples/data/sample_cyclic_peptides.csv \
--with-labels \
--device cpu参数:
--assay:检测名称-pampa、caco2、rrck或mdck(必填)--input, -i:输入CSV文件(必填)--with-labels:包括二进制分类(默认值:True)--output, -o:输出文件路径(可选)
数据预处理
python scripts/preprocess_data.py \
--dataset examples/data/sample_cyclic_peptides.csv \
--output-dir results/preprocessing \
--skip-featurization参数:
--dataset:输入数据集CSV文件(必填)--output-dir:拆分输出目录(必填)--skip-featurization:跳过分子特征化以提高速度--train-size:训练分数(默认值:0.7)--val-size:验证分数(默认值:0.1)--test-size:测试分数(默认值:0.2)
综合分析
python scripts/batch_analysis.py \
--input examples/data/sample_cyclic_peptides.csv \
--output-dir results/analysis \
--calculate-properties \
--create-visualizations参数:
--input, -i:输入CSV文件(必填)--output-dir:分析输出目录(必填)--calculate-properties:计算分子特性--create-visualizations:生成分析图
______________________________________________________________________
MCP服务器安装
选项1:使用fastmcp(推荐)
# Install MCP server for Claude Code
fastmcp install src/server.py --name cycpep-tools选项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选项3:在settings.json中配置
增添 ~/.claude/settings.json:
{
"mcpServers": {
"cycpep-tools": {
"command": "/path/to/cpmp_mcp/env/bin/python",
"args": ["/path/to/cpmp_mcp/src/server.py"]
}
}
}______________________________________________________________________
使用Claude代码
安装MCP服务器后,您可以直接在Claude Code中使用它。
快速开始
# Start Claude Code
claude示例提示
工具发现
What tools are available from cycpep-tools?属性计算(快速)
Calculate molecular properties for this cyclic peptide:
CC(C)C[C@@H]1NC(=O)[C@@H](CC(C)C)NC(=O)[C@@H](CC(C)C)NC(=O)[C@H](Cc2ccc(O)cc2)NC(=O)[C@@H]2CCCN2C(=O)[C@@H](CC(C)C)NC1=O单次测定预测(快速)
Predict Caco-2 permeability for the cyclic peptides in @examples/data/sample_cyclic_peptides.csv所有分析预测(提交API)
Submit a job to predict permeability across all 4 assays for @examples/data/sample_cyclic_peptides.csv检查作业状态
Check the status of job abc12345批处理
Submit a comprehensive analysis job for @examples/data/sample_cyclic_peptides.csv with molecular properties and visualizations使用@引用
在克劳德代码中,使用 @ 引用文件和目录:
| 参考 | 说明 |
|---|---|
@examples/data/sample_cyclic_peptides.csv | 主样本数据集(19个分子) |
@examples/data/sequences/pampa_sample.csv | PAMPA特定样本 |
@configs/predict_all_assays_config.json | 多分析配置 |
@results/ | 分析输出目录 |
______________________________________________________________________
与Gemini CLI一起使用
配置
增添 ~/.gemini/settings.json:
{
"mcpServers": {
"cycpep-tools": {
"command": "/path/to/cpmp_mcp/env/bin/python",
"args": ["/path/to/cpmp_mcp/src/server.py"]
}
}
}示例提示
# Start Gemini CLI
gemini
# Example prompts (same as Claude Code)
> What tools are available?
> Validate cyclic peptide SMILES: "CC(=O)NC1CCCC1C(=O)O"
> Predict single assay permeability for caco2 assay______________________________________________________________________
可用工具
快速操作(同步API)
这些工具会立即返回结果(\10分钟或大型数据集):
| 工具 | 说明 | 参数 |
|---|---|---|
submit_preprocess_data | 背景预处理 | input_file, output_dir, job_name |
submit_single_assay_prediction | 背景单次测定 | assay, input_file, job_name |
submit_all_assays_prediction | 背景所有检测 | input_file, job_name |
submit_batch_analysis | 背景分析 | input_file, output_dir, job_name |
作业管理工具
| 工具 | 说明 |
|---|---|
get_job_status | 检查作业进度 |
get_job_result | 完成后获取结果 |
get_job_log | 查看执行日志 |
cancel_job | 取消正在运行的作业 |
list_jobs | 列出所有作业 |
实用工具
| 工具 | 说明 |
|---|---|
get_server_info | 服务器状态和功能 |
______________________________________________________________________
例子
示例1:快速验证和属性计算
目标: 验证并计算单个环肽的性质
使用脚本:
python scripts/predict_all_assays.py \
--input examples/data/sample_cyclic_peptides.csv \
--output results/properties.csv使用MCP(克劳德代码):
First validate this SMILES: "CC(C)C[C@@H]1NC(=O)[C@@H](CC(C)C)NC(=O)[C@@H](CC(C)C)NC(=O)[C@H](Cc2ccc(O)cc2)NC(=O)[C@@H]2CCCN2C(=O)[C@@H](CC(C)C)NC1=O"
Then predict all assay permeabilities for it.预期产量:
- SMILES验证:有效的环肽
- PAMPA:-5.85 log cm/s(可渗透)
- Caco-2:-5.69 log cm/s(可渗透)
- RRCK:-5.77 log cm/s(可渗透)
- MDCK:6.25 log cm/s(边界线)
示例2:单次分析重点分析
目标: 用于肠道吸收预测的详细Caco-2分析
使用脚本:
python scripts/predict_single_assay.py \
--assay caco2 \
--input examples/data/sample_cyclic_peptides.csv \
--with-labels \
--output results/caco2_analysis.csv使用MCP(克劳德代码):
Analyze @examples/data/sample_cyclic_peptides.csv for Caco-2 permeability.
Include binary classification and provide detailed metrics.预期产量:
- 连续渗透率值(log cm/s)
- 二元分类(可渗透/不可渗透)
- 分类的概率分数
- 模型性能指标(如果地面实况可用)
示例3:大数据集虚拟筛选流程
目标: 筛选口服生物利用度环肽库
使用MCP(克劳德代码):
I want to process @examples/data/sample_cyclic_peptides.csv through a complete screening pipeline:
1. First preprocess the data with 70/10/20 train/val/test splits
2. Submit comprehensive analysis with molecular properties and visualizations
3. Predict permeability across all 4 assays
4. Check jobs and show results when complete预期工作流程:
- 数据预处理:保存训练/验证/测试分割
- 分子性质:分子量、LogP、TPSA、HBD、HBA计算
- 可视化:相关热图、分布图
- 所有分析预测:PAMPA、Caco-2、RRCK、MDCK结果
- 分析报告:统计摘要和建议
______________________________________________________________________
演示数据
这 examples/data/ 目录包含用于测试的示例数据:
| 文件 | 描述 | 与一起使用 |
|---|---|---|
sample_cyclic_peptides.csv | 主数据集(19个分子) | 所有预测工具 |
sequences/pampa_sample.csv | PAMPA特定样本 | 单一分析工具 |
sequences/mdck_sample.csv | MDCK特异性样本 | 单一分析工具 |
sequences/rrck_sample.csv | RRCK特定样本 | 单一分析工具 |
示例数据属性
- 分子量范围:400-1200克/摩尔
- 渗透性范围:-7.5至-4.5对数厘米/秒
- 戒指尺寸:6-12个氨基酸
- 化学多样性:各种侧链和改装
______________________________________________________________________
配置文件
这 configs/ 目录包含配置模板:
| 配置 | 描述 | 参数 |
|---|---|---|
predict_all_assays_config.json | 多分析预测 | 设备、批量大小、模型路径 |
predict_single_assay_config.json | 单次化验分析 | 化验设置、阈值 |
preprocess_data_config.json | 数据预处理 | 分割比率、过滤标准 |
batch_analysis_config.json | 综合分析 | 属性列表、可视化设置 |
default_config.json | 全局默认值 | 路径、分子属性 |
配置示例
{
"device": "cpu",
"batch_size": 32,
"assays": {
"caco2": {
"name": "Caco-2",
"full_name": "Human colon adenocarcinoma cell line",
"threshold": -6.0,
"model_path": "model_checkpoints/caco2_uff_ig_true_final.pt"
}
},
"molecular_properties": [
"molecular_weight", "logp", "tpsa", "hbd", "hba",
"rotatable_bonds", "aromatic_rings"
]
}______________________________________________________________________
故障排除
环境问题
问题: 未找到环境
# Recreate environment
mamba create -p ./env python=3.10 -y
mamba activate ./env
pip install fastmcp loguru
mamba install -c conda-forge rdkit=2024.3.2 -y问题: RDKit导入错误
# Install RDKit from conda-forge (not pip)
mamba install -c conda-forge rdkit -y
# Verify installation
python -c "from rdkit import Chem; print('RDKit version:', Chem.__version__)"问题: 导入错误
# Verify CPMP modules
cd /path/to/cpmp_mcp
python -c "
import sys
sys.path.append('repo/CPMP')
from featurization.data_utils import load_data_from_df
print('CPMP modules working')
"MCP问题
问题: 在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问题: 无效的SMILES错误
Always validate SMILES first using validate_cyclic_peptide_smiles.
For cyclic peptides, ensure ring closure is properly specified.
Example valid: "CC(C)C[C@@H]1NC(=O)...NC1=O"问题: 工具不工作
# Test server directly
mamba activate ./env
python -c "
from src.server import mcp
from src.jobs.manager import job_manager
print('Server modules loaded successfully')
"工作问题
问题: 作业挂起
# Check job directory
ls -la jobs/
# View job log
tail -20 jobs//job.log问题: 由于缺少模型,作业失败
Download pre-trained model weights and place in repo/CPMP/saved_model/
Required: pampa.best_wegiht.pth, caco2.best_wegiht.pth, etc.问题: 找不到模型检查点(缺少符号链接)
# Recreate model symlinks
cd /path/to/cpmp_mcp
mkdir -p repo/CPMP/model_checkpoints
for assay in pampa caco2 rrck mdck; do
if [ -f "repo/CPMP/saved_model/${assay}.best_wegiht.pth" ]; then
ln -sf "../saved_model/${assay}.best_wegiht.pth" \
"repo/CPMP/model_checkpoints/${assay}_uff_ig_true_final.pt"
echo "Created symlink for $assay"
else
echo "WARNING: Model file for $assay not found"
fi
done问题: 功能化过程中内存不足
# Use smaller batch size
python scripts/predict_all_assays.py --batch-size 16
# Use CPU instead of GPU
python scripts/predict_all_assays.py --device cpu
# Process smaller datasets (<100 molecules)性能问题
问题: 预测时间缓慢
# Use GPU if available
python scripts/predict_all_assays.py --device cuda
# Increase batch size for throughput
python scripts/predict_all_assays.py --batch-size 64
# Skip featurization for preprocessing-only
python scripts/preprocess_data.py --skip-featurization______________________________________________________________________
发展
运行测试
# Activate environment
mamba activate ./env
# Test individual scripts
python scripts/predict_all_assays.py --help
python scripts/preprocess_data.py --help
# Test MCP server
fastmcp dev src/server.py正在启动开发服务器
# Run MCP server in dev mode
mamba activate ./env
fastmcp dev src/server.py
# Or with explicit environment
mamba run --prefix ./env fastmcp dev src/server.py性能基准
| 操作 | 数据集大小 | CPU时间 | GPU时间 | 内存 |
|---|---|---|---|---|
| 验证 | 100个微笑 | 5秒 | N/A | 100MB |
| 预处理 | 100个分子 | 15分钟 | N/A | 1GB |
| 单次测定 | 100个分子 | 8分钟 | 3分钟 | 2GB |
| 所有检测 | 100个分子 | 25分钟 | 10分钟 | 4GB |
| 批量分析 | 100个分子 | 12分钟 | 5分钟 | 3GB |
______________________________________________________________________
许可证
MIT许可证-有关详细信息,请参阅原始CPMP存储库
学分
基于 环肽膜通透性 -用于环肽渗透性预测的分子注意力转换器
______________________________________________________________________
*🧬 生成于 克劳德代码 -高级环肽分析工具包*
