16 #ifndef RD_MOLSTANDARDIZE_H
17 #define RD_MOLSTANDARDIZE_H
26 namespace MolStandardize {
43 const char *rdbase_cstr = std::getenv(
"RDBASE");
46 std::string rdbase = rdbase_cstr !=
nullptr ? rdbase_cstr :
"";
53 bool preferOrganic{
false};
55 bool doCanonical{
true};
57 int maxTautomers{1000};
59 int maxTransforms{1000};
61 bool tautomerRemoveSp3Stereo{
64 bool tautomerRemoveBondStereo{
67 bool tautomerRemoveIsotopicHs{
70 bool tautomerReassignStereo{
75 std::vector<std::tuple<std::string, std::string, std::string>>
acidbaseData;
76 std::vector<std::tuple<std::string, std::string, std::string, std::string>>
125 bool skipStandardize =
false);
132 bool skip_standardize =
false);
138 bool skip_standardize =
false);
144 bool skip_standardize =
false);
151 bool skip_standardize =
false);
158 bool skip_standardize =
false);
164 const std::string &smiles);
168 const std::string &smiles,
pulls in the core RDKit functionality
RWMol is a molecule class that is intended to be edited.
#define RDKIT_MOLSTANDARDIZE_EXPORT
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * removeFragments(const RWMol *mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as FragmentRemover().remove(mol)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * tautomerParent(const RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skipStandardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * canonicalTautomer(const RWMol *mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as TautomerEnumerator().canonicalize(mol)
RDKIT_MOLSTANDARDIZE_EXPORT std::vector< std::string > enumerateTautomerSmiles(const std::string &smiles, const CleanupParameters ¶ms=defaultCleanupParameters)
TODO.
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * cleanup(const RWMol *mol, const CleanupParameters ¶ms=defaultCleanupParameters)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * stereoParent(const RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
calls removeStereochemistry() on the given molecule
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * fragmentParent(const RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * reionize(const RWMol *mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as Reionizer().reionize(mol)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * chargeParent(const RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT const CleanupParameters defaultCleanupParameters
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * isotopeParent(const RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
removes all isotopes specifications from the given molecule
RDKIT_MOLSTANDARDIZE_EXPORT std::string standardizeSmiles(const std::string &smiles)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * superParent(const RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * normalize(const RWMol *mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as Normalizer().normalize(mol)
RDKIT_MOLSTANDARDIZE_EXPORT void updateCleanupParamsFromJSON(CleanupParameters ¶ms, const std::string &json)
std::string normalizations
std::vector< std::tuple< std::string, std::string, std::string, std::string > > tautomerTransformData
std::vector< std::tuple< std::string, std::string, std::string > > acidbaseData
std::vector< std::pair< std::string, std::string > > fragmentData
std::vector< std::pair< std::string, std::string > > normalizationData
std::string tautomerTransforms