I am setting up Docking simulations of 2 Monomers of a protein that forms monolayers at interfaces (HFBI, pdb entry 2fz6 ), so I need to constrain the possible Docking configurations to stay within the x-y plane and only beeing allowed to slightly change its orientation, due to a exposed hydrophobic patch.
I tried to use a combination of 2 angular and one Dihedral constraints. The constraint file looks like:
Angle N 39A CA 14A CA 14B FLAT_HARMONIC 1.57 0.1 0.0175
Angle CA 14B N 39B N 39A FLAT_HARMONIC 1.57 0.1 0.0175
Dihedral CA 14A CA 14B N 39B N 39A FLAT_HARMONIC 0 0.1 0.0175
Now when I run this using the flags:
I expect that in the resulting score file to see the contribution of this constraints, but there only is a column for atom_pair_constraint . I also do not see even for strong weights a clear visible effect of the constraints, so I am fearing that the constraint is not applied at all. When using just distant constraints e.g.
AtomPair CA 71A CA 62B HARMONIC 7.0 0.1
then the constraint is applied correctly (is visible in the score file AND has an observable effect on the output structures).
As in some comments it was mentioned to use the alternative flag cst_fa_file I tried this also but got the error:
"ERROR: Can't read constraints from empty file! " despite using the same cst file as before.
I uploaded the content of the constraint files and all used commands including the used flags and of course the crash report and the pdb file . (The rosetta version is the binary release from 2020.3.7 for linux)
Any hint at what happens here is welcome as I have no idea why some constraints work while others fail.
I think the issue is the absence of the angle_constraint and dihedral_constraint score terms from the scoring function. You can add these score terms to the function using `-score::weights angle_constraint 1.0 dihedral_constraint 1.0`. Without confirming in the code, I think the `-constraints::cst_weight` option is being applied to the `atom_pair_constraint` term only. Maybe it's hardcoded? I would recommend using the `score::weights` options instead of the `-constraints::cst_weight` from here on. I'm not sure why the `-constraints:cst_fa_file` option is not working but it could be that the docking_protocol does not access this option.
You might also consider trying a SiteConstraint for your problem.
thanks for the quick response. I checked the documentation again and found a previously overlooked passage that states that only " AtomPairConstraint, AmbiguousConstraint and SiteConstraint " are supported which all fall under the `atom_pair_constraint` term. Maybe there is a way to add this somehow but if it is hardcoded into the protokoll this might be quite complicated. Anyway using site constraints works, I just have to find well defined parameters and a good choice of sites per docking pose which is not complicated at all. So thank you for the hint again.
However it is a bit unfortunate, that there is no general option to restrict the possible search space for docking. I can imagine that there are quite a large amount of situations where the proteins can not freely move in 3D space (Membrane bound proteins etc). So this could be definitly worth to add to the functionality in a future release.