Question: Line 12 of the pseudo code in appendix is not clear about how to do “mol.merge(piece)”. Line 10 finds only the most frequent piece? Or the two most frequent pieces? What if these two most ferquent pieces are not connectable in molecules?
Evidence: We compare the statistical characteristics of the vocabulary of JT-VAE that contains 780 substructures and the vocabulary of graph pieces with a size of 100, 300, 500, and 700. Figure shows the proportion of substructures with different numbers of atoms in the vocabulary and their frequencies of occurrence in the ZINC250K dataset. The substructures in the vocabulary of JT-VAE mainly concentrate on 5 to 8 atoms with a sharp distribution. However, starting from substructures with 3 atoms, the frequency of occurrence is already close to zero. Therefore, the majority of substructures in the vocabulary of JT-VAE are actually not common substructures. On the contrary, the substructures in the vocabulary of graph pieces have a relatively smooth distribution over 4 to 10 atoms. Moreover, these substructures also have a much higher frequency of occurrence compared to those in the vocabulary of JT-VAE. We present samples of graph pieces in Appendix H.
Figure: The left and right figures show the proportion of and frequency of occurrence of substructures with different number of atoms in the vocabulary, respectively.
To analyze the graph piece-property correlation and whether our model can discover and utilize the correlation, we present the normalized distribution of generated graph pieces and Pearson correlation coefficient between the graph pieces and the score of Penalized logP (PlogP) in Figure.
The curve of the Pearson correlation coeffcient indicates that some graph pieces positively correlate with PlogP and some negatively correlate with it. Compared with the flat distribution under the nonoptimization setting, the generated distribution shifts towards the graph pieces positively correlated with PlogP under the PlogP-optimization setting. The generation of graph pieces negatively correlated with PlogP is also suppressed. Therefore, correlations exist between graph pieces and PlogP, and our model can accurately discover and utilize these correlations for PlogP optimization.
The algorithm for extracting graph pieces from a given set of graphs D is given in Algorithm 1. Our algorithm draws inspiration from Byte Pair Encoding (Gage, 1994, BPE). Initially, a graph G in D is decomposed into atom-level graph pieces and the vocabulary S of graph pieces is composed of all unique atom-level graph pieces that appear in D. Given the number N of graph pieces to learn, at each iteration, our algorithm enumerates all neighboring graph pieces and edges that connect the two graph pieces in G, namely hPi ,Pj , E˜ ij i. As hPi ,Pj , E˜ ij i is also a valid subgraph, we merge it into a graph piece and count its occurrence. We find the most frequent merged graph piece P and add it into the vocabulary S. After that, we also update graphs G in D that contain P by merging hPi ,Pj , E˜ ij i into P. The algorithm terminates when the vocabulary size exceeds the predefined number N. Note that we use SMILES (Weininger, 1988) to represent a graph piece in our algorithm1 , therefore we ensure the uniqueness of a graph piece. A running example of our graph piece extraction algorithm is illustrated in Figure 3. At test time, we first decompose a molecular graph into atom-level graph pieces, then apply the learned operations to merge the graph pieces into larger ones. This process ensures there is a piece-level decomposition for an arbitrary molecule.****Then the algorithm iteratively merge the graph piece pair which has the highest recorded frequency of occurrence in the
vocabulary until all graph piece pairs are not in the vocabulary.
Answer: We are sorry we didn't make it clear. Line 10 only finds the most frequent piece pair and Line 12 merge the piece pair into a single piece. The definition of piece pair is a pair of neighboring graph pieces with connections between them, therefore the two pieces in a piece pair must connect with each other. We have rewritten the pseudo code and added detailed comments. Also, we move it from the appendix to Section 3.1 for better illustration.