You are here

ClassicRelax: how to block the backbone

4 posts / 0 new
Last post
ClassicRelax: how to block the backbone
#1

hello! isnt the following command meant to keep the backbone fixed? cos i obtain a model with a RMSD of about 1A from the initial model.

movemap=MoveMap()    
movemap.set_bb(False)
relax=ClassicRelax()
relax.set_scorefxn(scorefxn_tala)
relax.set_movemap(movemap)
relax.apply(sample_pose)

Thanks :)

 

 

Category: 
Post Situation: 
Fri, 2015-11-27 08:17
oppopomoz

Is there a particular reason you want to use ClassicRelax? One issue here is that the point of ClassicRelax (as opposed to other protocols) is that ClassicRelax uses active backbone perturbation. It looks like these active backbone movement stages ignore that the move map says to keep the backbone fixed - it doesn't really make sense to use ClassicRelax and then hold the backbone fixed.

If you're just looking to optimize the sidechains, you're probably better off with just repacking and minimizing them. Either in two stages (repack, then minimize sidechains only), or by using something like protocols.simple_moves.MinPackMover.  (This does a variation of the Packer where each rotamer substitution is minimized before evaluation.) If you're looking for something more heavyweight, you could try FastRelax, using your no-backbone movement movemap. In FastRelax, all the backbone movement is from minimization, which is controlled by the provided MoveMap.

Mon, 2015-11-30 07:31
rmoretti

thanks a lot for your answer, basically i am using classic relax becose i want to fix the backbone of a part of the protein and move a few selected ones, so after setting movemap.set_bb(False) I set the selected resudues to "True", any suggestions about how to do it ?

Mon, 2015-11-30 08:45
oppopomoz

I don't believe there's any way to get ClassicRelax to confine its active backbone perturbation to just a particular region of the protein.

Try using FastRelax instead of ClassicRelax - this should obey the MoveMap and only allow the portion of the backbone you allow to move. One caveat to be aware of is leaver-arm effects. If you allow part of the backbone to move, everything downstream of that will also move in 3D space, even though it's marked as non-moving in the MoveMap. This is because there is no movement in internal coordiante space - the dihedrals in that region of the protein are fixed. The atoms move in space because that's what's required for movable dihedrals to rotate.

One way around this are to change the FoldTree such that you introduce a cutpoint in the region you're allowing to minimize and make a jump from one fixed section to the other. This way you'll propagate changes toward the cutpoint, keeping the fixed portion of the protein fixed.

Another way is to use Cartesian space minimization with FastRelax. To use this pass True to the cartesian() method on the FastRelax mover object, and be sure to use a scorefunction with the cart_bonded term (talaris2013_cart is one such pre-prepared scorefunction). Cartesian relax actually does a pretty good job of fixing backbone issues - for example chainbreaks and the like -  so that might actually be what I suggest you try first.

Tue, 2015-12-01 15:18
rmoretti