  Retrosynthesis is a procedure where a target molecule is transformed into
potential reactants and thus the synthesis routes can be identified. Recently,
computational approaches have been developed to accelerate the design of
synthesis routes. In this paper, we develop a generative framework
$\mathsf{G^2Retro}$ for one-step retrosynthesis prediction. $\mathsf{G^2Retro}$
imitates the reversed logic of synthetic reactions. It first predicts the
reaction centers in the target molecules (products), identifies the synthons
needed to assemble the products, and transforms these synthons into reactants.
$\mathsf{G^2Retro}$ defines a comprehensive set of reaction center types, and
learns from the molecular graphs of the products to predict potential reaction
centers. To complete synthons into reactants, $\mathsf{G^2Retro}$ considers all
the involved synthon structures and the product structures to identify the
optimal completion paths, and accordingly attaches small substructures
sequentially to the synthons. Here we show that $\mathsf{G^2Retro}$ is able to
better predict the reactants for given products in the benchmark dataset than
the state-of-the-art methods.
