Hey Chris--We're right now using a mix of commercial and open source software like Omega, Corina, AMSOL, and Mol2DB. Probably the slowest step is generating the partial charges for each conformer with a reasonably high quality semi-empirical forcefield. I'm not sure if there are competitive (in terms of quality) GPU based methods, but if there were methods that were ~1000 times faster as can be the case for GPU based methods, it would definitely speed up the pre-computation or make on-the-fly prep feasible. Do you have any ideas of where we should look?
Co-author here (AMA)--A large-scale docking screen of 116M molecules takes ~1100 cpu days on our cluster, working out to about 1 mol/sec, which is very fast for virtual screening. What this doesn't account for is this requires about 30 minutes per compound to precompute information (conformations, partial charges, etc.). So this works out to ~6M cpu/hours to prepare the library for screening, which is a substantial amount of computation. We're loading about 1M molecules a day and have a 2-3 year backlog of compounds to load from Enamine.
The good news is that once the library is prepared, it is quick to screen at more targets--and we make the pre-computed library available at zinc15.docking.org.
Interestingly, as the library grows a limiting factor is storing the library on disk. It is now ~20T. We've set up several mirrors around the world for groups that are actively using it. An interesting problem will be to see if preparing compounds for screening on the fly (e.g. with machine learning models) can overcome this limitation to keep up with library growth.
A big question for us is what will the return on investment in screening larger and larger libraries be? One of the take aways from this work is if docking has moderate enrichment, than screening larger libraries not only gives more hits but actually can increase the hit-rate for the top scoring compounds.
You bring up very good issues and perhaps I'm being too optimistic. I definitely agree that there isn't going to be one single mapping of sequence --> energy landscape any time soon or even ever.
But I think there are subproblems that are easier because the search space is more limited[1] or the chemistry is easier (e.g. avoiding chemical reactions or interactions with high energy fields). I think often the major modeling challenge is identifying when it is feasible to take advantage of problem constraints or when lower levels of theory can be used. For example there are a range of "enhanced sampling methods" for molecular dynamics that e.g. constrain the the simulation to a reaction coordinate or assume Markov transitions between states so they can be computed on a distributed cluster.
Taking advantage of these opportunities often requires a fair amount of engineering to build appropriate representations. I wonder to what extent these representations can be learned?
autoencoders are unsupervised learning where CNNs are supervised. Learning the input space can be thought of as a form of regularization when training data is scarce. http://www.deeplearningbook.org/ is a wonderful resource to learn more about why and when to use different architectures.
Molecular dynamics simulations can be used to answer a range of structural biology questions, but abstractly many of them can be phrased as evaluating the difference in free energy between different conformational states. In molecular dynamics this is done by thermodynamic integrating the energy of over the state space volume for each of the conformational states.
An alternative approach is to directly map conformational states to their free energy. This leads to a problem of searching for candidate conformational states (e.g. the folded state, transition states etc.) and scoring them. Usually for a given computational budget there is a trade off between better conformational sampling or higher accuracy energy scoring.
Historically, searching and scoring methods have been designed separately. For example [1] improves sampling while [2] improves energetics. This is done because they historically involved different aspects of the simulation and each is lot of work. But searching and sampling are not really separable, in that the deeper one samples the more challenging the task of the scoring function becomes--discriminating stable from unstable conformations.
Another application that can be thought of as searching and scoring is the game of GO. My impression is that one of the major breakthroughs with AlphaGo is that they were able to integrate models for searching and scoring together and learn the models simultaneously. It would be awesome if similar architectures could be applied to molecular modeling.
A remaining challenge in applying GO models to molecular biology is that while the representation and scoring rules for GO are fixed and quite easy, the ground truth for molecular simulations comes from heterogenous experimental data (X-ray crystal structures, small molecule activities, directed evolution antibody screens etc.) and higher levels of theory QM simulations, which have their own challenges. However, I think the principles carry over--complicated scoring functions (e.g. free energy) over large state spaces (e.g. protein conformation space or chemical space) can be learned by combining models for searching and scoring. I think deep learning is poised to tackle these problems.
[1] (Conway, et al., 2013, DOI: 10.1002/pro.2389)
Relaxation of backbone bond geometry improves protein energy landscape modeling
[2] (Park, 2016, PMID: 27766851)
Simultaneous optimization of biomolecular energy function on features from small molecules and macromolecules.
Several people have asked for background material for the workshop--
(Wallach, 2015, http://arxiv.org/pdf/1510.02855.pdf)
AtomNet: A Deep Convolutional Neural Network for Bioactivity Prediction in Structure-based Drug Discovery
(Gómez-Bombarelli, 2016, doi:10.1038/nmat4717)
Design of efficient molecular organic light-emitting diodes by a high-throughput virtual screening and experimental approach
and of course
(Gómez-Bombarelli, 2016, https://arxiv.org/abs/1610.02415)
Automatic chemical design using a data-driven continuous representation of molecules
In theory I think you are right--there should be a tower of representations from low-res/fast to high-res/slow. Though in practice it has been hard to make multi-resolution modeling work together. For example for proteins, where the backbone is much more regular than small molecules Rosetta has "centroid mode" and "full atom mode". There is also MM/QM models where just the active site is modeled with higher level of theory representation.
For virtual screening it is possible to speed things up by say not taking into account receptor flexibility or ignoring explicit interactions with water.
As for lower resolution representations of small molecules, there is ROCS[1] and friends which represents small molecules with a set of gaussians.
One of challenges with low-resolution representations is that the aims of virtual screening is often to find novel backbones that may interact with the protein. So any low-resolution representation should mix different backbones into the same cluster, but finding such a representation is difficult, given the diversity of small molecules.
As for U47700, finding the mechanism of action for drugs that treat complex processes like pain is quite difficult. Also small molecules often interact with numerous targets so deconstructing how it works is non trivial. Part of the motivation for PZM21 is to try to separate out the downstream effects of hitting the mu-opioid receptor as a "biased" ligand. I think PZM21 with its new scaffold will help disentangle the effects of classical opioids.
I think one of the biggest potential for molecular autoencoders is that they can be used to generate inputs for virtual high throughput screening campaigns to predict new drugs. The idea would be to train models to predict compounds that can be evaluated with more physically realistic molecular docking simulations --> in vitro activity assays --> animal models --> and then clinical trials as it goes through the pipeline.
Here is an example from our lab using virtual screening to develop PZM21 to treat pain [1]. where we screened 3M compounds. We would have liked to have screened 10^6 fold more compounds to cover easily synthesizable chemical space in this as well as other campaigns, but that is currently computationally infeasible. If molecular autoencoders could help us more efficiently screen this space, it would be huge.
I'm co-organizing a free, 1-day workshop for deep learning for chemoinformatics at Stanford Nov 11th. We've got ~75 mostly computational chemistry researchers coming. I would love to have more machine learning researchers come as well. The website is deepchemworkshop.docking.org, or PM if any of you think you may be interested.
[1] Manglik, et al. Structure-based discovery of opioid analgesics with reduced side effects (doi:10.1038/nature19112)