Pdb2Pqr Module

pdb_manip_py.pdb2pqr.compute_pdb2pqr(pdb_in, pdb_out, ff='CHARMM', method='propka', ph=7.0, check_file_out=True)

Use pdb2pqr to define protonation state of each residue of a protein.

Parameters
  • pdb_in (str) – path of input pdb file

  • pdb_out (str) – path of output pdb file

  • ff (str, optional, default="CHARMM") – forcefield nomenclature for atom names

  • method (str, optional, default="propka") – Method used to calculate ph values (propka or pdb2pka).

  • ph (float, optional, default=7.0) – pH value to define AA residue

  • check_file_out (bool, optional, default=True) – flag to check or not if file has already been created. If the file is present then the command break.

Example

>>> pdb_manip.show_log()
>>> TEST_OUT = str(getfixture('tmpdir'))
>>> # Compute protonation with pdb2pqr:
>>> compute_pdb2pqr(os.path.join(TEST_PATH,'4n1m.pdb'),
... os.path.join(TEST_OUT, '4n1m.pqr')) 
Succeed to read file ...4n1m.pdb ,  2530 atoms found
Succeed to save file ...tmp_pdb2pqr.pdb
pdb2pqr30... --ff CHARMM --ffout CHARMM --keep-chain --titration-state-method=propka --with-ph=7.00 ...tmp_pdb2pqr.pdb ...4n1m.pqr
0
>>> prot_coor = pdb_manip.Coor()
>>> prot_coor.read_pdb(os.path.join(TEST_OUT, '4n1m.pqr'), pqr_format = True) 
Succeed to read file ...4n1m.pqr ,  2549 atoms found
>>> HSD_index = prot_coor.get_index_selection({'res_name' : ['HSD'],
... 'name':['CA']})
>>> print(len(HSD_index))
4
>>> HSE_index = prot_coor.get_index_selection({'res_name' : ['HSE'],
... 'name':['CA']})
>>> print(len(HSE_index))
0
>>> HSP_index = prot_coor.get_index_selection({'res_name' : ['HSP'],
... 'name':['CA']})
>>> print(len(HSP_index))
1

Note

Idealy I would need a pdb file with 3 different histidine protonation. I couldn’t find one.