1 /*==============================================*/ 2 /* Copyright (C) 2019 NextMove Software */ 3 /* All rights reserved. */ 4 /* */ 5 /* This file is part of molhash. */ 6 /* */ 7 /* The contents are covered by the terms of the */ 8 /* BSD license, which is included in the file */ 9 /* license.txt. */ 10 /*==============================================*/ 11 12 // This file will disappear in a future release; please don't include it 13 // directly. Use MolHash.h instead. 14 15 #include <RDGeneral/export.h> 16 #ifndef NMS_MOLHASH_H 17 #define NMS_MOLHASH_H 18 19 #include <string> 20 #include <vector> 21 22 namespace RDKit { 23 class RWMol; 24 namespace MolHash { 25 enum class RDKIT_MOLHASH_EXPORT HashFunction { 26 AnonymousGraph = 1, 27 ElementGraph = 2, 28 CanonicalSmiles = 3, 29 MurckoScaffold = 4, 30 ExtendedMurcko = 5, 31 MolFormula = 6, 32 AtomBondCounts = 7, 33 DegreeVector = 8, 34 Mesomer = 9, 35 HetAtomTautomer = 10, 36 HetAtomProtomer = 11, 37 RedoxPair = 12, 38 Regioisomer = 13, 39 NetCharge = 14, 40 SmallWorldIndexBR = 15, 41 SmallWorldIndexBRL = 16, 42 ArthorSubstructureOrder = 17 43 }; 44 45 RDKIT_MOLHASH_EXPORT std::string MolHash(RWMol *mol, HashFunction func); 46 47 enum class RDKIT_MOLHASH_EXPORT StripType { 48 AtomStereo = 1, 49 BondStereo = 2, 50 Isotope = 4, 51 AtomMap = 8, 52 Hydrogen = 16 53 }; 54 55 RDKIT_MOLHASH_EXPORT void Strip(RWMol *mol, unsigned int striptype); 56 RDKIT_MOLHASH_EXPORT void SplitMolecule(RWMol *mol, std::vector<RWMol *> &molv); 57 } // namespace MolHash 58 } // namespace RDKit 59 #endif // NMS_MOLHASH_H 60