I see that patches exist supporting several post-translational modifications, but I don't know how to enforce that a patch be applied to my structure. I have, for instance, a phosphorylated Ser residue (SEP), which is not recognized by Rosetta. I assume I need to rename it to SER and apply the patch found in rosetta-3.2/rosetta_database/chemical/residue_type_sets/fa_standard/patches/ser_phosphorylated.txt, but I couldn't find how to assign patches in the current documentation.
Thanks in advance!
What does rosetta do with the p-ser now? Crash out on unrecognized residue, throw out the P and O atoms...?
If you look at rosetta_database/chemical/residue_type_sets/fa_standard/patches.txt, you'll see the patch is enabled by default (not commented out). This means Rosetta ought to be able to recognize it automatically. Try playing with the atom and residue names in your phosphoserines in the PDB file to make them match what Rosetta expects. It looks like the atom names are " P ", " O1P", etc, as in the patch file, and the expected 3 letter name is still SER. Read the patch and params file to play around with it.
If that fails, the function to add patches is probably
pose::Pose & pose,
VariantType const & variant_type,
Size const seqpos
When given a PDB file containing a residue named SEP (standard PDB nomenclature for pSer) Rosetta throws an error (unrecognized residue SEP). After renaming the residue name to SER, the patch was automatically applied and everything worked fine. Thanks!