title: Solving and analyzing side-chain positioning problems using linear and integer programming.
abstract: 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.
authors.affiliation: Department of Computer Science and the Lewis-Sigler Institute for Integrative Genomics, Princeton University Princeton, NJ 08544, USA.
authors.forename: Carleton L
authors.initials: CL
authors.lastname: Kingsford
authors.forename: Bernard
authors.initials: B
authors.lastname: Chazelle
authors.forename: Mona
authors.initials: M
authors.lastname: Singh
mesh_terms: 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
chemical_list: D011506:Proteins