You are here

Converting all residues to poly-Gly/Ala

3 posts / 0 new
Last post
Converting all residues to poly-Gly/Ala

Hey, I am pulling my hair out over this. I am trying to convert all residues in a protein to poly-Gly/Ala (for example 1ae1.pdb) but cannot find the Rosetta function to do so. I am replicating a paper where they included code and output, the output appears to be typical Rosetta output (the .pdbs are like 3tzc___1.pdb) which I am assuming were generated with a Rosetta function.

I have looked in Rosetta/tools/protein_tools/ and other folders within Rosetta/demos/public/ and /tutorials/ but cannot for the life of me find out how to convert a PDB to all Gly or Ala.

I have been looking at `phenix.pdbtools` too but that only truncates (i.e. doesn't change the res names to GLY or ALA in the PDB). The author of the paper used both Phenix and Rosetta so I am assuming it is in Rosetta this function occurs.

Does anyone know the Rosetta function to convert a given structure to poly-Gly/Ala please or what function/programme does so? I am not far from programming something myself in Python as it is frustrating, thank you.

Post Situation: 
Tue, 2023-05-09 14:14

If you're using command line Rosetta, it should be relatively easy with the `fixbb` application. You should be able to provide the fixbb application with your input structure and a resfile containing the mutational directives.

If you want to mutate to all Ala, then use the following resfile


For all Gly, it would be


(If you want to mutate only portions of the protein, you can put together more complex directives.)

If you want to use PyRosetta, you can possibly use protocols.minimization_packing.PackRotamersMover (the in-code equivalent of fixbb), but that's a little fiddly to set up with the resfile. Probably easier is to use the protocols.simple_moves.MutateResidue mover. You can set the residue name to Ala/Gly as appropriate, then use a loop to set the target residue to each of the residues in the protein where you want to mutate, calling apply() after each.  (Or set a ResidueSelector which will select them.)

Tue, 2023-05-09 15:41

I feel so stupid, I didn't even consider a resfile. Thank you, that worked.

Tue, 2023-05-09 15:51