You are here

mover "RepackMinimize" does not support chains > 2?

7 posts / 0 new
Last post
mover "RepackMinimize" does not support chains > 2?
#1

In RosettaScript, the mover "RepackMinimize" has attributes "design_partner1" and "design_partner2" to define which partner will be designed, but it does not have attribute like "jumps" or "partners" (just like "DockingProtocol") to let you set the jump in fold tree. It assumes to use jump=1, this is OK for two-chain complex. But it is not OK for more than two chains.

I applied this mover on a 4-chain complex with "minimize_rb=1":
<RepackMinimize name=des1 scorefxn_repack=soft_rep scorefxn_minimize=soft_rep minimize_bb=0 minimize_rb=1/>

But the program halted with errors:
protocols.rosetta_scripts.ParsedProtocol: =======================BEGIN MOVER RepackMinimize=======================
{
core.pack.task: Packer task: initialize from command line()
core.pack.interaction_graph.interaction_graph_factory: Instantiating PDInteractionGraph
core.pack.pack_rotamers: built 6972 rotamers at 79 positions.
core.pack.pack_rotamers: IG: 17487320 bytes

ERROR: min_rb.size() == pose.num_jump()
ERROR:: Exit from: src/protocols/protein_interface_design/design_utils.cc line: 365

Post Situation: 
Mon, 2013-05-20 02:17
jarod

First off, even the documentation (https://www.rosettacommons.org/manuals/archive/rosetta3.4_user_guide/Mov...) doesn't really recommend using RepackMinimize - using a separate PackRotamersMover and MinMover (or TaskAwareMinMover) will allow for better control.

As for the error - it's a horrible bug. It's expecting min_rb to be vector of bools, one for each jump, but it's assigning a single bool to the entry. And no, there's no way to get around it. Either don't set minimize_rb (it should default to all true anyway), or use use the separate PackRotamersMover/MinMover.

Mon, 2013-05-20 11:38
rmoretti
Mon, 2013-05-20 13:28
jadolfbr

Thank you for pointing out the bug.
Actually, the XML script I used here was adopted from protocol_capture/RosettaScripts/pp-interfaceredesign/flexbb-interfacedesign.xml, which was originally published in the paper 'RosettaScripts: A Scripting Language Interface to the Rosetta Macromolecular Modeling Suite'. This script has four 'RepackMinimize' mover with one 'Backrub' mover to do the design.

Mon, 2013-05-20 18:19
jarod

I also found mover "BackrubDD" has attribute "partner1" and "partner2" but no "jumps". I have checked the source codes of "BackrubDD" in protocols/protein_interface_design/movers/BackrubDDMover.cc, it has conditional block:
if( pose.conformation().num_chains() == 2 ){
}
else if ( !residues_.size() ) { // pose does not have 2 chains, backrub all (protein)
}
which means for structures with more than 2 chains, the "partner1" and "partner2" are meaningless, all residues will be moved.

Mon, 2013-05-20 18:56
jarod

Submitted to the tracker: https://carbon.structbio.vanderbilt.edu/mantisbt/view.php?id=275

By the way, I believe the Rosetta bug tracker should be open from submissions from non-developers. If you run across other bugs, feel free to make a bug tracker account and submit them yourself.

Tue, 2013-05-21 11:43
rmoretti

many thanks!
Hope to get version 3.5 released soon.

Tue, 2013-05-21 18:58
jarod