0

I have a pdb file and I want to parse the pdb using python and I want to find the following for residues in pdb:

1. hydrophobicity
2. interface topology
3. solvent accessible surface area

I have tried using pybel

file_name = "4hhb.pdb"
allmols = [mol for mol in pybel.readfile("pdb", file_name)]
for mol in allmols:
    dir(mols)

but, I am only able to see few properties.

'addh', 'atoms', 'calcdesc', 'calcfp', 'charge', 'conformers', 'data', 'dim', 'draw', 'energy', 'exactmass', 'formula', 'localopt', 'make3D', 'molwt', 'removeh', 'spin', 'sssr', 'title', 'unitcell', 'write

How can I find these 3 properties from pdb? I can use any module available in python to get these properties.

sam
  • 18,509
  • 24
  • 83
  • 116
  • 1
    An example `pdb` file would help. – senshin Jan 17 '14 at 06:27
  • @senshin : any pdb file from http://www.rcsb.org/pdb/home/home.do will do for example : http://www.rcsb.org/pdb/download/downloadFile.do?fileFormat=pdb&compression=NO&structureId=2INS – sam Jan 17 '14 at 06:32

2 Answers2

3

Hidrophobicity (for each AA) can be found in:

Bio.SeqUtils.ProtParamData.kd

kd = {'A': 1.8, 'R':-4.5, 'N':-3.5, 'D':-3.5, 'C': 2.5, 
      'Q':-3.5, 'E':-3.5, 'G':-0.4, 'H':-3.2, 'I': 4.5, 
      'L': 3.8, 'K':-3.9, 'M': 1.9, 'F': 2.8, 'P':-1.6, 
      'S':-0.8, 'T':-0.7, 'W':-0.9, 'Y':-1.3, 'V': 4.2 }

I guess you have to add all the aminoacid values and get the overall hidrophobicity.

http://biopython.org/DIST/docs/api/Bio.SeqUtils.ProtParamData-pysrc.html


You can use GROMACs (http://manual.gromacs.org/programs/gmx-sasa.html) to get the other two parameters. Viewing the C source code (https://github.com/gromacs/gromacs/blob/master/src/gromacs/trajectoryanalysis/modules/sasa.cpp), those parameters are far from obvious calculations.

I would wrap gmx_sasa with a subprocess.Popen() and get the results.

xbello
  • 7,223
  • 3
  • 28
  • 41
  • but these are atoms, I need to get properties for residues. – sam Jan 17 '14 at 07:30
  • I understand residue=aminoacid (the `kd` dict above). E.g. aminoacid/residue "alanine (A)" have a hidrophobicity of 1.8. I understand atom=atom. E.g. Carbon, Oxygen, Hydrogen or Nitrogen. – xbello Jan 17 '14 at 07:34
0

As mentioned in this1 answer, BioPython2 provides support for parsing .pdb files

Community
  • 1
  • 1
Mause
  • 461
  • 4
  • 9