16#ifndef RD_MOLSTANDARDIZE_H
17#define RD_MOLSTANDARDIZE_H
27namespace 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>>
111 std::vector<RWMol *> &mols,
int numThreads = 1,
123 std::vector<RWMol *> &mols,
int numThreads = 1,
135 std::vector<RWMol *> &mols,
int numThreads = 1,
147 std::vector<RWMol *> &mols,
int numThreads = 1,
167 std::vector<RWMol *> &mols,
int numThreads = 1,
181 std::vector<RWMol *> &mols,
int numThreads = 1,
194 std::vector<RWMol *> &mols,
int numThreads = 1,
207 std::vector<RWMol *> &mols,
int numThreads = 1,
222 std::vector<RWMol *> &mols,
int numThreads = 1,
236 std::vector<RWMol *> &mols,
int numThreads = 1,
244 const std::string &smiles);
259 true,
true,
false,
true});
263 true,
true,
false,
true});
267 true,
true,
false,
true}) {
273 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 void fragmentParentInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT void tautomerParentInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skipStandardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * reionize(const RWMol *mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as Reionizer().reionize(mol)
void disconnectOrganometallicsInPlace(RWMol &mol, RDKit::MolStandardize::MetalDisconnectorOptions mdo={ true, true, false, true})
As above, included for API consistency.
RDKIT_MOLSTANDARDIZE_EXPORT std::vector< std::string > enumerateTautomerSmiles(const std::string &smiles, const CleanupParameters ¶ms=defaultCleanupParameters)
TODO.
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 RWMol * tautomerParent(const RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skipStandardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * fragmentParent(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 RWMol * removeFragments(const RWMol *mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as FragmentRemover().remove(mol)
RDKIT_MOLSTANDARDIZE_EXPORT void superParentInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * canonicalTautomer(const RWMol *mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as TautomerEnumerator().canonicalize(mol)
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 const CleanupParameters defaultCleanupParameters
RDKIT_MOLSTANDARDIZE_EXPORT void stereoParentInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT void normalizeInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as Normalizer().normalizeInPlace(mol)
RDKIT_MOLSTANDARDIZE_EXPORT void disconnectOrganometallics(RWMol &mol, RDKit::MolStandardize::MetalDisconnectorOptions mdo={ true, true, false, true})
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * chargeParent(const RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT void removeFragmentsInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as FragmentRemover().removeInPlace(mol)
RDKIT_MOLSTANDARDIZE_EXPORT void isotopeParentInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT std::string standardizeSmiles(const std::string &smiles)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * cleanup(const RWMol *mol, const CleanupParameters ¶ms=defaultCleanupParameters)
RDKIT_MOLSTANDARDIZE_EXPORT void reionizeInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as Reionizer().reionizeInPlace(mol)
RDKIT_MOLSTANDARDIZE_EXPORT void updateCleanupParamsFromJSON(CleanupParameters ¶ms, const std::string &json)
RDKIT_MOLSTANDARDIZE_EXPORT void canonicalTautomerInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters)
RDKIT_MOLSTANDARDIZE_EXPORT void cleanupInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters)
Works the same as cleanup(mol)
RDKIT_MOLSTANDARDIZE_EXPORT void chargeParentInPlace(RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
RDKIT_MOLSTANDARDIZE_EXPORT RWMol * superParent(const RWMol &mol, const CleanupParameters ¶ms=defaultCleanupParameters, bool skip_standardize=false)
bool rdvalue_is(const RDValue_cast_t)
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