You are here

Interface Design

3 posts / 0 new
Last post
Interface Design

I am using Rosetta to help design a protein to bind to another protein. Basically, I am taking a known protein/protein interaction, changing some of the residues on one partner, and then asking Rosetta to make compensatory changes on the other partner so that they still bind. Currently, I am basically creating a PackRotamersMover object, allowing the interface residues on the designable protein to be any AA, and then outputting a number of decoys, and examining the lowest scored decoys.

PackRotamersMover uses a simulated annealing approach to try to find a local minimum of the energy of the protein/protein complex. However, what might be more useful would be if I were able to try and find a local minimum of the energy of the complex - the sum of the energies of the two proteins separately - in other words try and find the local minimum of the free energy of binding. This should help to find binding partners with higher affinity.

I was thinking about trying to create a new PackRotamersMover object that used this criteria for minimization instead of simply minimizing the total energy score. I had a few questions before I begin that work though.

1) I know that there are other people working on interface design procedures. The descriptions I have read though are typically more complex than the one I am describing here. They often involve docking during the design process for instance. I'm thinking that these approaches might be a bit more robust, but much more computationally complex. My approach would be a simpler (and potentially less accurate) approach. I haven't seen full descriptions of the protocols other people are developing though, so perhaps they are also doing something similar to what I have described? Does anyone have any insight into whether this approach I am suggesting would be useful, or maybe it's already been done?

2) Looking through the Rosetta code, it looks like the slight change I am suggesting is non-trivial. I was thinking of basically creating a new PackRotamersInterfaceMover which would more or less mirror the PackRotamersMover. The PackRotamersMover currently creates a SimAnnealer object which handles the simulated annealing routine. This in turn calls a function on an InteractionGraph which calculates the current energy of the proposed substitution. So I am thinking that I would need to create a new InteractionGraph which would insert the new residue and/or rotamer, calculate the energy, then split the pose, calculate the energies on each of the new poses, and then return the difference as described above. I'm guessing there's a more efficient way though, rather than creating new poses each time the interaction graph is considering a substitution. Does anyone have any insight into a more efficient means of attack?

Thanks for any comments and or suggestions.


Post Situation: 
Wed, 2010-12-08 07:25

Are you in the Degrado lab? Jenny forwarded exactly this question to me.

The short answer is, your proposed new packer that optimizes ddg instead of total energy is probably the most straightforward method. "Straightforward" means probably several months of work.

The more general solution to this problem is multistate design. Your states are bound (optimized) and unbound (deoptimized). There is a multistate algorithm being included in the 3.2 release. I'm pasting part of an email:

What [you] described is basically multistate design, which I have been doing a lot of lately.

I have some unreleased code in devel/ that is really powerful, but which is not exactly a Mover; it doesn't let you include multistate design as a step in a larger protocol. However, Justin Ashworth does have a multistate design mover that I believe will allow you to do something very close to what [you] described. I think its implemented in the "ProteinInterfaceMultistateDesignMover".

That class will definitely be included in the upcoming release (3.2) which is in progress."

Wed, 2010-12-08 07:32

This sounds good, but may be unphysical. If you were able to find a high affinity complex but the total energy score was high, one or two partners of the complex may be unstable.

Thu, 2010-12-09 19:14