news 2026/9/10 23:04:36

EnsembleCycPerm: 用“构象系综“读懂环肽穿膜——本地部署+实战评测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
EnsembleCycPerm: 用“构象系综“读懂环肽穿膜——本地部署+实战评测

欢迎关注我的博客:Blockbuster-drug 的CSDN 博客主页

专栏推荐:多肽性质预测系列 蛋白结构预测 蛋白生成多肽设计

环肽设计最大的痛:明明靶点亲和力很漂亮,一测细胞活性——进不去。

这不是你的分子"不够好",而是传统的单构象预测方法,本质上看了一张证件照就去判断一个人的运动能力

2026年7月发表于JCIMDEnsembleCycPerm,用"水相+氯仿两相构象系综"来模拟环肽的分子变色龙效应——让AI同时读取环肽在水里和在膜里的构象变化,从而更准确地预测膜渗透性。

论文: Wen S, Wang Y, Qian Y. EnsembleCycPerm: Interpretable Modeling of Cyclic Peptide Permeability through Solvent-Dependent Conformational Ensembles.J. Chem. Inf. Model.2026, 66, 8123. doi:10.1021/acs.jcim.6c01213

GitHub: GitHub - wsicheng739/EnsembleCycPerm: EnsembleCycPerm is a model for predicting cyclic peptide permeability · GitHub(CC BY-NC 4.0)


一、环肽为什么"难穿膜"?从单构象到构象系综

1.1 直觉盲区:成环 ≠ 固定

很多人对环肽有一个直觉误区:都已经成环了,结构应该比较固定,那找一个最低能量构象、算一下它的极性表面积和疏水性,不就能判断通透性了吗?

真相恰恰相反——同一条环肽在水里和靠近细胞膜时,可能采取完全不同的构象

  • 水相中:暴露极性基团,维持溶解
  • 膜环境中:分子内形成氢键,把极性表面"藏"起来

这就是环肽领域所说的"分子变色龙效应"(molecular chameleon)。环孢素A是经典范例:它并不是依赖一个固定构象穿膜,而是能访问多种开放、半开放和闭合状态,随环境重新调整构象分布。

1.2 核心洞察:ΔPSA3D 比绝对值重要

EnsembleCycPerm 最核心的发现是:

决定环肽能否穿膜的关键,不是 PSA3D 的绝对值,而是它在水→氯仿环境变化中 PSA3D 的改变量(ΔPSA3D)——即分子在不同环境中"收起极性"的能力。

通过 SHAP 分析,研究者发现ΔPSA3D(水相 3D PSA − 氯仿 3D PSA)是对预测贡献最大的单个特征。模型不是简单地"喜欢低 PSA",而是在评估一条环肽是否具备极性屏蔽的动态能力


二、模型架构:三股信息流融合

EnsembleCycPerm 不是端到端的单一模型,而是多条支路融合

┌─────────────────────┐ │ 环肽序列 (token) │──→ Transformer (循环不变编码) └─────────────────────┘ │ ┌─────────────────────┐ │ │ 5个水相构象 (3D) │──→ GNN encoder ──┤ │ 5个氯仿构象 (3D) │──→ GNN encoder ──┤──→ MLP ──→ PAMPA logP └─────────────────────┘ │ │ ┌─────────────────────┐ │ │ 19个2D描述符 │───────┘ │ + 两相Δ特征 │ └─────────────────────┘

三个关键设计:

  1. 循环不变 Transformer:环肽是头尾相连的,ABCDEFDEFABC对同一个环应等价。模型通过汇总不同循环排列来解决。

  2. 带"温度参数"的构象加权 GNN:每条环肽在每种溶剂中有5个代表性构象(开放→中间→闭合),模型不是简单取平均,而是学习可训练的温度参数来决定各构象的重要性。

  3. Δ描述符:ΔPSA3D、ΔRg、ΔIMHB、ΔSASA——这些"跨环境变化量"捕获了分子变色龙效应的核心物理。


三、性能一览

3.1 独立测试集(PAMPA,n=675)

指标
RMSE0.398
MAE0.290
Pearson R0.845
Spearman R0.822
0.702

3.2 统一基线对比(同数据集+同划分)

模型RMSEMAEPearson R
SVM0.470.340.770.59
MLP0.520.370.720.49
CPMP0.460.340.780.60
MSF-CPMP0.610.460.580.26
MultiCycPermea0.520.390.730.48
EnsembleCycPerm0.400.290.840.70

3.3 Scaffold 划分(更严格)

指标
MAE0.341
Pearson R0.676

虽然没有随机划分那么亮眼,但 scaffold split 下 R > 0.65 在环肽领域属于相当稳健的水平。

3.4 迁移学习到其他 ADMET 任务

冻结编码器,只训练预测头:

任务Pearson R
Caco-20.85 ± 0.02
RRCK0.81 ± 0.02
MDCK0.81 ± 0.07
水溶解度0.66 ± 0.07

Caco-2 保持了高相关性,说明模型学到的不只是 PAMPA 数据中的疏水规律,而是跨任务的环肽构象特征

3.5 最有实际价值的指标:单残基替换 ΔPAMPA

对于只差一个氨基酸的类似物对(|ΔPAMPA| ≥ 0.3),模型能做到:

  • 84.0%的变化方向一致率
  • Pearson Δ = 0.790
  • Spearman Δ = 0.766

在全数据集中(2,643 对单残基类似物,训练+测试),方向一致率达到90.9%

这比绝对数值预测更有价值:在 lead optimization 阶段,你最关心的往往不是"这个分子的 logP 到底是多少",而是**"把 Bn-Gly 换成 Et-Phe,通透性能不能提高?"**。


四、本地部署

4.1 硬件要求

  • 操作系统:Linux(model.so编译平台)
  • 内存:≥8 GB(加载图缓存 ~300MB)
  • GPU:可选(CPU 推理也够快)

4.2 克隆仓库

git clone https://github.com/wsicheng739/EnsembleCycPerm.git cd EnsembleCycPerm

仓库大小约 183MB(含 41MBcache.tar.gz),clone 后先解压:

tar -xzvf cache.tar.gz -C .

解压后生成:

  • cache/graph_extreme5/— 675 个预计算图文件(.pt)
  • cache/data/peptide_features_model_aligned.csv— 特征表

4.3 创建 Conda 环境

# 创建 Python 3.11 环境 conda create -n admet_infer python=3.11 -y

这一步很快,几十秒搞定,生成一个干净的 Python 3.11 环境。不要被Channel "nvidia"的 warning 吓到——那是 nvidia 频道即将迁移的提示,不影响使用。

Executing transaction: done # # To activate this environment, use # $ conda activate admet_infer # # To deactivate an active environment, use # $ conda deactivate

4.4 安装依赖包(含踩坑实录)

# 用清华镜像加速(教育网/国内必加,否则 PyTorch 下载很慢) conda activate admet_infer pip install torch numpy pandas scikit-learn tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple

下载内容一览(~1.1 GB,耗时约 8 分钟 @ 1.8 MB/s):

包名大小说明
torch-2.13.0526.6 MBPyTorch 主包
nvidia-cudnn-cu13366.2 MBcuDNN 深度神经网络加速
nvidia-cusparselt-cu13170.1 MBcuSPARSELt 稀疏矩阵
cuda-bindings-13.3.16.7 MBCUDA Python 绑定
pandas-3.0.511.3 MB数据处理
scikit-learn-1.9.09.3 MB评估指标
scipy-1.17.135.3 MB科学计算
sympy-1.14.06.3 MB符号数学(torch 依赖)
其他小包~10 MBnetworkx, joblib, tqdm 等

⏱ 实际耗时:清华镜像 ~8 分钟。如果不加镜像直接用 pypi.org,torch 的小水管下载可能跑 20+ 分钟。

安装完成后的输出(截取关键行):

Successfully installed cuda-bindings-13.3.1 cuda-pathfinder-1.6.0 cuda-toolkit-13.0.3.0 joblib-1.5.3 mpmath-1.3.0 narwhals-2.24.0 networkx-3.6.1 nvidia-cublas-13.1.1.3 nvidia-cuda-cupti-13.0.85 nvidia-cuda-nvrtc-13.0.88 nvidia-cuda-runtime-13.0.96 nvidia-cudnn-cu13-9.20.0.48 nvidia-cufft-12.0.0.61 nvidia-cufile-1.15.1.6 nvidia-curand-10.4.0.35 nvidia-cusolver-12.0.4.66 nvidia-cusparse-12.6.3.3 nvidia-cusparselt-cu13-0.8.1 nvidia-nccl-cu13-2.29.7 nvidia-nvjitlink-13.3.33 nvidia-nvshmem-cu13-3.4.5 nvidia-nvtx-13.0.85 pandas-3.0.5 scikit-learn-1.9.0 scipy-1.17.1 sympy-1.14.0 threadpoolctl-3.6.0 torch-2.13.0 triton-3.7.1

⚠️ 重要踩坑 #1:如果pip install输出Requirement already satisfied: numpy in ./.hermes/...——这说明 numpy/pandas 被装到了系统其他 Python 路径而非 conda 环境!实测在 Hermes Desktop 终端里,pip默认会受PYTHONPATH影响。修复方法:用 conda 环境的绝对路径 pip 安装:

pip install --force-reinstall \ numpy pandas scikit-learn tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple

⚠️ 重要踩坑 #2:运行时报ModuleNotFoundError: No module named 'typing_extensions'。PyTorch 依赖typing-extensions,但它也被装到了别的路径。修复

pip install typing-extensions \ -i https://pypi.tuna.tsinghua.edu.cn/simple

4.5 验证 GPU 可用性

$ python -c \ "import torch; print('torch', torch.__version__); print('CUDA:', torch.cuda.is_available())" torch 2.13.0+cu130 CUDA available: True

本机配置:RTX 3060 12GB + CUDA 12.4 + PyTorch 2.13 (cu130)。PyTorch 2.13 的 cu130 在 CUDA 12.4 驱动上可以正常工作(向前兼容)。

如果输出CUDA: False,说明你的 PyTorch 装的是 CPU 版。重新装 CUDA 版:

pip uninstall torch -y pip install torch --index-url https://download.pytorch.org/whl/cu130

4.6 验证安装——跑测试

cd ~/EnsembleCycPerm/ # 注意在仓库根目录运行(脚本里用相对路径读配置文件) python best_model_test.py

⚠️ 踩坑 #3:必须cd到仓库根目录。best_model_test.pyPath("./dataset/...")这种相对路径读取数据,如果在其他目录跑会报FileNotFoundError

4.7 关键文件说明

文件大小说明
model/model.so288 KB编译后的 PyTorch 模型(保护 IP,不可读源码)
model/__init__.py88 B接口暴露:Model, EnsembleDataset, collate 等
checkpoints/best_model_random.pt3.4 MB随机划分最佳模型权重
checkpoints/best_model_*.pt(×10)3.4 MB10 折交叉验证各折权重
model_settings.json7.4 KB模型配置+标准化统计量+单体词典
dataset/CycPeptMPDB_Peptide_All.csv19 MB环肽序列+元数据
dataset/CycPeptMPDB_Monomer_All.csv913 KB单体(氨基酸)词典
dataset/final_training/训练/验证/测试集划分
cache.tar.gz41 MB预计算构象图(需解压)

五、实战体验

5.1 单模型推理(GPU 实测)

$ cd ~/EnsembleCycPerm/ $ python best_model_test.py

实际输出(12GB GPU, PyTorch 2.13+cu130, ~3 秒完成):

best_model_test.py:60: UserWarning: enable_nested_tensor is True, but self.use_nested_tensor is False because encoder_layer.norm_first was True ---------------------------------------------------------------------- Using cuda ---------------------------------------------------------------------- === TEST EVALUATION === [LOAD] checkpoints/best_model_random.pt ========== TEST RESULTS ========== n = 675 RMSE = 0.3976 MAE = 0.2898 R = 0.8448 R² = 0.7016

那个UserWarning可以忽略——是 PyTorch 2.13 对norm_first=True时的嵌套张量兼容性提示,不影响推理结果。实测 GPU 推理 675 个分子 ~3 秒;CPU 约 30 秒。都很快

5.2 10 折交叉验证(CV)

交叉验证(Cross Validation)是把数据集分成 10 等份,每次拿 9 份训练、1 份测试,轮换 10 遍取平均。目的:防止"运气好"的单次划分误导结论。10 折标准差越小 = 模型越稳健。

$ python cv_ensemble_test.py

实际输出(10 个 fold 逐一加载权重,~30 秒完成):

Using cuda [LOAD] checkpoints/best_model_random_fold_01.pt [Fold 1] RMSE=0.4120 MAE=0.3020 R=0.8317 R2=0.6797 [Fold 2] RMSE=0.4101 MAE=0.2946 R=0.8318 R2=0.6827 [Fold 3] RMSE=0.4076 MAE=0.2958 R=0.8304 R2=0.6865 [Fold 4] RMSE=0.4082 MAE=0.2980 R=0.8301 R2=0.6855 [Fold 5] RMSE=0.3942 MAE=0.2831 R=0.8469 R2=0.7067 [Fold 6] RMSE=0.4058 MAE=0.2925 R=0.8379 R2=0.6892 [Fold 7] RMSE=0.3881 MAE=0.2888 R=0.8486 R2=0.7157 [Fold 8] RMSE=0.4005 MAE=0.2925 R=0.8433 R2=0.6973 [Fold 9] RMSE=0.4070 MAE=0.2940 R=0.8337 R2=0.6874 [Fold 10] RMSE=0.3936 MAE=0.2901 R=0.8423 R2=0.7077 ========== CROSS-FOLD MEAN ± STD ========== RMSE: 0.4027 ± 0.0077 MAE: 0.2931 ± 0.0049 R: 0.8377 ± 0.0068 R²: 0.6938 ± 0.0117

10 折标准差极小(RMSE±0.008, R±0.007),说明模型对不同数据划分非常稳定——不是靠某一折的"好运气"。

Fold 7 最好(R=0.849)、Fold 3 最差(R=0.830),差异仅 0.018——这意味着无论怎么划数据集,模型预测水平高度一致。

5.3 模型需要什么输入?

model/__init__.py接口可以看到,模型接受:

  • 序列 tokens:环肽单体序列 → token 化 → 特征矩阵
  • 构象图:预计算的 GNN 图文件(水相 5 个 + 氯仿 5 个)
  • 全局特征:19 个分子描述符 + 标准化统计量

直接预测新环肽需要先跑data_preprocess/脚本生成构象图(需 RDKit + xTB),这部分不在推理管线中。作者提供的数据预处理脚本是开源参考,但需要额外的量子化学依赖

5.4 能直接拿来做新分子预测吗?

坦白说——不能开箱即用

模型推理是即插即跑的,但要给全新的环肽序列打分,你需要:

  1. 生成 3D 构象:RDKit ETKDGv3 → 聚类 → 选代表
  2. 双相优化:水/氯仿 GFN2-xTB + ALPB 隐式溶剂
  3. 提取特征:PSA3D、Rg、IMHB、SASA 在两相中的值
  4. 构建图:按cache/graph_extreme5/中的格式保存为.pt文件
  5. 注册单体:如果是非天然氨基酸,需要在model_settings.jsonsymbols列表中存在

这些步骤在data_preprocess/中有脚本参考(resample_per_peptide.py等),但需要安装 RDKit、xTB 等重依赖。

实用建议:如果要批量评估 >100 条环肽,值得搭预处理流水线。如果只是评估 3-5 条,建议直接参考论文中的特征趋势(ΔPSA3D、IMHB 等)做经验判断。


六、模型亮点与局限

✅ 亮点

亮点说明
构象系综建模不是单构象,而是水/氯仿两相 5 个代表性构象
物理可解释ΔPSA3D 是 top feature,与"分子变色龙"概念一致
单残基替换敏感84% 方向一致率,可用于 lead optimization
跨任务迁移冻结 backbone→Caco-2/MDCK/RRCK 表现不俗
10-fold CV 稳健SD 在 0.01 以内

❌ 局限

局限说明
model.so 黑盒网络架构不可查看/修改,学术复现有障碍
新分子预测需预处理需要 RDKit + xTB 生成构象系综,门槛较高
仅限非商业用途CC BY-NC 4.0 许可
氯仿 ≠ 膜隐式溶剂 GFN2-xTB/ALBP 近似真实膜环境,非显式溶剂
酰胺顺反异构RDKit + 半经验方法无法充分处理高能垒异构化
桥联水未显式建模水分子介导的膜相互作用

七、与其他方法的定位

方法适用阶段优势劣势
EnsembleCycPerm大规模虚拟筛选 → lead opt可解释性好、单残基替换敏感需预处理构象
物理 MD (AMBER/GROMACS)关键分子验证第一性原理、可算 PMF单分子需数天
传统 QSPR (SVM/MLP)快速粗筛精度不足、无构象信息
纯序列模型 (HELM-BERT)序列→性质直推无需 3D丢失构象变色龙效应

推荐工作流:EnsembleCycPerm 筛出 Top-N → 增强采样 MD (如 GaMD/REMD) 验证 → 合成+实验。


总结

EnsembleCycPerm 的核心贡献不是"又来了一个 R²=0.7 的模型",而是把环肽穿膜预测从"一张静态结构图"升级到"理解溶剂依赖的构象系综"

通透性不是某个静态结构天然携带的标签,而是序列、局部修饰、构象集合、溶剂响应和极性屏蔽共同产生的结果。

对于做环肽设计的同学——如果你正在纠结"要换哪个氨基酸来提高口服利用度",这个模型值得在筛选流程中占一个位置,尤其是它的ΔPAMPA 方向预测对 lead optimization 有直接指导价值。


参考资料

  1. Wen S, Wang Y, Qian Y.J. Chem. Inf. Model.2026, 66, 8123. doi:10.1021/acs.jcim.6c01213
  2. Li J, Yanagisawa K, et al. CycPeptMPDB.J. Chem. Inf. Model.2023, 63(7), 2240-2250.
  3. GitHub: GitHub - wsicheng739/EnsembleCycPerm: EnsembleCycPerm is a model for predicting cyclic peptide permeability · GitHub

关键词

环肽;膜渗透性;构象系综;分子变色龙效应;ΔPSA3D;PAMPA;GNN;Transformer;ADMET;本地部署

欢迎关注我的博客:Blockbuster-drug 的CSDN 博客主页

专栏推荐:多肽性质预测系列 蛋白结构预测 蛋白生成多肽设计

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 23:04:14

STM32F103鱼缸控制器实战:传感器闭环与Keil环境搭建

简介:本资源是一个基于STM32的智能鱼缸嵌入式项目源码包,面向嵌入式初学者与课程设计实践者,聚焦环境参数监测(如水温、水位)、自动增氧、LED照明调控等典型物联网控制场景,助力理解MCU外设驱动、传感器数据…

作者头像 李华
网站建设 2026/9/10 23:03:27

小红书爆款笔记自动化采集技术解析与应用

1. 为什么需要自动化采集小红书爆款笔记? 在内容运营和电商选品领域,小红书爆款笔记的价值不言而喻。传统人工采集方式存在三个致命缺陷: 首先,效率瓶颈明显。人工浏览复制粘贴的方式,每小时最多处理20-30条笔记&…

作者头像 李华
网站建设 2026/9/10 23:03:01

微服务架构中的SSRF攻击与防御实战指南

1. 微服务架构下的SSRF风险全景图在分布式系统成为主流的今天,微服务架构通过服务解耦带来了灵活性,却也打开了新的攻击面。去年某电商平台就因SSRF漏洞导致千万级用户数据泄露——攻击者利用未校验的内部API调用,逐步渗透进订单和支付系统。…

作者头像 李华
网站建设 2026/9/10 23:00:55

牛皮癣整改通知之后:批量换图重传的48小时

牛皮癣整改通知之后:批量换图重传的48小时 一个收到整改通知的卖家: 「早上打开千牛,一条通知:您的XX款商品主图存在牛皮癣,请于48小时内整改。我一看,好家伙,两百多个链接的主图都带促销文字。…

作者头像 李华
网站建设 2026/9/10 23:00:14

Comsol6.0锂电池风冷换热建模与热管理优化实践

1. 项目概述:风冷换热锂电池的Comsol6.0建模实践在锂电池热管理领域,风冷换热技术因其结构简单、成本低廉的优势,始终占据着重要的工程应用地位。这个项目通过Comsol Multiphysics 6.0平台,构建了一套完整的锂电池风冷换热仿真模型…

作者头像 李华
网站建设 2026/9/10 23:00:06

ArcGISPro安装指南:从获取到优化配置

1. ArcGISPro安装包获取与版本选择指南作为地理信息系统领域的专业软件,ArcGISPro的安装包获取是使用前的首要步骤。目前官方提供两种主要获取渠道:Esri官网订阅用户专区和授权经销商。订阅用户登录Esri账户后,在"My Esri"页面可以…

作者头像 李华