You are here

Mutating phosphorylated residues to "canonical" residues and vice versa

2 posts / 0 new
Last post
Mutating phosphorylated residues to "canonical" residues and vice versa


I am trying to use the Rosetta Flex ddG protocol (GitHub repo: to compute the deltadeltaG upon mutation of a protein-protein complex containing post-translational modifications (phosphorylation on five serine residues: 170,171,173,174,177 of chain B). I am using the RosettaScript of the protocol (ddG-backrub.xml in the GitHub) with Rosetta v2019.14 (released on April 12th, 2019). The protocol is launched via the Python script as described in the file. In a nutshell, the protocol is built such as it computes the deltaG of the wild type complex, performs the mutation(s) required, computes the deltaG of the mutated complex and then calculates the final deltadeltaG.

My problem is that I cannot make Rosetta mutate the modified residue to any canonical residue (i.e. SEP 170 of chain B to SER), and the protocol simply runs but returns as “mutated” complex the wild type without performing any mutation but without throwing any errors. I think it may be because phosphorylated residues are not considered “noncanonical” residues but simply “variants” of the canonical ones (as it seems from this post: Is there any way to allow a phosphorylated residue to be mutated to a canonical one (perhaps its unphosphorylated counterpart) and vice versa without having to modify the source code and recompile Rosetta from scratch (I use Rosetta on an external server and I’d rather avoid touching the source code)?

The PDB file I used for my runs is attached to this post. I also attached the file that I used for testing purposes as run.txt (it has different parameters with respect to those recommended to make quick and dirty test runs) and the Rosetta log file of the run.

Here the content of the nataa_mutations.txt file (I could not attach more than three files to the post). File content is delimited by the dotted lines, which are NOT included in the file itself.




And here the content of the chains_to_move.txt file:





Thank you in advance for your help!



p.s. the file made the RosettaScript run as if the following command was launched:

/usr/local/rosetta-2019.12.60667/main/source/bin/rosetta_scripts.mpi.linuxgccrelease -s /data/user/valentina/flex_ddg_test/new_for_posting/inputs/pS170S/2lue_model0.pdb -parser:protocol /data/user/valentina/flex_ddg_test/new_for_posting/ddG-backrub.xml -parser:script_vars chainstomove=B mutate_resfile_relpath=/data/user/valentina/flex_ddg_test/new_for_posting/inputs/pS170S/nataa_mutations.txt number_backrub_trials=10 max_minimization_iter=5 abs_score_convergence_thresh=200.0 backrub_trajectory_stride=5 -restore_talaris_behavior -in:file:fullatom -ignore_unrecognized_res -ignore_zero_occupancy false -ex1 -ex2

Post Situation: 
Mon, 2019-05-20 05:58

You're correct that Rosetta is having difficulties mutating the residues to phosphorylated versions, as the modification of canonical amino acids to modified ("patched") variants using the packer is explicitly prohibited in Rosetta, for technical reasons.

The way to get around this is to use the MutateResidue mover, instead of the PackRotamersMover for your "mutate" command.  (

What you would need to do is to set the `new_res` option on that mover to the fully qualified Rosetta name of the residue you're interested in mutating things to.

For phosphoserine in the middle of the chain, this would be "SER:phosphorylated" (the phosphorylated variant of serine). It gets a little more complicated if you're dealing with residues at the end of the chain, as there's additional variant information for the terminii types.


Wed, 2019-07-10 09:22