(Web) Genetic Programming for Bioorthogonal Chemistry

Zeke Nierenberg


Agenda

  1. Symbolic Regression Genetic Programming
  2. Bioorthogonal Chemistry
  3. Talk about 'em together!
Month Temp
1 33
2 37
3 45
4 58
5 69
6 78
7 82
8 81
9 73
10 62
11 49
12 38

A random solution taking Month as an input, returning Temp

function(month){  return sum(pd(month,month),month);  }
Month Temp (calc) Temp (exp) Δ
1 2 33 31
2 3 37 34
3 4 45 41
4 5 58 53
5 6 69 63
6 7 78 71
7 8 82 74
8 9 81 72
9 10 73 63
10 11 62 51
11 12 49 37
12 13 38 25

A generation

0204060801001201401602.32.42.52.62.72.82.93.03.13.23.33.4individual(i)log_10(error)

We breed the programs for 3 generations

-100-500501001502002503003504004505002.53.03.54.04.55.0individual(i)log_10(error)
function(m){ 
  return sum(m,sum(sum(0.85,mult(m,3.96)),4.94)); 
}

Live Demonstration

Ready? Now, chemistry...

Bertozzi, PNAS 2010 1821

Bioorthogonal Chemistry

Diels-Alder Cycloaddition (1950 Nobel Prize)


This browser does not support HTML5/Canvas.

Cycloadditions are tempting for bioorthogonal chemistry:

We want a program that predicts the reaction rate of cycloadditions. It would take the structures of the reactants, solvent, and product as inputs. It would return a rate constant k.

Live Demonstration

function(...){ return pd(sum(solvant_cmr,pd(sum(sum(mult(dieneophile_h,solvant_cmr),pd(solvant_cmr,pd(sum(sum(mult(dieneophile_h,solvant_cmr),pd(diene_deg_unsat,subtract(dieneophile_s,sum(solvant_cl,dieneophile_cmr)))),subtract(subtract(mult(product_hba,pd(dieneophile_hbd,diene_hba)),pd(product_mw,product_mw)),pd(diene_pol_miller,temperature))),solvant_cmr))),subtract(sum(pd(diene_pol_miller,product_c),subtract(diene_cmr,dieneophile_tpsa)),subtract(pd(solvant_tpsa,subtract(solvant_xlogp2,dieneophile_xlogp2)),pd(subtract(pd(dieneophile_tpsa,sum(pd(subtract(solvant_pol_miller,solvant_s),solvant_mw),sum(subtract(diene_c,diene_h),solvant_cl))),sum(pd(sum(solvant_o,diene_c),subtract(pd(solvant_hba,dieneophile_hbd),pd(subtract(pd(dieneophile_hba,diene_h),sum(pd(solvant_hba,dieneophile_hbd),pd(subtract(diene_o,product_h),dieneophile_deg_unsat))),dieneophile_deg_unsat))),pd(diene_deg_unsat,subtract(pd(diene_pol_miller,product_c),subtract(diene_cmr,dieneophile_tpsa))))),dieneophile_deg_unsat)))),solvant_cmr)),subtract(product_c,diene_xlogp2)); }

Next Steps

This browser does not support HTML5/Canvas.

Thank you

You can see this presentation later at: http://bit.ly/STtD0k