PDB protein crystal structures most of the time lack hydrogen atoms. Usually I use PyMOL (
h_add) but it does not always seem to be giving the correct result. What can I use for accurate hydrogen addition?
I've used Reduce before, which is excellent. I'm not sure what you mean by ' does not always seem to be giving the correct result', though? Perhaps you could file a bug report with the PyMOL team if you think there is a bug in h_add.
hadd command adds hydrogens to all atoms where it is appropriate (taking hybridization into account),
chemdraw assigns proper bonds order:
Alternatively, one can only populate certain atom types with hydrogens by selecting them first, e.g. for carbons:
sel $C, then
hadd. Also, one can hide/show added hydrogens by pressing
To save the file, type
file name_of_protein.xyz. Saving in PDB also works, but the metadata/header is going to be lost, and sometimes the PDB file cannot be read properly by third-party software. So XYZ is the most safe option here.
There are many software packages that do what you request. PHENIX, Schrodinger, SCWRL4. It depends on how accurate you want, and options for pH etc.