22#ifndef RD_STRUCTCHECKER_H_Oct2016
23#define RD_STRUCTCHECKER_H_Oct2016
27#include "../RDKitBase.h"
30namespace StructureCheck {
167 const std::vector<std::pair<AugmentedAtom, AugmentedAtom>> &aaPairs);
177 const std::vector<std::string> &smarts);
181 const std::string &path);
183 const std::vector<std::string> &smarts);
187 const std::string &path);
189 const std::vector<std::string> &smarts);
194 const std::vector<std::string> &smartsTo);
196 const std::vector<ROMOL_SPTR> &to);
249 BAD_MOLECULE = 0x0001,
250 ALIAS_CONVERSION_FAILED = 0x0002,
251 STEREO_ERROR = 0x0004,
252 STEREO_FORCED_BAD = 0x0008,
254 ATOM_CHECK_FAILED = 0x0020,
255 SIZE_CHECK_FAILED = 0x0040,
257 TRANSFORMED = 0x0100,
258 FRAGMENTS_FOUND = 0x0200,
259 EITHER_WARNING = 0x0400,
260 DUBIOUS_STEREO_REMOVED = 0x0800,
262 STEREO_TRANSFORMED = 0x2000,
263 TEMPLATE_TRANSFORMED = 0x4000,
264 TAUTOMER_TRANSFORMED = 0x8000,
266 BAD_SET = (BAD_MOLECULE | ALIAS_CONVERSION_FAILED | STEREO_ERROR |
267 STEREO_FORCED_BAD | ATOM_CLASH | ATOM_CHECK_FAILED |
270 TRANSFORMED_SET = (TRANSFORMED | FRAGMENTS_FOUND | EITHER_WARNING |
271 DUBIOUS_STEREO_REMOVED | STEREO_TRANSFORMED |
272 TEMPLATE_TRANSFORMED | TAUTOMER_TRANSFORMED | RECHARGED),
281 : Options(options) {}
RWMol is a molecule class that is intended to be edited.
Class for performing structure validation and cleanup.
StructChecker(const StructCheckerOptions &options)
static std::string StructureFlagsToString(unsigned flags)
static unsigned StringToStructureFlags(const std::string &str)
void SetOptions(const StructCheckerOptions &options)
const StructCheckerOptions & GetOptions() const
unsigned checkMolStructure(RWMol &mol) const
#define RDKIT_STRUCTCHECKER_EXPORT
static const char * symbol[119]
RDKIT_STRUCTCHECKER_EXPORT bool loadOptionsFromFiles(StructCheckerOptions &op, const std::string &augmentedAtomTranslationsFile="", const std::string &patternFile="", const std::string &rotatePatternFile="", const std::string &stereoPatternFile="", const std::string &tautomerFile="")
RDKIT_STRUCTCHECKER_EXPORT bool parseOptionsJSON(const std::string &json, StructCheckerOptions &op)
static const int ANY_CHARGE
bool rdvalue_is(const RDValue_cast_t)
std::vector< Ligand > Ligands
AugmentedAtom(const std::string &symbol, const std::string &name, int charge, RadicalType radical, AATopology topology)
unsigned SubstitutionCount
std::vector< AugmentedAtom > GoodAtoms
void setRotatePatterns(const std::vector< ROMOL_SPTR > &p)
bool loadAcidicAugmentedAtoms(const std::string &path)
bool loadRotatePatterns(const std::string &path)
bool loadChargeDataTables(const std::string &path)
bool loadGoodAugmentedAtoms(const std::string &path)
std::map< unsigned, double > ElnegTable
void setGoodAugmentedAtoms(const std::vector< AugmentedAtom > &acidicAtoms)
bool RemoveMinorFragments
bool loadAugmentedAtomTranslations(const std::string &path)
std::vector< IncEntry > ChargeIncTable
std::vector< ROMOL_SPTR > StereoPatterns
void setAugmentedAtomTranslations(const std::vector< std::pair< AugmentedAtom, AugmentedAtom > > &aaPairs)
void parseStereoPatterns(const std::vector< std::string > &smarts)
std::vector< AugmentedAtom > AcidicAtoms
void parseTautomerData(const std::vector< std::string > &smartsFrom, const std::vector< std::string > &smartsTo)
void parsePatterns(const std::vector< std::string > &smarts)
std::vector< ROMOL_SPTR > RotatePatterns
std::vector< ROMOL_SPTR > Patterns
std::vector< IncEntry > AtomAcidity
std::vector< PathEntry > AlphaPathTable
bool loadStereoPatterns(const std::string &path)
std::vector< ROMOL_SPTR > ToTautomer
int CollisionLimitPercent
void setPatterns(const std::vector< ROMOL_SPTR > &p)
void setStereoPatterns(const std::vector< ROMOL_SPTR > &p)
void setTautomerData(const std::vector< ROMOL_SPTR > &from, const std::vector< ROMOL_SPTR > &to)
std::vector< ROMOL_SPTR > FromTautomer
void setAcidicAugmentedAtoms(const std::vector< AugmentedAtom > &acidicAtoms)
void parseRotatePatterns(const std::vector< std::string > &smarts)
std::vector< std::pair< AugmentedAtom, AugmentedAtom > > AugmentedAtomPairs
bool loadPatterns(const std::string &path)
bool loadTautomerData(const std::string &path)