PDBFixer PDB修复利器

介绍

官方网站:https://github.com/pandegroup/pdbfixer
PDB文件通常有一定的稳定从而必须在进行分子动力学模拟之前进行修复。具体的修复一般依赖于文件是如何生成的,PDBFixer官网列出了可能产生的问题:

  1. 如果结构是用X-ray解析,大多数或者所有的氢原子可能缺失
  2. 柔性区域可能会有缺失heavy atoms,其电子密度可能没有被清晰的解析。其可能包括loop侧链末端的一些原子。
  3. 因为晶体学的目的可能增加一些非标准的残基,但是可能并不存在于自然中。
  4. 许多PDB文件中缺少末端原子
  5. 可能有你不需要的例子,配体或者其它分子,可能是聚合物然而你仅想做单体蛋白
  6. 一些原子可能含有多个位置
  7. 如果想模拟显示水,可能需要在水盒子中增加水

PDBFixer可以自动的修复这些问题
PDBFixer可以采用不同的方式进行使用,图像交互,命令行以及Python API都可以使用。

安装

需要安装OpenMM以及CUDA或者OpenCL,同时Numpy需要被安装
建议采用anconda进安装

conda config --add channels http://conda.binstar.org/omnia
conda install omnia

如果单独安装可以

python setup.py install

PDBFixer交互模式

PDBFixer界面交互主要采用浏览器模式,使用方法仅需在终端输入pdbfixer

PDBFixer命令行模式

其实和很多软件类似,PDBFixer的命令模式其实可以用--help查看,完整命令如下:

pdbfixer --help

以下为其参数
--pdbid=PDBID 从PDB中获得文件
--url=URL 从URL中获得文件
--output=FILENAME 输出文件(默认:output.pdb)
--add-atoms=ATOMS 指定哪种缺失原子被增加,选项有:all(默认),heavy,hydrogen,none
--replace-nonstandard 替换不标准残基
--add-residues 增加缺失残基
--water-box=X Y Z 增加水盒子
--ph=PH 增加缺失氢的时候的PH,默认为7
--positive-ion=ION 正电荷原子,默认为Na+. Cs+, K+,Li+, Na+, or Rb+
--negative-ion=ION 负电荷,默认为Cl-. Cl-, Br-,F-, or I-
--ionic-strength=STRENGTH 盒子内离子摩尔浓度

例子:

pdbfixer --keep-heterogens=water --replace-nonstandard --water-box=4.0 4.0 3.0 myfile.pdb

PDBFixer Python API交互

fixer =PDBFixer(filename='myfile.pdb')
#
# 调用PDBFixer方法
#
PDBFile.writeFile(fixer.topology,fixer.positions,open('output.pdb','w'))

移除链

fixer.removeChains(indices)
indices为数组

识别缺失残基

fixer.findMissingResidues()
返回一个字典

替换非标准残基

fixer.findNonstandardResidues()

fixer.replaceNonstandardResidues()
一个是查找标准残基,返回数组。一个是替换标准残基命令

移除异源物

fixer.removeHeterogens(False)
False移除水和异源物,True会留下水,然而仍然去除异源物

增加缺失重原子

fixer.findMissingAtoms()

fixer.addMissingAtoms()

增加缺失氢

fixer.addMissingHydrogens(7.0)
参数为pH状态

增加水

addSolvent(self, boxSize, positiveIon='Na+', negativeIon='Cl-', ionicStrength=0*molar)
同命令模式,示例:
fixer.addSolvent(Vec3(5, 5, 5)*nanometer, positiveIon='K+', ionicStrength=0.1*molar)

你可能感兴趣的:(PDBFixer PDB修复利器)