Solving and analyzing side-chain positioning problems using linear and integer programming.
BACKGROUND
Side-chain positioning is a central component of homology modeling and protein design. In a common formulation of the problem, the backbone is fixed, side-chain conformations come from a rotamer library, and a pairwise energy function is optimized. It is NP-complete to find even a reasonable approximate solution to this problem. We seek to put this hardness result into practical context.


RESULTS
We present an integer linear programming (ILP) formulation of side-chain positioning that allows us to tackle large problem sizes. We relax the integrality constraint to give a polynomial-time linear programming (LP) heuristic. We apply LP to position side chains on native and homologous backbones and to choose side chains for protein design. Surprisingly, when positioning side chains on native and homologous backbones, optimal solutions using a simple, biologically relevant energy function can usually be found using LP. On the other hand, the design problem often cannot be solved using LP directly; however, optimal solutions for large instances can still be found using the computationally more expensive ILP procedure. While different energy functions also affect the difficulty of the problem, the LP/ILP approach is able to find optimal solutions. Our analysis is the first large-scale demonstration that LP-based approaches are highly effective in finding optimal (and successive near-optimal) solutions for the side-chain positioning problem.
Kingsford
Carleton L
CL
Department of Computer Science and the Lewis-Sigler Institute for Integrative Genomics, Princeton University Princeton, NJ 08544, USA.
Chazelle
Bernard
B
Singh
Mona
M
D000465:Algorithms; D000595:Amino Acid Sequence; D003198:Computer Simulation; D008956:Models, Chemical; D008969:Molecular Sequence Data; D009716:Numerical Analysis, Computer-Assisted; D011382:Programming, Linear; D017510:Protein Folding; D017433:Protein Structure, Secondary; D011506:Proteins / Q000032:analysis / Q000737:chemistry* / Q000145:classification; D016415:Sequence Alignment / Q000379:methods*; D020539:Sequence Analysis, Protein / Q000379:methods*; D017386:Sequence Homology, Amino Acid; D012984:Software; D013329:Structure-Activity Relationship
D011506:Proteins