Department of Applied Mathematics and Physics, Graduate School of Informatics, Kyoto University, Yoshida, Kyoto 606-8501, Japan.
J Chem Inf Model. 2011 Nov 28;51(11):2788-807. doi: 10.1021/ci200084b. Epub 2011 Oct 25.
Exhaustive and nonredundant generation of stereoisomers of a chemical compound with a specified constitution is an important tool for molecular structure elucidation and molecular design. It is known that many chemical compounds have outerplanar graph structures. In this paper we deal with chemical compounds composed of carbon, hydrogen, oxygen, and nitrogen atoms whose graphical structures are outerplanar and consider stereoisomers caused only by asymmetry around carbon atoms. Based on dynamic programming, we propose an algorithm of generating all stereoisomers without duplication. We treat a given outerplanar graph as a graph rooted at its structural center. Our algorithm first recursively computes the number of stereoisomers of the subgraph induced by the descendants of each vertex and then constructs each stereoisomer by backtracking the process of computing the numbers of stereoisomers. Our algorithm correctly counts the number of stereoisomers in O(n) time and space and correctly enumerates all of the stereoisomers in O(n³) time per stereoisomer on average and in O(n) space, where n is the number of atoms in a given structure.
穷尽且无冗余地生成具有指定结构的化合物的立体异构体是阐明分子结构和分子设计的重要工具。已知许多化合物具有外平面图形结构。本文研究了由碳原子、氢原子、氧原子和氮原子组成的化合物,其图形结构为外平面,并且只考虑由碳原子周围的不对称性引起的立体异构体。基于动态规划,我们提出了一种无重复生成所有立体异构体的算法。我们将给定的外平面图形视为以其结构中心为根的图形。我们的算法首先递归计算每个顶点后代诱导的子图的立体异构体数量,然后通过回溯计算立体异构体数量的过程来构造每个立体异构体。我们的算法以 O(n)的时间和空间复杂度正确计算立体异构体的数量,并以 O(n³)的时间复杂度平均生成每个立体异构体,以 O(n)的空间复杂度生成所有立体异构体,其中 n 是给定结构中原子的数量。