I am working on the structural prediction of a symmetric multidomain protein using RosettaCM - I have to add a tetramerization domain for which no template structure is available, but for which I can set some distance constraints to steer the prediction in the right direction. For this, I changed
<MOVERS> <Hybridize ...> <Fragments .../> <Template pdb="xxx.pdb" cst_file="AUTO" weight="1.000" symmdef="xxx.symm" /> </Hybridize> </MOVERS>
<MOVERS> <Hybridize ...> <Fragments .../> <Template pdb="xxx.pdb" cst_file="xxx.cst" weight="1.000" symmdef="xxx.symm" /> </Hybridize> </MOVERS>
where xxx.cst only contains 4 manually defined harmonic constraints. The structures of the added domain look very promising, but the coordinates of the rest of the protein deviate a lot from the template structure, which is not the case if I set cst_file="AUTO" (but then, the added domain is not folding correctly). I suppose that this is caused by omitting the "AUTO" constraints.
Is there a straightforward way to combine the manually defined constraints with the "AUTO" constraints? Maybe via the input options? Or is there a way to write out the "AUTO" constraints as a file? I seem to be missing something very obvious, but I can't put my finger on what it is.
Thanks in advance!
unfortunately there is no way to do this currently without doing some c++ coding.
check out the "generate_centroid_constraints" function in src/protocols/hybridization/util.cc
you will want to remove the call to pose.remove_constraints()
you will also want to set:
keep_pose_constraint="1" in the hybridize setting, and you should add the constraints before hybridize using the ConstraintSetMover
hopefully that sets you on the right path!
Thanks for the reply! I'll give it a try (or two .. I'm very shy about C++ code) and keep you updated.
Would there be a way to include this feature in a future weekly release; that is, combining AUTO with constraints from a cst_file? I can think of a variety of applications where this could be useful for the broader audience.