You are here

Changing scoring function for fixbb protocol

5 posts / 0 new
Last post
Changing scoring function for fixbb protocol
#1

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!

Post Situation: 
Sat, 2012-07-07 18:43
mdyini

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.

Sat, 2012-07-07 21:19
smlewis

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?

Sun, 2012-07-08 09:28
mdyini

"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.

Mon, 2012-07-09 07:51
smlewis

That is very helpful.
Thanks a lot!

Mon, 2012-07-09 08:23
mdyini