|
Chemical Data Processing Library C++ API - Version 1.0.0
|
Go to the documentation of this file.
29 #ifndef CDPL_CONFGEN_DGCONSTRAINTGENERATOR_HPP
30 #define CDPL_CONFGEN_DGCONSTRAINTGENERATOR_HPP
34 #include <unordered_map>
50 class MMFF94InteractionData;
72 typedef std::vector<StereoCenterData> StereoCenterDataArray;
122 void extractAtomStereoCenterData();
123 void extractBondStereoCenterData();
125 void setBondLength(std::size_t atom1_idx, std::size_t atom2_idx,
double length);
126 double getBondLength(std::size_t atom1_idx, std::size_t atom2_idx)
const;
128 void setBondAngle(std::size_t atom1_idx, std::size_t atom2_idx, std::size_t atom3_idx,
double angle);
129 double getBondAngle(std::size_t atom1_idx, std::size_t atom2_idx, std::size_t atom3_idx)
const;
132 std::size_t getSmallestRingSize(
const Chem::FragmentList& sssr, std::size_t atom1_idx, std::size_t atom2_idx)
const;
134 void markAtomPairProcessed(std::size_t atom1_idx, std::size_t atom2_idx);
135 bool atomPairProcessed(std::size_t atom1_idx, std::size_t atom2_idx)
const;
137 double calc13AtomDistance(
double bond1_len,
double bond2_len,
double angle)
const;
139 double calcCis14AtomDistance(
double bond1_len,
double bond2_len,
double bond3_len,
140 double angle_12,
double angle_23)
const;
141 double calcTrans14AtomDistance(
double bond1_len,
double bond2_len,
double bond3_len,
142 double angle_12,
double angle_23)
const;
147 typedef std::vector<std::size_t> AtomIndexList;
149 std::size_t getNeighborAtoms(
const Chem::Atom& atom, AtomIndexList& idx_list,
152 typedef std::pair<std::size_t, std::size_t> BondLengthKey;
153 typedef std::tuple<std::size_t, std::size_t, std::size_t> BondAngleKey;
158 std::size_t operator()(
const BondAngleKey& k)
const;
164 std::size_t operator()(
const BondLengthKey& k)
const;
167 typedef std::unordered_map<BondLengthKey, double, BondLengthKeyHash> BondLengthTable;
168 typedef std::unordered_map<BondAngleKey, double, BondAngleKeyHash> BondAngleTable;
174 BondLengthTable bondLengthTable;
175 BondAngleTable bondAngleTable;
176 StereoCenterDataArray atomStereoData;
177 StereoCenterDataArray bondStereoData;
178 std::size_t numAtoms;
179 AtomIndexList atomIndexList1;
180 AtomIndexList atomIndexList2;
181 DGConstraintGeneratorSettings settings;
186 #endif // CDPL_CONFGEN_DGCONSTRAINTGENERATOR_HPP
Definition: MMFF94InteractionData.hpp:51
void setup(const Chem::MolecularGraph &molgraph, const ForceField::MMFF94InteractionData &ia_data)
Bond.
Definition: Bond.hpp:50
const StereoCenterData & getBondStereoCenterData(std::size_t idx) const
DGCoordinatesGenerator< 3, double > DG3DCoordinatesGenerator
Definition: DGCoordinatesGenerator.hpp:296
std::pair< std::size_t, Chem::StereoDescriptor > StereoCenterData
Definition: DGConstraintGenerator.hpp:69
ConstStereoCenterDataIterator getAtomStereoCenterDataBegin() const
const StereoCenterData & getAtomStereoCenterData(std::size_t idx) const
DGConstraintGeneratorSettings & getSettings()
boost::dynamic_bitset BitSet
A dynamic bitset class.
Definition: BitSet.hpp:46
std::size_t getNumBondStereoCenters() const
void add14DistanceConstraints(Util::DG3DCoordinatesGenerator &coords_gen)
Atom.
Definition: Atom.hpp:52
void addBondConfigurationConstraints(Util::DG3DCoordinatesGenerator &coords_gen)
StereoCenterDataArray::const_iterator ConstStereoCenterDataIterator
Definition: DGConstraintGenerator.hpp:75
MolecularGraph.
Definition: MolecularGraph.hpp:52
Definition of the type CDPL::Util::BitSet.
void setup(const Chem::MolecularGraph &molgraph)
const Util::BitSet & getExcludedHydrogenMask() const
void addDefaultDistanceConstraints(Util::DG3DCoordinatesGenerator &coords_gen)
std::size_t getNumAtomStereoCenters() const
Definition of the preprocessor macro CDPL_CONFGEN_API.
#define CDPL_CONFGEN_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
A data type for the storage of Chem::Fragment objects.
Definition: FragmentList.hpp:49
void addAtomPlanarityConstraints(Util::DG3DCoordinatesGenerator &coords_gen)
Definition: DGConstraintGenerator.hpp:66
const DGConstraintGeneratorSettings & getSettings() const
The namespace of the Chemical Data Processing Library.
void addBondStereoCenter(const Chem::Bond &bond, const Chem::StereoDescriptor &descr)
ConstStereoCenterDataIterator getBondStereoCenterDataBegin() const
void addBondPlanarityConstraints(Util::DG3DCoordinatesGenerator &coords_gen)
ConstStereoCenterDataIterator getBondStereoCenterDataEnd() const
Definition of the class CDPL::ConfGen::DGConstraintGeneratorSettings.
A data structure for the storage and retrieval of stereochemical information about atoms and bonds.
Definition: StereoDescriptor.hpp:102
Definition of the type CDPL::Chem::StereoDescriptor.
Implementation of a distance geometry based coordinates generator.
void addAtomConfigurationConstraints(Util::DG3DCoordinatesGenerator &coords_gen)
void addBondAngleConstraints(Util::DG3DCoordinatesGenerator &coords_gen)
Definition: DGConstraintGeneratorSettings.hpp:42
void addAtomStereoCenter(const Chem::Atom &atom, const Chem::StereoDescriptor &descr)
ConstStereoCenterDataIterator getAtomStereoCenterDataEnd() const
VectorNorm2< E >::ResultType length(const VectorExpression< E > &e)
Definition: VectorExpression.hpp:553
void addBondLengthConstraints(Util::DG3DCoordinatesGenerator &coords_gen)