I’m not sure how to do it in PyRosetta. You shouldn’t need whole custom residues; there are patches in the database (chemical/residue_type_sets/fa_standard/patches). I don’t know that we have a patch for the non-zwitterionic protein, since that’s not very physically plausible, but there are end patches for methlyation, etc. Patches are most easily de-applied and re-applied with code in core/chemical/util.hh, but I’m not sure what python functions those map to.