Chemical Data Processing Library C++ API - Version 1.4.0
FragmentConformerGeneratorSettings.hpp
Go to the documentation of this file.
1 /*
2  * FragmentConformerGeneratorSettings.hpp
3  *
4  * This file is part of the Chemical Data Processing Toolkit
5  *
6  * Copyright (C) 2003 Thomas Seidel <thomas.seidel@univie.ac.at>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; see the file COPYING. If not, write to
20  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23 
29 #ifndef CDPL_CONFGEN_FRAGMENTCONFORMERGENERATORSETTINGS_HPP
30 #define CDPL_CONFGEN_FRAGMENTCONFORMERGENERATORSETTINGS_HPP
31 
32 #include <cstddef>
33 
35 
36 
37 namespace CDPL
38 {
39 
40  namespace ConfGen
41  {
42 
48  {
49 
50  public:
57 
62  {
63 
64  public:
69 
74  void setMaxNumSampledConformers(std::size_t max_num);
75 
80  std::size_t getMaxNumSampledConformers() const;
81 
86  void setMinNumSampledConformers(std::size_t min_num);
87 
92  std::size_t getMinNumSampledConformers() const;
93 
98  void setTimeout(std::size_t mil_secs);
99 
104  std::size_t getTimeout() const;
105 
110  void setEnergyWindow(double win_size);
111 
116  double getEnergyWindow() const;
117 
122  void setMaxNumOutputConformers(std::size_t max_num);
123 
128  std::size_t getMaxNumOutputConformers() const;
129 
134  void setMinRMSD(double min_rmsd);
135 
140  double getMinRMSD() const;
141 
142  private:
143  std::size_t maxNumSampledConfs;
144  std::size_t minNumSampledConfs;
145  std::size_t maxNumOutputConfs;
146  std::size_t timeout;
147  double eWindow;
148  double minRMSD;
149  };
150 
155 
160 
165  void preserveInputBondingGeometries(bool preserve);
166 
172 
177  void setForceFieldType(unsigned int type);
178 
183  unsigned int getForceFieldType() const;
184 
191 
197 
202  void setDielectricConstant(double de_const);
203 
208  double getDielectricConstant() const;
209 
214  void setDistanceExponent(double exponent);
215 
220  double getDistanceExponent() const;
221 
226  void setMaxNumRefinementIterations(std::size_t max_iter);
227 
232  std::size_t getMaxNumRefinementIterations() const;
233 
238  void setRefinementStopGradient(double grad_norm);
239 
245 
250  void setMacrocycleRotorBondCountThreshold(std::size_t min_count);
251 
257 
263 
269 
275 
281 
287 
293 
298  void setSmallRingSystemSamplingFactor(std::size_t factor);
299 
304  std::size_t getSmallRingSystemSamplingFactor() const;
305 
306  private:
307  bool preserveBondGeom;
308  unsigned int forceFieldType;
309  bool strictParam;
310  double dielectricConst;
311  double distExponent;
312  std::size_t maxNumRefIters;
313  double refStopGrad;
314  std::size_t mcRotorBondCountThresh;
315  std::size_t srSamplingFactor;
316  FragmentSettings chainSettings;
317  FragmentSettings mcSettings;
318  FragmentSettings srSettings;
319  };
320  } // namespace ConfGen
321 } // namespace CDPL
322 
323 #endif // CDPL_CONFGEN_FRAGMENTCONFORMERGENERATORSETTINGS_HPP
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.
Per-fragment-class settings (separate parameters for chain, small ring system and macrocycle fragment...
Definition: FragmentConformerGeneratorSettings.hpp:62
void setMinNumSampledConformers(std::size_t min_num)
Sets the minimum number of trial conformers sampled per fragment before convergence is tested.
std::size_t getTimeout() const
Returns the per-fragment wall clock processing time limit.
void setMinRMSD(double min_rmsd)
Sets the minimum pairwise heavy atom RMSD that fragment conformers in the output set must have.
void setMaxNumOutputConformers(std::size_t max_num)
Sets the maximum number of output conformers per fragment.
double getEnergyWindow() const
Returns the per-fragment energy window size.
void setEnergyWindow(double win_size)
Sets the energy window size (in kcal/mol) above the fragment conformer minimum within which fragment ...
double getMinRMSD() const
Returns the minimum RMSD threshold used to filter fragment conformers.
std::size_t getMaxNumSampledConformers() const
Returns the maximum number of trial conformers sampled per fragment.
void setTimeout(std::size_t mil_secs)
Sets the per-fragment wall clock processing time limit.
FragmentSettings()
Constructs a FragmentSettings instance with default configuration parameter values.
std::size_t getMinNumSampledConformers() const
Returns the minimum number of trial conformers sampled per fragment.
void setMaxNumSampledConformers(std::size_t max_num)
Sets the maximum number of trial conformers sampled per fragment.
std::size_t getMaxNumOutputConformers() const
Returns the maximum number of output conformers per fragment.
Bundle of configuration parameters for fragment conformer ensemble generation via class ConfGen::Frag...
Definition: FragmentConformerGeneratorSettings.hpp:48
double getDistanceExponent() const
Returns the exponent of the MMFF94 distance-dependent electrostatic term.
const FragmentSettings & getChainSettings() const
Returns a const reference to the per-fragment-class settings used for chain fragments.
unsigned int getForceFieldType() const
Returns the force field type used for fragment conformer minimization.
void setForceFieldType(unsigned int type)
Sets the force field type used for fragment conformer minimization.
void setDielectricConstant(double de_const)
Sets the dielectric constant used by the MMFF94 electrostatic interactions.
void setMacrocycleRotorBondCountThreshold(std::size_t min_count)
Sets the minimum number of rotatable bonds a macrocyclic ring must contain to be considered as a flex...
void strictForceFieldParameterization(bool strict)
Specifies whether strict MMFF94 parameterization is required.
FragmentSettings & getChainSettings()
Returns a reference to the per-fragment-class settings used for chain fragments.
bool strictForceFieldParameterization() const
Tells whether strict MMFF94 parameterization is required.
double getDielectricConstant() const
Returns the dielectric constant used by the MMFF94 electrostatic interactions.
FragmentConformerGeneratorSettings()
Constructs the % FragmentConformerGeneratorSettings instance with default configuration parameter val...
bool preserveInputBondingGeometries() const
Tells whether the bonding geometries of the input fragment are preserved.
double getRefinementStopGradient() const
Returns the gradient-norm threshold used to terminate refinement.
virtual ~FragmentConformerGeneratorSettings()
Destructor.
Definition: FragmentConformerGeneratorSettings.hpp:159
const FragmentSettings & getSmallRingSystemSettings() const
Returns a const reference to the per-fragment-class settings used for small ring systems.
static const FragmentConformerGeneratorSettings FAST
A static instance preconfigured for fast (less thorough) conformer generation.
Definition: FragmentConformerGeneratorSettings.hpp:54
void setMaxNumRefinementIterations(std::size_t max_iter)
Sets the maximum number of MMFF94 energy-minimization iterations per fragment conformer.
void setDistanceExponent(double exponent)
Sets the exponent of the MMFF94 distance-dependent electrostatic term.
FragmentSettings & getMacrocycleSettings()
Returns a reference to the per-fragment-class settings used for flexible macrocyclic ring systems.
const FragmentSettings & getMacrocycleSettings() const
Returns a const reference to the per-fragment-class settings used for flexible macrocyclic ring syste...
std::size_t getMaxNumRefinementIterations() const
Returns the maximum number of MMFF94 energy-minimization iterations per fragment conformer.
std::size_t getSmallRingSystemSamplingFactor() const
Returns the multiplicative factor scaling the sampling effort for small ring systems.
static const FragmentConformerGeneratorSettings DEFAULT
A static instance providing configuration parameter default values.
Definition: FragmentConformerGeneratorSettings.hpp:52
std::size_t getMacrocycleRotorBondCountThreshold() const
Returns the flexible macrocycle rotatable bond count threshold.
void preserveInputBondingGeometries(bool preserve)
Specifies whether the bonding geometries (bond lengths and angles) of the input fragment shall be pre...
static const FragmentConformerGeneratorSettings THOROUGH
A static instance preconfigured for thorough (slower) conformer generation.
Definition: FragmentConformerGeneratorSettings.hpp:56
void setSmallRingSystemSamplingFactor(std::size_t factor)
Sets a multiplicative factor scaling the sampling effort for small ring systems.
void setRefinementStopGradient(double grad_norm)
Sets the gradient-norm threshold at which fragment conformer refinement is considered converged.
FragmentSettings & getSmallRingSystemSettings()
Returns a reference to the per-fragment-class settings used for small ring systems.
The namespace of the Chemical Data Processing Library.