You are here

fixbb minimize sidechains with symmetric pose - recompile?

14 posts / 0 new
Last post
fixbb minimize sidechains with symmetric pose - recompile?
#1

Dear all,

I would like to use the flag -minimize_sidechains with a symmetric pose in fixbb. At the moment, fixbb stops after


core.pack.task: Packer task: initialize from command line()
ERROR: !core::pose::symmetry::is_symmetric( pose )
ERROR:: Exit from: src/core/optimization/AtomTreeMinimizer.cc line: 72

fixbb runs fine without the -minimize_sidechains flag. Therefore I think I need to include the src/protocols/moves/SymMinimizeMover.cc, as pointed out here at the bottom of the page:

http://www.rosettacommons.org/manuals/archive/rosetta3.1_user_guide/symm...

Per default, it looks like fixbb comes only with include protocols/moves/MinMover.hh" , here http://www.rosettacommons.org/manuals/rosetta3.3_user_guide/d1/d3c/fixbb...

Is it correct that changing this line in fixbb.cc to "SymMinimizeMover.cc" should allow to minimize sidechains for a symmetric pose? If yes, how do I recompile an edited version of fixbb.cc, without needing to rebuild the whole package? I would also like to keep the original fixbb for comparison.

Any advice is greatly appreciated.

Best, tartrate.

Post Situation: 
Wed, 2012-08-22 06:14
Anonymous

Hi Tartrat, I see where your talking about. If you want a quick fix, I think this should work. It compiled, but I don't have the pdb/sym stuff to test it. Add this include:
protocols/simple_moves/symmetry/SymMinMover.hh

Then, replace lines 127 till the bottom of the file with attached. I can also email you changed the file. I will fix this for the next release! Let us know if it works.

Jared

Wed, 2012-08-22 07:09
jadolfbr

"-minimize_sidechains Follow the packing phase with gradient-based minimization of the sidechains for
residues that were either repacked or designed in the packing phase."

are side chains not minimized in fixbb otherwise? Does this option have anything to do with SoftRep?

Wed, 2012-08-22 07:17
attesor

are side chains not minimized in fixbb otherwise?

They are not subjected to gradient-based minimization (which takes them off-rotamer). Normally they are just packed using the rotameric approximation (plus "extra rotamers" if you use the -ex flags). This flag subjects them to gradient-based minimization after-packing. There is also the "minpacker" which minimizes the rotamers before packing instead (performing the packing with off-rotamer minimized rotamers good for the local constant environment).

Does this option have anything to do with SoftRep?
Nope.

Wed, 2012-08-22 07:20
smlewis

How does -minimize_sidechains compare to relaxing the fixbb design with bb-constraints?

Wed, 2012-08-22 07:36
attesor

Fixbb with minimize sidechains will produce identical sequences to fixbb without minimize sidechains (given identical RNG seeds); the only difference is that -minimize_sidechains will give lower energies to all structures and will probably change their rankings.

Relaxing the fixbb results will further lower energies and change the rankings again. Relaxing from minimized or not-minimized sidechains will produce different relax trajectories; presumably the former is marginally better (be sure to -use_input_sc).

As far as which one is "better", it's empirical and there's no way to do a rigorous test of it (short of doing hundreds-thousands of designs and testing *all* of them).

Wed, 2012-08-22 07:47
smlewis

thank you for the kind explanation!

Wed, 2012-08-22 07:53
attesor

Hi Jared,

Thanks for the quick reply! I think properly changed the fixbb.cc as you described.

How do I now compile the changed fixbb.cc? I am running Mac OS X 10.7.4. To build the whole package, I used "./scons.py bin mode=release"
Apologies for the rather simple question, but do I need any special flags? Do I need to consider any dependencies? What is the full command?

Thanks! tartrat.

Thu, 2012-08-23 04:54
tartrat

I once also patched some other source file and just recompiled it using "scons bin mode=release" and only the necessary parts are rebuilt and the newly patched program worked.

Thu, 2012-08-23 05:11
attesor

Yep, It will rebuild pretty much all apps, and any files that have changed since the last compile...

Thu, 2012-08-23 06:00
jadolfbr

The whole point of using SCons (over, say, make) is that it detects which dependencies need rebuilding after a change and only rebuilds those. If you only changed one app-level file (fixbb.cc), it should just recompile the object code and then re-link the binary. Re-issue the same compilation command you used before and it should work great.

This is pedantic, but generally when it goes through "pretty much all apps" after a code change (to the lower libraries), it is really just re-linking the apps, not rebuilding the object code. This is noticeably faster.

Thu, 2012-08-23 06:34
smlewis

Great to know. Sweat to god I learn more from you and the forums then from anywhere else...

Thu, 2012-08-23 08:50
jadolfbr

I used the scons.py to rebuild. Now fixbb seems to work with the symmetric pose.

Thanks to all for the help and advice!

Best, tartrat.

Fri, 2012-08-24 03:20
tartrat

NP, glad it worked! Will be fixed in 3.5!

Fri, 2012-08-24 13:58
jadolfbr