Good morning everybody,
I use Rosetta as part of a Monte Carlo algorithm. The main operations Rosetta performs are :
1) the scoring of a pose;
2) the modification of the pose (using modifications of the psi and phi angles, RigidBodyTransMovers and RigidBodySpinMovers).
It works quite well on average but sometimes, without any apparent reason, Rosetta crashes because of a "HBond tripped".
Can anybody help with that?
1) What does exactly this error mean?
2) Where does it come from (scoring functions or movers)?
3) Is it normal to get such an error ?
4) How do I get rid of it?
Thanks a lot for your help.
Looking through the code, it looks like that error is triggered within the hydrogen bonding scoring code. Specifically, it occurs when there is an issue with the calculated distance between the hydrogen bond donor and its donated proton when calculating the hydrogen bonding energy derivative. (In the function hb_energy_deriv() of rosetta_source/src/core/scoring/hbonds/hbonds_geom.cc, if you're wondering.)
It's certainly not a normal error, but unfortunately I can't tell why you're encountering it, or how to avoid doing so.
My best guess is that in some of your pose manipulations an "invalid" number (such as NaN or Inf) gets assigned, for some unknown reason, to atomic coordinates, and the error is propagating from there.
I've gotten this error before, usually when there were bugs in my code or bugs in the input data. I forget the circumstances. Here's a few things to look for:
A) colinear hydrogen bond atoms (donor, H, acceptor, acceptor base; any three being colinear may be bad)
B) virtual atoms involved in an hbond by mistake
C) centroid/fullatom mashups
D) referencing nonexistent atoms, especially fullatom/centroid swaps, and especially with constraint files
Thank you for your answers. I will look in these directions.