we want to compute partial charges for proteins in PDB format. We use the Gasteiger algorithm provided in rdkit.Chem.rdPartialCharges, but quite a lot of files cause errors. Maybe you could recommend another implementation or another algorithm to use?
Here is an example error for the PDB entry 1a0a:
ERROR: No Gasteiger Partial Charge parameters for Element: P Mode:
After some investigation, we've tracked the problem down to the following: there are hard-coded partial charges that are used as initial parameterization of the Gasteiger algorithm (see defaultParamData here). The problem is that the hard-coded partial charges are associated with a pair of the form (atom_name, mode) where mode seems to be the Hybridization of the atom. In the file 1a0a, the problem is that the P atom in question has hybridization SP3D, while in the hardcoded parameters there is a partial charge only for the pair (P, SP3), but not for (P, SP3D). And so the Gasteiger algorithm fails with the error above.
Any ideas of how we could work around this (or tips on other ways to compute the charges) would be appreciated, thanks!