std::string OECreateIDString(const OEChem::OEMolBase &mol) OESystem::OEIterBase<const std::string> * OECreateIDStrings(const OEChem::OEMolBase &mol)
This pair of functions exposes the graph-edit similarity used in clustering BROOD hitlists. Because this is a naturally O(N^2), the API is designed for efficiency using an asymmetric approach. For any ‘accepted’ molecule, the OECreateIDStrings function is used to generate a set of all the canonical SMILES of fragments which would be considered similar to the input molecule (this can be stored for fast lookup). If one wants to determine if a new molecule is similar to the original molecule, OECreateIDString is called, and the single string generated is compared to all the strings previously created. If the new string is an exact match to any of the multiple strings created from the prior molecule, then the two molecules are deemed similar.