Hello! I have been working with PyRosetta for a while to model protein-ligand interactions. I was getting hydrogen-bond information from other software, but wanted to use PyRosetta's Hbond set for my pose. Rosetta did not find all the expected hydrogen bonds, so I wanted to check what criteria was used by Rosetta to find the HBs, and also see whether I could tweak these criteria in any way (things like maximum distance, or maximum angles, etc.).
I have looked up and down the documentations, even scripts, and found no way of easily doing this. The closest I got was to find an "HBondOptions" class, which seems to be private, so I have no way of checking and/or modifying it, to the best of my understanding.
So this is my question: Is there a way to check/modify or otherwise relax the geometric criteria that PyRosetta/Rosetta uses to find/determine hydrogen bonds, or am I stuck with whatever Rosetta decides?
Thanks in advance for any help.
The hydrogen bond detection in (Py)Rosetta is closely tied with the hydrogen bonding scoring system in Rosetta. In short, Rosetta detects hydrogen bonds by asking "does this interaction have a non-zero hydrogen bonding energy?", so it's a little bit more involved than simple distance cutoffs. There are ways of changing and modifying how hydrogen bonds are detected and scored, but those aren't necessarily set up to be "on-the-fly" adjustable - the process can be a bit involved, depending on what you want to do.
I'm guessing that there isn't anything wrong with the geometry cutoffs in hydrogen bond scoring. Typically when you get zero hbond energy, it means that you're way off acceptable hydrogen bond geometry - even marginal hydrogen bonds typically get a small energy. Instead, I'm guessing that there's some other issue with the way the set of hydrogen bonds was determined, or with how the system was prepared.
How did you extract the hydrogen bond information, and what hydrogen bonds are you missing? Depending on settings, you may have made a backbone-only hydrogen bond set, which would eliminate most if not all of the hydrogen bonds to your ligand. Is your ligand DNA (there's special settings for DNA hydrogen bonds)? Another possibility if you're looking at a small molecule ligand is that the atom typing in the small molecule is off, so that the atom types of the atoms which are supposed to be making a hydrogen bond are ones which Rosetta thinks aren't supposed to be involved in hydrogen bonds.