You are here

Unpredictible amino acid replacements

7 posts / 0 new
Last post
Unpredictible amino acid replacements

During loop modeling using from
and using my frag3 file for my protein I found that unpredictable amino acid replacements occur for my protein.
Could you please tell me why it is happened and how to avoid this situation,
as I do not want to change my amino acids during loop modeling.

Thank you,


Post Situation: 
Wed, 2012-05-09 09:21

The PackerTask, which is the object that controls what residues get packed and to what they can mutate, starts with the assumption that all residues can mutate, and winnows down from there. You need to instruct it you want no mutations.

I can see in the python script you mention that it already has a line "task_pack.restrict_to_repacking() # prevents design, packing only", which is the sort of code you need to prevent the design you don't want. I don't know why it would behave otherwise; it may be some sort of version mismatch between the script and the version of pyrosetta. I'll ask Sergey to take a look at it.

Wed, 2012-05-09 09:26

I think I have the same problem described by Victor. I am posting a minimal version of the script. The problem seems to be related with the mover "LoopMover_Refine_CCD". A very weird observation is that the mutations are not restricted to the loop I have defined. Maybe I am incorrectelly defining the loop. What I am trying to do is to move the residues 11, 12 and 13 (12 is the cutpoint) while keeping the rest of the protein without moving.

At the begginig of the run I get the message:
protocols.loops.loops_main: Pose fold tree FOLD_TREE EDGE 1 7 -1 EDGE 7 12 -1 EDGE 7 17 1 EDGE 17 13 -1 EDGE 17 56 -1
I guess the content of the message indicates I am correctly defining the loop I (I have a 56 amino acid lenght protein):

Here Is the code:

from rosetta import *

pose = pose_from_pdb('test.pdb')
scorefxn_standard = create_score_function('standard')

loop_A = Loop(9, 15, 12)
sample_loops = Loops()
set_single_loop_fold_tree(pose, loop_A)
loop_refine = LoopMover_Refine_CCD(sample_loops)

for ite in range(0, 10):
pose.dump_pdb('test_%03d.pdb' % ite)


Wed, 2012-07-25 12:17

I want to clarify your problem: the backbone of your output structures is behaving as expected; the only problem is that the protein _sequence_ is drifting from the correct sequence?

Wed, 2012-07-25 13:41

Exactly the protein sequence is changing.

Wed, 2012-07-25 14:00

LoopMover_refine_CCD (assuming that's the C++ object loops::loop_mover::refine::LoopMover_CCD) has set_task_factory. So, create a TaskFactory, give it a RestrictToRepacking operation, and load it into the Mover. I don't know the python, only the C++; python will look something like this:

rr = RestrictToRepacking() #or whatever the name of the constructor for this operation is
tf = standard_task_factory()

You can also try defining -pack:repack_only as true in the options system (setting things in the option system is covered in other topics on these boards)

Wed, 2012-07-25 14:07

Thanks smlewis! now my script works as intended.

Wed, 2012-07-25 15:40