United Kingdom
I develop state of the art methods in artificial intelligence to apply to scientific problems.
Ongoing work includes deep learning for bounding entropy of protein neighbor graphs and sequence. Continuing work on generative models of protein side chains.
Thesis: “New methods using rigorous machine learning for coarse-grained protein folding and dynamics” Advisors: Karl Freed and Tobin Sosnick • Devised a graphical model approximation of protein side chain physics ◦ State-of-the-art accuracy and 300x faster than next most accurate model ◦ Samples protein folding dynamics 1,000 to 100,000x more efficiently than other protein simulation • Devised machine learning-based potential functions for protein simulation ◦ Used contrastive divergence to fit models of protein physics from experimental protein data using above graphical model approximation ◦ Developed methods to handle rugged and slow-mixing energy landscape ◦ Method predicts structure and dynamics of proteins consistent with available experimental data • Wrote C++ engine to unify machine learning and traditional molecular simulation that implements methodology described above (github.com/John-Jumper/Upside-MD) ◦ 15,000 lines of C++ and Python, parallelized with OpenMP and SIMD intrinsics ◦ Represents molecular forces through a backpropagated computation graph ◦ Runs as executable for protein simulator or Python library for parameter optimization • Supervised the training and research program of a PhD student since July 2016 ◦ Worked with the student to design a project that increases accuracy for multiple protein binding ◦ Taught the student C++ enabling him to modify Upside, along with teaching scientific computing, orienting the student to the relevant literature, aiding the student in interpreting results, and suggesting approaches to improve accuracy • Designed and supported extensive use of my research and simulation software within the research group ◦ Eight additional members of our research group have employed Upside simulations in their projects contributing to at least six forthcoming publications ◦ Worked with four other research group members to extend Upside and merged the changes after code reviews for both correctness and consistency
• Performed basic science research using molecular dynamics computer simulation ◦ Developed novel clustering algorithm to extract key dynamical states from extremely noisy observables in molecular simulations ◦ Studied the glass transition of supercooled liquids using extremely long dynamics simulation ◦ Performed careful comparison to simulation observables to validate accuracy ◦ Mentored and trained new scientific associate on supercooled liquids project (Jul–Sep 2011) ◦ Retained as a consultant though 2012 to provide scientific support on supercooled liquids • Software developer for high performance computing applications ◦ Developed and embedded a differentiable programming language to allow arbitrary modification of potential energy on company’s 250,000 line protein dynamics code. ◦ Consulted in the design and implementation of related functionality for use with the company’s special-purpose ASICs ◦ Developed a framework for incrementally-updating simulation analysis, enabling repeatable analysis of running experiments in minutes by caching terabytes of intermediate values ◦ Frequently consulted by senior software developers throughout the organization to translate requests from members of the science team to software requirements • Supported recruiting for scientific associate and senior scientist positions ◦ Presented research results at campus recruiting events ◦ Interviewed candidates for technical ability and organizational fit • Onboarded several scientific associates; taught them how to run efficient and correct molecular simulations and to develop software using in-house source code and dependency management