Changing scoring function for fixbb protocol

Member Site Forums Rosetta 3 Rosetta 3 – Applications Changing scoring function for fixbb protocol

Viewing 3 reply threads
  • Author
    Posts
    • #1339
      sokrypton
      Participant

        Hi,

        I have a complex of one monomer binding a peptide. I would like to optimize binding energy instead of the default total energy by designing the protein binding site using the fixed backbone design protocol. I’m aware that it is probably not as simple as changing the score option flag, since binding energy score is total energy of the complex minus the sum of total energies of the docking partners. If this is correct, I’m wondering how to modify the protocol code. I guess that setting the scorefunction as something like core::scoring::ScoreFunctionFactory::create_score_function(“docking”) will not work, right? Do I need to explicitly define the binding energy in the protocol code? Could you provide some code as an example?

        Thanks a lot!

      • #7387
        Anonymous

          This isn’t possible. Binding energy does not differ from total energy as a function of weights, it differs as a function of what interactions count versus what interactions do not count. At this time, there’s no way to tell the scorefunction or packer to ignore non-cross-interface energies; it’s also true that the way some terms work, the binding energy can’t be calculated from a static structure because some of the interface needs to be scored differently (different numbers of neighbors) to calculate the unbound state for a dG of binding.

          The closest workaround is to use the multistate design code (see Leaver-Fay et al) with a fitness function that optimizes binding energy. Within packing, total energy is optimized, but a secondary score operation runs outside packing that uses a genetic algorithm to search for sequences with good binding energy.

          It is straightforward to rank results from fixbb FOR binding energy via InterfaceAnalyzer.

        • #7388
          sokrypton
          Participant

            Now I see where the obstacle is. Thanks for the explanation! As you suggested, if I just directly rank results from fixbb for binding energy, I probably need to generate much more results in order to find good solutions. Or is it possible to write an outer loop just using Monte Carlo Simulated Annealing search instead of Leaver-Fay’s genetic algorithm?

          • #7390
            sokrypton
            Participant

              That is very helpful.
              Thanks a lot!

            • #7389
              Anonymous

                “Or is it possible to write an outer loop just using Monte Carlo Simulated Annealing search”

                Is it possible, yes. It is straightforward, no. Using the existing multistate code but replacing the genetic algorithm with MC seems to me that it would be rather inefficient compared to just rewriting the packer. Rewriting the packer to have the ability to score on only a subset of residues (actually you’d probably rewrite just the scorefunction) would be a productive but challenging way to spend a few months (actually, I think Andrew has been working on it off-and-on for a while now).

                If you only want binding energy, the multistate code is not slow. It’s nowhere near as fast as fixbb directly optimizing binding energy would be, but it’s not at all slow in wall-clock time. I suggest giving it a shot.

            Viewing 3 reply threads
            • You must be logged in to reply to this topic.