You are here

restrain multiple portions of proteins with MinMover

5 posts / 0 new
Last post
restrain multiple portions of proteins with MinMover
#1

Hi,

I want to restrain certain portions of my protein when doing cryo-EM modeling.

I was trying to modify the MinMover section of my XML file from

<MinMover name=cenmin scorefxn=cen type=lbfgs_armijo_nonmonotone
        max_iter=value tolerance=value bb=1 chi=1 jump=ALL/>

 to:

  <MinMover name=cenmin scorefxn=cen type=lbfgs_armijo_nonmonotone
        max_iter=200 tolerance=0.00001 bb=1 chi=1 jump=ALL/>
        <MoveMap name="cenminFix">
            <Span begin="2" end="14" chi="false" bb="false"/>
        </MoveMap>

but I got some error message about availabe movers: protocols.moves.MoverFactory: Available movers:

Looks like the "Span begin" is not recognized?

Neverthless, I assume that this should be possible with MinMover. 

If so, what will be the syntax?

thanks

karl

Category: 
Post Situation: 
Wed, 2016-09-07 08:29
Karol

Your issue is that you've ended your MinMover tag - that trailing slash at the end ("jump=ALL/>")

RosettaScripts uses (a variant of) XML, which has standalone tags (ones which end in a slash), and nested tags, which end with a tag with a starting slash ("</MinMover>") 

The MoveMap tag is a sub-tag that's nested under the MinMover tag. You want something more like:

  <MinMover name=cenmin scorefxn=cen type=lbfgs_armijo_nonmonotone
        max_iter=200 tolerance=0.00001 bb=1 chi=1 jump=ALL >
        <MoveMap name="cenminFix">
            <Span begin="2" end="14" chi="false" bb="false"/>
        </MoveMap>
  </MinMover>

Note that there's no slash in the opening MinMover tag, and it the tag is closed by the "</MinMover>" entry only after the nested MoveMap tag is complete.

Wed, 2016-09-07 08:39
rmoretti

 

Works! 

thanks a lot

you can close this ticket

karl

Wed, 2016-09-07 08:49
Karol

Hey,

 

I am reopening this ticket.

To prevent my protein from moving in desired regions I specified MoveMaps in MinMover and FastRelax movers.

I want to restrain these regions. Optionally these can be also fixed.

 

 <MinMover name=cenmin scorefxn=cen type=lbfgs_armijo_nonmonotone
        max_iter=200 tolerance=0.00001 bb=1 chi=1 jump=ALL>
		    <MoveMap name="cenminFix">
			         <Span begin="2" end="14" chi="false" bb="false"/>
		    </MoveMap>
 </MinMover>	

...

 <FastRelax name=relaxcart scorefxn=dens repeats=1 cartesian=1>
		<MoveMap name="cenminFix2">
			     <Span begin="2" end="14" chi="false" bb="false"/>
		</MoveMap>
 </FastRelax>	

 

But this did not work. 

 

1.) Side chain and backbone  motions are (or at least should be) switched off, so what remain are jumps. So, I assume that these should be switched off as well. 

What I know is that MoveMap does not have "jump" argument, so jumps must specifed in the main sections of MinMovers,  and the same for FastRelax.

I assume that since I have 5 protein regions, which need to be restrained,  I would need 5 jump sections. Correct?

So far, I have found only:

 < Jump number=1 setting=0/>,

 < Jump number=2 setting=0/> etc..

The question is: how I should inform each of these movers that each jump refers to particular sections of a protein?

What will be the syntax here?

 

2.) I assume that  Cartesian Sampler should be also prevented from sampling in these regions? 

    However, I was not able to find a description of this mover, so  I am not sure if it works with MoveMap or something similar to.

   Can you send me some links, describing this mover?


thanks

 

 

Thu, 2016-09-08 08:31
Karol

1.) You're right that you should put the movemap in both the MinMover and FastRelax. But keep in mind that the FastRelax mover does both packing and minimization in it's protocol, and the MoveMap only controls the minimization stages. So you may see sidechain movement in "turned-off" residues due to the packer changing the rotamer. To also turn things off during the packing stage, you'll need to also pass task_operations which turn off sidechain repacking for those residues you don't want sampled.

The numbering of jumps is pre-determined by the layout of the pose. The first jump in the FoldTree is jump 1, the second is jump 2, etc. Generally speaking, this means that jump 1 controls chain B, jump 2 controls chain C, etc. But that's not necessarily the case, as things like chainbreaks and loop remodeling can change how the jumps are set up. (There can be jumps within a single chain.) Unfortunately, there really isn't a good way of specifying not moving a chain or residue. The best you may be able to do is check the FoldTree output from the PoseInfo filter, and make sure that it matches what you think it should be. 

That said, there's a global setting for jumps and MoveMaps. If you add "jump=false" to the main MoveMap tag, that should turn off movement for all jumps (except explicitly enabled jumps). (There's also comparable bb and chi options, too.)

2.)  Unfortunately, CartesianSampler doesn't look to be documented. This is a sadly common occurance with Rosetta. The best documentation in this case would be the code in main/source/src/protocols/hybridization/CartesianSampler.cc, along with any papers which have been published.

As I know reading C++ code is a bit out of scope for users, I took a quick look, and it doesn't look like CartesianSampler takes a MoveMap option. The only location control options I saw were "residues_to_exclude" and "residues_to_include", which takes a comma-separated list of residue numbers. (Either a number by itself to use Pose/Rosetta numbering, or a PDB numbered residue in the form "123B".  It can also take ranges of numbers.) From what I can tell, CartesianSampler should only change the coordinates of the regions on which it operates, so turning off regions not of interest should work about as well as a MoveMap would.

Thu, 2016-09-08 10:56
rmoretti