Computational protein design as an optimization problem
Résumé
After less than two decades, an increasing number of new proteins have been designed following a semi-rational design process. The ultimate aim of Protein Design is to produce an amino-acid sequence (a protein) that will fold in 3D-space according to a desired scaffold. In most cases, the aim is to obtain a new enzyme catalyzing a new reaction, improving an existing catalysis or creating affinity for new partners. The design may also have nanotechnological purposes.Applications are numerous, including in medecine, bioenergies, food and cosmetics.
With 20 amino-acids, the space of all amino-acid sequences is extremely combinatorial and its systematic exploration, even if it is directed through experimental selection, is out of reach of experimental approaches. To focus this search, the rational design approach consists in modeling the protein as a 3D object, subjected to various forces (internal torsions, van der Waals, electrostatic, hydrogen bonds and solvation) and to seek an optimal sequence, with criteria that include stability and affinity for a chosen partner.
Even with strong simplifying assumptions, this defines very complex combinatorial optimization problems, from both a modeling and solving perspective. At the core of most existing stability approaches lies a simple formulation of this problem, with a rigid scaffold, flexible side-chains represented by a discrete library of conformations (rotamers) and a decomposable energy field. We will see how this NP-hard problem can be modeled using a variety of usual discrete optimization frameworks from both Artificial Intelligence (Constraint Programming, Satisfiability, Machine Learning) and Operations Research (Integer Linear and Quadratic Programming and Optimization). On a benchmark of CPD problems, the efficiency of these different approaches varies tremendously. Among all those, we will quickly detail how the most successful approach works.