You are here

Converting all residues to poly-Gly/Ala

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

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.

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

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

PIKAA A
start

For all Gly, it would be

PIKAA G
start

(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
rmoretti

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

Tue, 2023-05-09 15:51
jtpi6174