蛋白质膜接触概率模拟工具

提供基于MATLAB和Python的MCP-ANM(膜接触概率各向异性网络模型)和MCP-mANM(多尺度膜接触概率各向异性网络模型)模拟,以及蛋白质响应扫描(PRS)功能,用于研究膜张力或推拉力对蛋白质的影响。

  • by ComputBiophys
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 ComputBiophys/MCP-ANM

使用说明

MCP-ANM和PRS仿真

该存储库包含MATLAB和Python脚本,用于执行MCP-ANM(膜接触概率各向异性网络模型)和MCP-mANM(膜接触几率多尺度各向异性网络模式)模拟,以及用于对蛋白质施加膜张力或推/拉力的蛋白质响应扫描(PRS)。该工作流程从PDB文件和相关的MCP(膜接触概率)数据中生成一系列拉伸构象。

概述

该管道由以下步骤组成:

  1. PDB文件准备

    • 下载并定位蛋白质结构(例如,从OPM数据库),确保与膜对齐(Z轴法线)。
  2. MCP文件生成

    • 使用MCP预测器生成 .csv 包含每个残留物的膜接触概率的文件。
  3. MCP-ANM和MCP-mANM仿真

    • MATLAB:运行 mcpANM.m 或 mcpmANM.m 计算Hessian矩阵,并使用PDB和MCP文件对正常模式进行本征分解。
    • python:使用 mcpANM.py 或 mcpmANM.py 出于同样的目的。
  4. 力方向计算

    • Python脚本(force_direction.py)计算每个残差的张力矢量,另存为 *_normals.txt,用于膜张力模拟。
  5. 通过PRS调节膜张力

    • MATLAB:脚本 mcpmANM_PRS_tension_model.m 对膜接触残留物施加平面内力,在不同的张力水平下产生构象。
    • python:脚本 mcpmANM_PRS_tension_model.py 执行相同的任务。
  6. 推/拉力模拟

    • MATLAB:脚本 mcpmANM_PRS_tether_model.m 对特定残留物施加固定力(例如,F=(0,0,1))以进行推/拉研究。
    • python:脚本 mcpmANM_PRS_tether_model.py 提供同等功能。

文件描述

文件 描述
6pwn.pdb 机械敏感通道MscS的示例PDB文件(PDB ID:6pwn)。
6pwn.mcp MCP预测器为6pwn结构生成的MCP文件示例。;此文件是通过从6pwn.csv中提取MCP数据得到的,在实践中可以直接使用6pwn.csv省略
6pwn.csv MCP预测器为6pwn结构生成的MCP文件示例。
6pwn_normals.txt 每个残基的张力矢量示例文件,由下式生成 force_direction.py.

MATLAB文件

文件 描述
pdbread.m 读取PDB文件,提取Cα坐标、残差名称、B因子和链数。
MCP_read.m 读取MCP(膜接触概率)文件(支持.MCP和.csv格式),过滤并返回MCP值超过指定阈值的残留物索引。
calculateHessian.m 计算用于ANM计算的Hessian矩阵。
calculateHessian_kernal.m 计算用于mANM计算的Hessian矩阵。
filewrite.m 使用正确的链分配写入输出PDB文件。
mcpANM.m MCP-ANM模拟的主脚本。
mcpmANM.m MCP mANM模拟的主脚本。
mcpmANM_PRS_tension_model.m 使用PRS和MCP mANM施加膜张力。
mcpmANM_PRS_tether_model.m 使用固定力用MCP mANM模拟推/拉力。

Python文件

文件 描述
mcpANM.py MCP-ANM模拟的主脚本。
mcpmANM.py MCP mANM模拟的主脚本。
mcpmANM_PRS_tension_model.py 使用PRS和MCP mANM施加膜张力。
mcpmANM_PRS_tether_model.py 使用固定力用MCP mANM模拟推/拉力。
force_direction.py 计算力方向矢量(张力矢量)。

MCP预测器

可访问:[MCP Predictor GitHub](https://github.com/ComputBiophys/MCP_Predictor,更新模型:https://github.com/ComputBiophys/ProtRAP-LM )

使用说明

设置环境

  • MATLAB:需要MATLAB R2018b或更高版本。
  • python:需要安装了NumPy、SciPy和Matplotlib的Python 3.x。

生成MCP文件

使用MCP预测器创建 .csv 把你的蛋白质归档。

运行模拟

  1. 打开 mcpANM.m 或 mcpmANM.m, mcpANM.py 或 mcpmANM.py,设置PDB和MCP文件名,并运行MCP-ANM/MCP mANM。
  2. 跑 force_direction.py (在Python中)生成 *_normals.txt.
  3. 跑 mcpmANM_PRS_tension_model.m 或 mcpmANM_PRS_tension_model.py 用于膜张力模拟。
  4. 推/拉模拟:运行 mcpmANM_PRS_tether_model.m 或 mcpmANM_PRS_tether_model.py 向特定区域施加固定力(例如,F=(0,0,1))。

许可证和引用

此代码用于学术研究。使用时请引用相关出版物。

韩忠杰,王磊,陈松。膜蛋白动力学和机械敏感离子通道的改进各向异性网络模型。DOI:https://doi.org/10.1103/xc5f-xr7n.

联系

如需帮助,请联系韩忠杰,电话: zjayhan@pku.edu.cn.