|Anonymous | Login
|2024-02-24 04:05 CST
|My View | View Issues
|View Issue Details
|[All Projects] Incorrect Results
|Fixed in Version
|0000232: Kinematic Closure broken with extended loops (and possibly even without them)
|Kinematic Closure has a severe bug that causes failure to model loops with previously unclosed loops.
|Steps To Reproduce
|1)Run loop modeling application on a loop that starts out broken
2)Observe that the loop is still broken after a "successful" KIC closure
|The bug looks like it is due to the implementation of the idealize_loop_first logic in KinematicMover.cc. The code calls conformation::idealize_position(), which does NOT idealize residues at cutpoints in the FoldTree. This is a major problem because then the bond/angles and lengths given to the BridgeObjects function don't match the pose, and are never applied (only the torsions from the solution are applied, even though the set_pose_after_closure function of the perturber takes the bond angles and lengths, it ignores them). Another potentially major problem (which can happen even when starting with a closed loop) is that the perturb_chain() function of the perturber is allowed to modify the bond angles and lengths prior to calling BridgeObjects, but doesn't actually change the pose (it can't, it's given a const reference). This means that, once again, the bond angles/lengths given to the BridgeObjects function don't match the pose and are never mapped back, which can lead to a broken loop.
It's easiest to reproduce this bug using perturb_kic with the kic_leave_centroid_after_initial_closure flag on (which causes this to run very quickly, and also prevents the monte-carlo wrapper around this call from keeping only solutions that happen to be closed).
Probably the easiest way to fix this is to make sure that *everything* returned by the BridgeObjects function (which, in the case of angles/lengths is identicle to what is passed in, which makes me wonder why even bother returning them...) is actually applied to the pose afterwords.
|No tags attached.
|LoopModeling, anything else that uses KIC
|Command Line Used
|-s pdb_with_broken_loop.pdb -loops:remodel perturb_kic -in:file:fullatom -loops:fast -nstruct 1 -overwrite -kic_leave_centroid_after_initial_closure
|Confirmed As Bug
|Fixed in SVN Version
amelie (Attentive Developer)
Partly resolved in r55062.
Note that the parent KinematicPerturber does not know about the possibility to vary bond angles. Thus their overwriting is only implemented in the inherited specific perturbers.
The issue of occasional open conformations remains.
|new => assigned
|Note Added: 0000264
|Copyright © 2000 - 2012 MantisBT Group