openmm / pdbfixer

PDBFixer fixes problems in PDB files
Other
453 stars 114 forks source link

Charges lost on ASP and GLU residues #210

Open tdudgeon opened 3 years ago

tdudgeon commented 3 years ago

When adding hydrogens I'm finding that ASP and GLU are not be handled as I would expect.

pdbfixer protein.pdb --add-atoms=all --ph=7 Before:

ATOM    245  N   ASP A  34      14.618 -23.099   9.002  1.00 16.19           N  
ATOM    246  CA  ASP A  34      14.345 -23.602  10.368  1.00 16.57           C  
ATOM    247  C   ASP A  34      14.805 -22.564  11.371  1.00 15.10           C  
ATOM    248  O   ASP A  34      15.194 -22.949  12.491  1.00 16.43           O  
ATOM    249  CB  ASP A  34      14.999 -24.964  10.622  1.00 16.76           C  
ATOM    250  CG  ASP A  34      16.505 -24.971  10.468  1.00 19.92           C  
ATOM    251  OD1 ASP A  34      17.085 -23.916  10.044  1.00 18.98           O  
ATOM    252  OD2 ASP A  34      17.076 -26.066  10.690  1.00 21.43           O1-

After:

ATOM    491  N   ASP A  34      14.618 -23.099   9.002  1.00  0.00           N  
ATOM    492  H   ASP A  34      15.714 -23.280   8.583  1.00  0.00           H  
ATOM    493  CA  ASP A  34      14.345 -23.602  10.368  1.00  0.00           C  
ATOM    494  HA  ASP A  34      13.219 -23.920  10.545  1.00  0.00           H  
ATOM    495  C   ASP A  34      14.805 -22.564  11.371  1.00  0.00           C  
ATOM    496  O   ASP A  34      15.194 -22.949  12.491  1.00  0.00           O  
ATOM    497  CB  ASP A  34      14.999 -24.964  10.622  1.00  0.00           C  
ATOM    498  HB2 ASP A  34      14.883 -25.822   9.790  1.00  0.00           H  
ATOM    499  HB3 ASP A  34      14.892 -25.514  11.674  1.00  0.00           H  
ATOM    500  CG  ASP A  34      16.505 -24.971  10.468  1.00  0.00           C  
ATOM    501  OD1 ASP A  34      17.085 -23.916  10.044  1.00  0.00           O  
ATOM    502  OD2 ASP A  34      17.076 -26.066  10.690  1.00  0.00           O

Note how a H was not added to the OD2 atom (that's OK), but that the negative charge has been lost.

peastman commented 3 years ago

OpenMM Topologies don't store formal charges for atoms, and therefore don't write them to PDB files. Very few programs ever look at that field. When running a simulation, the charges are worked out based on the set of atoms present.