ProDy使用
ProDy(Protein Dynamics & Sequence Analysis)是美国匹兹堡大学Bahar实验室开发的一款免费的基于Python语言的软件包,网址为http://prody.csb.pitt.edu/index.html,它的功能主要分为两大部分:结构分析和动力学分析。在结构分析中,ProDy程序具有快速灵活的PDB和DCD文件分析器,以及个性化的接触原子的选择和结构的比较功能。而在动力学分析主要包含主成分分析和正则模分析。另外,ProDy也是一个开源的软件,用户可以根据自己的需要在各个方面对软件代码进行修改,并且ProDy的许多功能都会与VMD,NAMD等软件交互使用,这大大提升了用户在使用过程中的个性化需求。
ProDy的主要功能
ProDy与VMD和NAMD联合使用可以实现很多功能,主要有:
- Normal Mode Wizard (NMWiz):是VMD的一款插件,可以实现对正则模型的描述、图像化和比较分析等。而正则模型可以来自对结构的主成分分析、模拟轨迹的动力学分析或者对蛋白质的正则模分析,并且NMWiz可以用来描述任何一个与分子运动相关的向量;
- Evol:可以得到蛋白质在Pfarm数据库中的多序列比对的信息,并获得保守以及共进化的氨基酸残基;
- Druggability Suite:是一款基于VMD的插件,可以通过类药性的模拟得到蛋白质表面的类药性的口袋信息;
- Elastic Network Models:主要是应用高斯网络模型和各向异性网络模型分析蛋白质的运动;
- Ensemble Analysis:可以分析实验测得的结构复杂的蛋白质结构,并推测其动力学性质;
- Structure Analysis:可以进行对蛋白质空间结构的比较和叠合,并确认结构中配体的接触残基的信息;
- Trajectory Analysis:可以对MD模拟的轨迹进行逐帧动画的深入分析,尤其是较长的轨迹或在个人电脑上无法分析的动力学轨迹;
- Conformational Sampling:通过对ANM进行采样来代替蛋白质的构象,并用NAMD进行分子动力学优化,这对于基于柔性的活性位点的分子对接具有重要的意义;
- Collective Molecular Dynamics Simulations (coMD):是基于VMD的插件,采用多尺度混合方法获得异象体之间的过渡态;
- Membrane ANM (membrANM):通过ANM对膜蛋白和磷脂双分子层的分子动力学研究;
- Stiffness Matrix Calculations:可以计算特定蛋白质的氨基酸残基的空间构象变化。
ProDy的安装使用及基本命令
一、Anaconda的安装
Anaconda是一个和canopy类似的科学计算环境,是一个用于科学计算的Python发行版,支持Linux, Mac和Windows,包含了众多流行的科学计算,数据分析的Python包,它包含了大多数Python相关的程序,下载地址为https://www.continuum.io/downloads。ProDy的相关程序及命令均需要在Python的环境下进行,因此Anaconda可以为ProDy提供一个完整的计算环境。
二、ProDy的安装
ProDy的下载地址为https://pypi.python.org/pypi/ProDy/1.8.2,安装过程简单,在此便不赘述。
三、ProDy的基本命令
启动Prody需要在DOS环境下进行,在Windows下按Win+R键,输入cmd命令,再输入ipython即可进入ipython(如图1,这是一个python的交互式shell,支持变量自动补全,自动缩进,内置了许多有用的功能和函数。
图1 Windows下的ipython界面
ProDy的基本命令主要包含5个部分,分别是文件解析,分析功能,绘图功能,蛋白结构和原子组分析。
- 在开始使用ProDy之前,需要载入所有的ProDy软件包,分别输入“from prody import *”,“from pylab import *”,“ion()”
- ProDy可以自动从RCSB蛋白质数据库中下载对应的PDB代码的晶体结构,如parsePDB(‘1p38’)即可自动识别或下载,并显示有晶体结构中的总原子数
- 在ProDy的分析功能中,可以计算大量的与晶体结构相关的参数,如回转半径、二面角(Phi和Psi)、RMSD、距离等,共37个参数(如图2所示)。
图2 ProDy中可以分析的37个参数
- 在ProDy的绘图功能中有25个选项,如图3所示。这里使用最简单的功能——显示蛋白质三维结构作为例子,代码为showProtein(p38)
- 通常采用ProDy自动下载的PDB结构都是压缩文件,而在大多数的分析中需要用到的是未压缩的.pdb文件,解压的过程需要用到fetch命令,如fetchPDB(‘1p38‘, compressed = False)
- 在原子组分析中,主要有标记,分割和分层的功能,图3中分别展示了这三种功能的具体使用方法
图3 ProDy的基本命令