  A fundamental problem in drug discovery is to design molecules that bind to
specific proteins. To tackle this problem using machine learning methods, here
we propose a novel and effective framework, known as GraphBP, to generate 3D
molecules that bind to given proteins by placing atoms of specific types and
locations to the given binding site one by one. In particular, at each step, we
first employ a 3D graph neural network to obtain geometry-aware and chemically
informative representations from the intermediate contextual information. Such
context includes the given binding site and atoms placed in the previous steps.
Second, to preserve the desirable equivariance property, we select a local
reference atom according to the designed auxiliary classifiers and then
construct a local spherical coordinate system. Finally, to place a new atom, we
generate its atom type and relative location w.r.t. the constructed local
coordinate system via a flow model. We also consider generating the variables
of interest sequentially to capture the underlying dependencies among them.
Experiments demonstrate that our GraphBP is effective to generate 3D molecules
with binding ability to target protein binding sites. Our implementation is
available at https://github.com/divelab/GraphBP.
