Hydrogens in ligand are added in wrong positions by cns

I have been trying to dock an inositol trisphosphate ligand on a protein but hydrogens in the ligand molecule get misplaced at the initial stage of calculation. When cns removes and then re-adds hydrogens during psf file generation, two ring hydrogens are placed in an impossible position while the rest of the ring hydrogens have somewhat odd positions. You can get the pdb here.

I built the molecule in Avogadro and obtained the topology and parameters files from acpype. The atom types and charges in the top file seem to be correct, and changing the ring hydrogens type from h1_ to hc_ did not help.

Docking inositol hexakisphosphate that was prepared in the same way worked fine.

I’m not sure what to troubleshoot or focus on next and I would appreciate a lot any comment or advice.


It looks like the topology does not uniquely define the hydrogen positions. By default all hydrogens are rebuild. You can change that by editing in the protocol directory generate_X.inp where X corresponds to your ligand (e.g. B if second molecule. Change then the following lines:

{* which hydrogens to build *}
{+ choice: "all" "unknown" +}
{===>} hydrogen_build="unknown";

(Assuming here you are running a local version of HADDOCK)

That did the trick.
Thanks a lot!