You are here

Minimization of structure after each trial move in PackRotamersMover

3 posts / 0 new
Last post
Minimization of structure after each trial move in PackRotamersMover


I am still relatively new to PyRosetta so excuse my ignorance if the answer to this question is obvious.

I would like to do protein design calculations and the material I have read uses PackRotamersMover. I'm having no problems running these calculations. But I am not sure how to do some minor minimization of the structure after each design move when I apply PackRotamersMover. So when the algorithm outputs at the end that it built X rotamers at Y positions, I would like for it to have done X minimizations too.

Any help with this matter is much appreciated.

Troy Wymore

Post Situation: 
Fri, 2013-08-16 18:58

You're looking for the MinPacker (see protocols.simple_moves.MinPackMover for the friendliest interface). It works exactly like the PackRotamersMover, except that every time it considers a rotamer, it minimizes it first. (It does this throughout the simulated annealing, though, not during the initial build, as minimization will be context dependent.)

Sat, 2013-08-17 14:57

Thanks so much for the advice. Here is the list of commands that I used in case it can help someone else.

In [1]: from rosetta import *

In [2]: rosetta.init()

In [3]: pose = pose_from_pdb("filename.pdb")

In [4]: scorefxn = create_score_function("standard")

In [5]: print scorefxn(pose)

In [6]: task = TaskFactory()

In [7]: task.push_back(InitializeFromCommandline())

In [8]: task.push_back(ReadResfile("filename.resfile"))

In [9]: s_mover = SequenceMover()

In [10]: design_mover = MinPackMover()

In [11]: design_mover.task_factory(task)

In [12]: design_mover.score_function(scorefxn)

In [13]: s_mover.add_mover(design_mover)

In [14]: s_mover.apply(pose)

In [15]: print pose.residue(90).name()

In [16]: print pose.residue(135).name()

In [17]:

In [18]: pose.dump_pdb("filename-redesign.pdb")

Thu, 2013-08-22 15:31