16 #ifndef RD_MOLSTANDARDIZE_H
17 #define RD_MOLSTANDARDIZE_H
27 namespace MolStandardize {
44 const char *rdbase_cstr = std::getenv(
"RDBASE");
47 std::string rdbase = rdbase_cstr !=
nullptr ? rdbase_cstr :
"";
54 bool preferOrganic{
false};
56 bool doCanonical{
true};
58 int maxTautomers{1000};
60 int maxTransforms{1000};
62 bool tautomerRemoveSp3Stereo{
65 bool tautomerRemoveBondStereo{
68 bool tautomerRemoveIsotopicHs{
71 bool tautomerReassignStereo{
74 bool largestFragmentChooserUseAtomCount{
77 bool largestFragmentChooserCountHeavyAtomsOnly{
82 std::vector<std::tuple<std::string, std::string, std::string>>
acidbaseData;
83 std::vector<std::tuple<std::string, std::string, std::string, std::string>>
132 bool skipStandardize =
false);
139 bool skip_standardize =
false);
145 bool skip_standardize =
false);
151 bool skip_standardize =
false);
158 bool skip_standardize =
false);
165 bool skip_standardize =
false);
171 const std::string &smiles);
186 true,
true,
false,
true});
190 true,
true,
false,
true});
194 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 void disconnectOrganometallics(RWMol &mol, RDKit::MolStandardize::MetalDisconnectorOptions mdo={ true, true, false, true})
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