Member Site › Forums › PyRosetta › PyRosetta – Applications › How to make FastRelax use smaller number of rotamers from PyRosetta app?
- This topic has 1 reply, 2 voices, and was last updated 6 years, 4 months ago by Anonymous.
-
AuthorPosts
-
-
August 21, 2018 at 10:55 pm #2985Anonymous
I am using FastRelax from PyRosetta. When I run it from PyRosetta, the number of rotamers built are way more than the number of rotamers when I run it with C++ relax binary. For instance: I use the following to relax a pdb with movemap in PyRosetta as follows:
def relax_pdb_with_movemap(self, pose, movemap):
relax = FastRelax()
relax.set_scorefxn(get_fa_scorefxn())
relax.set_movemap(movemap)
relax.apply(pose)
return pose
In C++ I give the following command:
relax.linuxgccrelease -s test.pdb -in:file:movemap test.movemap
The same files (test.pdb and test.movemap) are passed to the PyRosetta function. But I see different outputs:
PyRosetta output:
protocols.relax.FastRelax: ================== Using default script ==================
core.scoring.ScoreFunctionFactory: SCOREFUNCTION: ref2015
protocols.relax.FastRelax: CMD: repeat 2688.76 0 0 0.55
core.pack.task: Packer task: initialize from command line()
core.pack.pack_rotamers: built 2045 rotamers at 38 positions.
core.pack.interaction_graph.interaction_graph_factory: Instantiating DensePDInteractionGraph
core.pack.interaction_graph.interaction_graph_factory: IG: 4124016 bytes
core.pack.annealer.FixbbSimAnnealer: pack_rotamers run final: YYEKHTHVDTLYRYHYYITKWVQLYTWYRGPGRAFVTI, best_energy: -236.068
C++ output:
protocols.relax.FastRelax: ================== Using default script ==================
core.scoring.ScoreFunctionFactory: SCOREFUNCTION: ref2015
protocols.relax.FastRelax: CMD: repeat 2395.51 0 0 0.55
core.pack.task: Packer task: initialize from command line()
core.pack.pack_rotamers: built 598 rotamers at 38 positions.
core.pack.interaction_graph.interaction_graph_factory: Instantiating DensePDInteractionGraph
core.pack.interaction_graph.interaction_graph_factory: IG: 412404 bytes
How to make PyRosetta build same number of rotamers as that of C++ relax app?
Thank you very much.
-
August 22, 2018 at 7:35 pm #14402Anonymous
IDK the “real” answer but I would guess that in PyRosetta you are getting -ex1 -ex2 turned on by default. (You can try passing those flags to the C++ and seeing if the resulting number of rotamers matches). -ex1 and -ex2 mean “extra rotamers for chi 1 and chi 2” respectively.
You can set up your own TaskFactory/ PackerTask in pyrosetta and pass that to the relax mover, probably. You’ll need to set it to repack only – I forget the name of the TaskOperation / PackerTask function for that, if poking through the documentation for repack_only and similar strings doesn’t work I’ll look it up.
-
-
AuthorPosts
- You must be logged in to reply to this topic.