Quick Post on preparing Gaussian input files from PDB files.

If you’re modeling biological systems chances are that, more often than not, you start by retrieving a PDB file. The Protein Data Bank is a repository for all things biochemistry – from oligo-peptides to full DNA sequences with over 140,000 available files encoding the corresponding structure obtained by various experimental means ranging from X-Ray diffraction, NMR and more recently, Cryo Electron Microscopy (CEM).

The PDB file encodes the Cartesian coordinates for each atom present in the structure as well as their in the same way molecular dynamics codes -like AMBER or GROMACS- code the parameters for a force field; this makes the PDB a natural input file for MD.

There are however some considerations to have in mind for when you need to use these coordinates in electronic structure calculations. Personally I give it a pass with OpenBabel to add (or possibly just re-add) all Hydrogen atoms with the following instruction:

$>obabel -ipdb filename.pdb -ogjf -Ofilename.gjf -h

Alternatively, you can select a pH value, say 7.5 with:

$>obabel -ipdb filename.pdb -ogjf -Ofilename.gjf -h -p7.5

You may also use the GUI if by any chance you’re working in Windows:

This sends all H atoms to the end of the atoms list. Usually for us the next step is to optimize their positions with a partial optimization at a low level of theory for which you need to use the ReadOptimize ReadOpt or RdOpt in the route section and then add the atom list at the end of the input file:

Atomic coordinates
--blank line--
noatoms atoms=H
--blank line--

Finally, visual inspection of your input structure is always helpful to find any meaningful errors, remember that PDB files come from experimental measurements which are not free of problems.

As usual thanks for reading, commenting, and sharing.

Advertisement