- This topic has 15 replies, 7 voices, and was last updated 9 years, 2 months ago by Anonymous.
August 9, 2012 at 4:24 pm #1370Anonymous
I’m new to PyRosetta and just had a quick question. Is there a way to make mutations to an existing protein structure using PyRosetta? I’m currently doing all the mutations in PyMOL then saving the mutants as new pdb’s and calling them into PyRosetta for analysis. If I could just write a short script to mutate the structure using PyRosetta, it would save me a lot of time. Thanks!
August 9, 2012 at 5:00 pm #7572Anonymous
The most straightforward way I can think of off the top of my head is to use the Pose function replace_residue. You’ll need a copy of the residue with which you want to do the replacement (probably from ResidueFactory). You should repack after the replacement.
You can just as easily set up a PackerTask which specifies a mutation at your position of interest, then repack using that PackerTask, which will repack while mutating. Specifying a single mutation in code using the PackerTask is marginally troublesome (in C++), but you may find it easier than the other methods.
I know these are broad overviews of how to do these things. I can offer more descriptions of how classes work if you need them, but I only know Rosetta in C++ so I can’t write the python for you.
August 9, 2012 at 11:52 pm #7575Anonymous
There is a Mover called MutateResidue
ex. mut = MutateResidue( 1 , ‘A’ )
use pose numbered residue number and the single letter code for the new amino acid
there is also an example method for mutating and repacking the nearby residues outlined in mutants.py, a sample script on the PyRosetta website under Scripts
If you want to use a non-canonical amino acids (anything other than the usual 20 amino acids) you can use the method Steven suggested using the PackerTask (and example script for using this object is also on the PyRosetta Scripts page), if you have the appropriate params file or its in the PyRosetta database
September 11, 2012 at 2:27 pm #7779Anonymous
Newer versions of PyRosetta include an exposed method that performs simple point mutations:
mutate_residue(pose, 49, ‘E’)
The above will replace residue 49 of pose with a glutamate. (However, it does not optimize rotamers.)
August 10, 2012 at 10:24 pm #7586Anonymous
I haven’t tested it, but it looks like if you know the full Rosetta residue type name you might be able to use it with the MutateResidue mover, instead the one letter code. (Unless that functionality got masked in the PyRosetta wrapping.) This should allow you to use the mover with non-canonical amino acids.
August 11, 2014 at 2:37 pm #10201Anonymous
I am using the method of mutate_residue(pose, 49, ‘E’) on my PyRosetta. However, I was told:
name ‘mutate_residue’ is not defined
Do you know why? Thank you very much.
August 12, 2014 at 3:37 pm #10207Anonymous
What version of PyRosetta are you using? You may be using an older one which doesn’t yet have that function.
August 13, 2014 at 2:42 pm #10213Anonymous
Do you think is this a problem?
August 13, 2014 at 3:23 pm #10215Anonymous
I think that should be recent enough. One possible issue is that the mutate_residue() function may be in the toolbox module rather than being imported with the regular rosetta module. Try doing a “from toolbox import *” prior to using mutate_residue, and see if that helps.
August 13, 2014 at 7:41 pm #10219Anonymous
I think you are right. After using “from toolbox import *”, the “mutate_residue” can be run. However, my PC freezes for more than 30min and everything stops. So I have to restart the PC. I was only mutating one residue within a sequence of three residues. Maybe my PC is too old now.
August 14, 2014 at 3:33 pm #10222Anonymous
I wouldn’t think that mutating a residue should take all that much time, even on an older computer. There might be something going on with your PC besides just being old, though. I’d certainly recommend trying PyRosetta out on another machine and see if that solves your problem.
August 22, 2014 at 4:02 pm #10231Anonymous
Is your memory usage spiking when this is running?
August 25, 2014 at 4:50 pm #10232Anonymous
Do you mean if memory usage failed? I am not sure about it. All I know is the PC froze. I will try to use a cluster later. Thank you.
August 26, 2014 at 7:03 pm #10236Anonymous
If you use the windows task monitor to monitor the memory usage, what sort of memory profile do you observe? How much memory is used by PyRosetta? When I tested this PyRosetta used 5GB of RAM on windows and only 1 GB on linux.
August 27, 2014 at 8:33 am #10238Anonymous
My Windows PC only has 4GB RAM and it was using almost 100% when the PC froze. As you said, it requires 5GB. So a Windowns PC may not be suitable to run PyRosetta. Thank you very much for testing it.
Yesterday, I used a resfile to mutate the protein and it turned out to be okay.
But anyway, I will use cluster in the future. Thanks a lot!
September 22, 2014 at 5:17 pm #10306Anonymous
You can also use PyRosetta from within a virtual machine. (eg VirtualBox). The slowdown is minimal and the memory usage does not spike.
For testing scripts this might be more convenient.
If you setup an IPython notebook server on the VM you can work from Windows in browser, which is a nice bonus.
- You must be logged in to reply to this topic.