29 #ifndef CDPL_CHEM_PROTONATIONSTATESTANDARDIZER_HPP
30 #define CDPL_CHEM_PROTONATIONSTATESTANDARDIZER_HPP
34 #include <unordered_set>
51 class ChEMBLStandardizer;
67 MAX_CHARGE_COMPENSATION
83 typedef std::vector<Chem::Atom*> AtomList;
87 bool minChargedAtomCount(
Molecule& mol);
93 std::size_t adaptHydrogenCount(
Atom& atom,
Molecule& mol,
long h_delta)
const;
95 std::size_t calcFreeValence(
const Atom& atom)
const;
97 long calcNetCharge(
const Atom& atom)
const;
99 std::size_t calcValenceExcess(
const Atom& atom)
const;
101 std::size_t getMatches(
const Molecule& ptn,
const Molecule& mol, AtomList& matches);
103 bool incrementCharge(
Atom& atom,
bool checked)
const;
105 bool isRemovableHydrogen(
const Atom& atom)
const;
107 bool cmpCanonicalNumber(
const Atom* atom1,
const Atom* atom2)
const;
109 bool removeConnectedHydrogens(
const AtomList& atoms,
Molecule& mol)
const;
111 typedef std::unordered_set<const Atom*> AtomSet;
116 AtomList posChargedAtoms;
117 AtomList posChargedNoHAtoms;
118 AtomList negChargedAtoms;
119 AtomList negChargedAcidAtoms;
Definition of the class CDPL::Util::Array.
Definition of the type CDPL::Util::BitSet.
Definition of the class CDPL::Chem::CanonicalNumberingCalculator.
Definition of the preprocessor macro CDPL_CHEM_API.
#define CDPL_CHEM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of the class CDPL::Chem::SubstructureSearch.
Atom.
Definition: Atom.hpp:52
CanonicalNumberingCalculator.
Definition: CanonicalNumberingCalculator.hpp:67
Implementation of the ChEMBL structure preprocessing pipeline.
Definition: ChEMBLStandardizer.hpp:65
Molecule.
Definition: Molecule.hpp:49
Sets the protation state of molecules according to desired objectives.
Definition: ProtonationStateStandardizer.hpp:57
Flavor
Definition: ProtonationStateStandardizer.hpp:63
@ MIN_CHARGED_ATOM_COUNT
Definition: ProtonationStateStandardizer.hpp:65
@ PHYSIOLOGICAL_CONDITION_STATE
Definition: ProtonationStateStandardizer.hpp:66
bool standardize(const Molecule &mol, Molecule &std_mol, Flavor flavor)
ProtonationStateStandardizer & operator=(const ProtonationStateStandardizer &standardizer)
ProtonationStateStandardizer(const ProtonationStateStandardizer &standardizer)
bool standardize(Molecule &mol, Flavor flavor)
std::shared_ptr< ProtonationStateStandardizer > SharedPointer
Definition: ProtonationStateStandardizer.hpp:60
ProtonationStateStandardizer()
SubstructureSearch.
Definition: SubstructureSearch.hpp:64
Array< std::size_t > STArray
An array of unsigned integers of type std::size_t.
Definition: Array.hpp:567
boost::dynamic_bitset BitSet
A dynamic bitset class.
Definition: BitSet.hpp:46
The namespace of the Chemical Data Processing Library.