29namespace MolStandardize {
44 : Name(std::move(name)), Smarts(std::move(smarts)), Charge(charge) {}
65 Reionizer(
const std::vector<std::tuple<std::string, std::string, std::string>>
70 const std::vector<ChargeCorrection> ccs);
74 const std::vector<ChargeCorrection> ccs);
77 Reionizer(
const std::vector<std::tuple<std::string, std::string, std::string>>
79 const std::vector<ChargeCorrection> ccs);
94 std::vector<ChargeCorrection> d_ccs;
96 std::pair<unsigned int, std::vector<unsigned int>> *strongestProtonated(
98 const std::vector<std::pair<ROMOL_SPTR, ROMOL_SPTR>> &abpairs);
99 std::pair<unsigned int, std::vector<unsigned int>> *weakestIonized(
101 const std::vector<std::pair<ROMOL_SPTR, ROMOL_SPTR>> &abpairs);
140 df_canonicalOrdering = canonicalOrdering;
143 df_canonicalOrdering = canonicalOrdering;
146 Uncharger(
bool canonicalOrdering,
bool force,
bool protonationOnly)
148 df_canonicalOrdering = canonicalOrdering;
150 df_protonationOnly = protonationOnly;
159 bool df_canonicalOrdering =
true;
160 bool df_force =
false;
161 bool df_protonationOnly =
false;
162 std::shared_ptr<ROMol> pos_h;
163 std::shared_ptr<ROMol> pos_noh;
164 std::shared_ptr<ROMol> neg;
165 std::shared_ptr<ROMol> neg_acid;
A Catalog with a hierarchical structure.
Reionizer(const std::string acidbaseFile, const std::vector< ChargeCorrection > ccs)
Reionizer & operator=(Reionizer const &)=delete
ROMol * reionize(const ROMol &mol)
Enforce charges on certain atoms, then perform competitive reionization.
Reionizer(const std::vector< std::tuple< std::string, std::string, std::string > > &data, const std::vector< ChargeCorrection > ccs)
construct a Reionizer with parameter data and charge corrections
Reionizer(std::istream &acidbaseStream, const std::vector< ChargeCorrection > ccs)
void reionizeInPlace(RWMol &mol)
Reionizer(const std::vector< std::tuple< std::string, std::string, std::string > > &data)
construct a Reionizer with parameter data
Reionizer(const std::string acidbaseFile)
construct a Reionizer with a particular acidbaseFile
Reionizer(const Reionizer &other)=delete
making Reionizer objects non-copyable
The Uncharger class for neutralizing ionized acids and bases.
Uncharger(bool canonicalOrdering, bool force)
Uncharger(bool canonicalOrdering, bool force, bool protonationOnly)
void unchargeInPlace(RWMol &mol)
ROMol * uncharge(const ROMol &mol)
Uncharger(const Uncharger &)=default
Uncharger(bool canonicalOrdering)
RWMol is a molecule class that is intended to be edited.
#define RDKIT_MOLSTANDARDIZE_EXPORT
RDKIT_MOLSTANDARDIZE_EXPORT std::vector< ChargeCorrection > CHARGE_CORRECTIONS
Reionizer * reionizerFromParams(const CleanupParameters ¶ms)
RDKIT_MOLSTANDARDIZE_EXPORT const CleanupParameters defaultCleanupParameters
RDCatalog::HierarchCatalog< AcidBaseCatalogEntry, AcidBaseCatalogParams, int > AcidBaseCatalog
ChargeCorrection(std::string name, std::string smarts, int charge)
std::vector< std::tuple< std::string, std::string, std::string > > acidbaseData