介紹
官方網站:https://github.com/pandegroup/pdbfixer
PDB文件通常有一定的穩定從而必須在進行分子動力學模擬之前進行修復。具體的修復一般依賴于文件是如何生成的,PDBFixer官網列出了可能產生的問題:
- 如果結構是用X-ray解析,大多數或者所有的氫原子可能缺失
- 柔性區域可能會有缺失heavy atoms,其電子密度可能沒有被清晰的解析。其可能包括loop側鏈末端的一些原子。
- 因為晶體學的目的可能增加一些非標準的殘基,但是可能并不存在于自然中。
- 許多PDB文件中缺少末端原子
- 可能有你不需要的例子,配體或者其它分子,可能是聚合物然而你僅想做單體蛋白
- 一些原子可能含有多個位置
- 如果想模擬顯示水,可能需要在水盒子中增加水
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)