160 likes | 293 Views
Automatic nanodesign using evolutionary techniques. Al Globus, MRJ Technology Solutions, Inc. at NASA Ames Research Center John Lawton, U.C. at Santa Cruz Todd Wipke, U.C. at Santa Cruz. Problem. Many molecules must be designed Often only requirements known
E N D
Automatic nanodesign using evolutionary techniques Al Globus, MRJ Technology Solutions, Inc. at NASA Ames Research Center John Lawton, U.C. at Santa Cruz Todd Wipke, U.C. at Santa Cruz
Problem • Many molecules must be designed • Often only requirements known • Existing design techniques generally manpower intensive • Genetic software can automatically design systems • Molecular graph representation rarely supported by genetic software
Hypothesis Crossover alone, operating on graphs, can evolve any possible molecule given an appropriate fitness function and a population containing both rings and chains. This hypothesis is supported but not proven.
Genetic software • Randomly generate a set of molecules • Many times: • Select parent molecules at random with bias towards better performance • Randomly rip copies of each parent in two • Mate opposite halves • Replace random molecules with bias towards worse performance • Repeat until satisfied
Algorithm properties • Stochastic • Embarrassingly parallel • Robust to failure • No guaranteed outcome • Fitness function is crucial and non-trivial • Performs well as cycle-scavenger • 300-400 NAS user workstations • ~2.5 million idle workstation hours/year • Condor, University of Wisconsin, http://www.cs.wisc.edu/condor
Previous work • Patent US5434796, David Weininger, Daylight Chemical Information Systems, Inc. 1995 • two parameter crossover; fragments • some commercial success • Robert B. Nachbar, Merck Research Laboratories, 1998 • tree representation • no crossover within rings • Astro Teller, CMU, 1998? • Neural Programming
Crossover: rip in half • Choose random bond • Find the shortest path • Remove and remember random path bond • Repeat until cut set found
Crossover: mate halves • Select a random cut bond • If cut bond in other half exist • choose one at random • merge cut bonds, respect valence • else • flip coin • heads -- attach cut bond to random atom in other half respecting valence • tails -- discard cut bond • repeat until all cut bonds processed
Fitness function • Given two molecules, decides which is better • Must operate on any molecule, including very bad ones • Must provide routes for evolution to reach good molecules • Must make fine distinctions
Molecular target • All-pairs-shortest-path (APSP) distance • Assign extended types to each atom (element plus bond pattern) • Find shortest path between each pair of atoms • Create bag where each element is the extended types and length of each shortest path • Tanimoto distance between bags • |intersection| / |union|
Future work • Drug discovery (preliminary results) • Chemical stability fitness function • Circuits • Improvements in cycle-scavenging • Data to Java server instead of file system • Generic Java checkpointing • problem: stack not consistent format
Summary • Genetic software techniques applied to molecular graphs • Molecular design works but needs improvement • Robust cycle-stealing execution • Technique should generalize to other graph problems
Acknowledgments • John Lawton, UCSC • Todd Wipke, UCSC • Creon Levit, NASA Ames • Jason Lohn, Caelum, Inc. at NASA Ames • Rich McClellan, UCSC • Subash Saini, NASA Ames • Meyya Meyyapan, NASA Ames