I'm running FunFolDes on a template and the generated models have very hydrophobic surfaces. They used human-guided design to introduce charged/hydrophilic mutations on the surface. Is there an automatated way to favor charged/hydrophobic mutations on the surface to begin with?
has anyone used https://www.rosettacommons.org/docs/latest/rosetta_basics/scoring/AACompositionEnergy for this purpose?
I wrote AACompositionEnergy. Although I haven't used it precisely for that purpose, it's the sort of thing for which it was intended. (In addition, there's the NetChargeEnergy, which also might help if you want a particular net charge on the surface.)
Here's the basic workflow for using AACompositionEnergy in this way with FunFolDes. Since FunFolDes is implemented in RosettaScripts, you can modify it as follows:
- Add a Layer selector (https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/ResidueSelectors/ResidueSelectors#residueselectors_conformation-dependent-residue-selectors_layerselector) to the RESIDUE_SELECTORS section of the script, and configure it to select the protein surface.
- Modify the fullatom scorefunction used by the FastDesign mover for design. Add the following line to its deifnition to turn on the aa_composition energy term:
<Reweight scoretype="aa_composition" weight="1.0" />
- Add composition constraints for the surface using the AddCompositionConstraintMover (https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/Movers/movers_pages/AddCompositionConstraintMover). Provide the mover with the Layer selector defined above, so that it only attaches the composition constraints to surface residues. You'll need to write a file (call it surface.comp) in which you define the desired composition for the surface. If the problem is too many hydrophobic residues, you probably want to specify something like no more than 20% hydrophobics on the surface (i.e. a steeply ramping quadratic penalty for more than 20% hydrophobics, and a constant/zero penalty for less than 20% hydrophobics). Attach the composition constraints by applying the AddCompositionConstraintsMover in the PROTOCOLS section of the script before calling FastDesign.
That should do it! Note that designing in general, and using composition constraints in particular, is a bit of an trial-and-error process, so you might have to play with the particular penalty functions that you define in your surface.comp file. See the AACompositionEnergy documentation for details on how to set up the .comp file.
Very, very interesting those tools.
Thank you very much for this information.