Chemical Data Processing Library C++ API - Version 1.4.0
StructureGeneratorSettings.hpp
Go to the documentation of this file.
1 /*
2  * StructureGeneratorSettings.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_STRUCTUREGENERATORSETTINGS_HPP
30 #define CDPL_CONFGEN_STRUCTUREGENERATORSETTINGS_HPP
31 
32 #include <cstddef>
33 
36 
37 
38 namespace CDPL
39 {
40 
41  namespace ConfGen
42  {
43 
48  {
49 
50  public:
55 
60 
65  void setGenerationMode(unsigned int mode);
66 
71  unsigned int getGenerationMode() const;
72 
77  void generateCoordinatesFromScratch(bool generate);
78 
84 
89  void sampleAngleToleranceRanges(bool sample);
90 
96 
101  void setTimeout(std::size_t mil_secs);
102 
107  std::size_t getTimeout() const;
108 
113  void setFragmentModeForceFieldType(unsigned int type);
114 
119  unsigned int getFragmentModeForceFieldType() const;
120 
125  void setDGModeForceFieldType(unsigned int type);
126 
131  unsigned int getDGModeForceFieldType() const;
132 
138 
144 
149  void setDielectricConstant(double de_const);
150 
155  double getDielectricConstant() const;
156 
161  void setDistanceExponent(double exponent);
162 
167  double getDistanceExponent() const;
168 
173  void setMaxNumRefinementIterations(std::size_t max_iter);
174 
179  std::size_t getMaxNumRefinementIterations() const;
180 
185  void setRefinementTolerance(double tol);
186 
191  double getRefinementTolerance() const;
192 
197  void setMaxNumSampledConformers(std::size_t max_num);
198 
203  std::size_t getMaxNumSampledConformers() const;
204 
209  void setConvergenceCheckCycleSize(std::size_t size);
210 
215  std::size_t getConvergenceCheckCycleSize() const;
216 
221  void setMacrocycleRotorBondCountThreshold(std::size_t min_count);
222 
228 
234 
240 
241  private:
242  unsigned int generationMode;
243  bool fromScratch;
244  bool sampleTolRanges;
245  std::size_t timeout;
246  unsigned int fragModeForceFieldType;
247  unsigned int dgModeForceFieldType;
248  bool strictParam;
249  double dielectricConst;
250  double distExponent;
251  std::size_t maxNumRefIters;
252  double refTolerance;
253  std::size_t maxNumSampledConfs;
254  std::size_t convCheckCycleSize;
255  std::size_t mcRotorBondCountThresh;
256  FragmentConformerGeneratorSettings fragBuildSettings;
257  };
258  }; // namespace ConfGen
259 } // namespace CDPL
260 
261 #endif // CDPL_CONFGEN_STRUCTUREGENERATORSETTINGS_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.
Definition of class CDPL::ConfGen::FragmentConformerGeneratorSettings.
Bundle of configuration parameters for fragment conformer ensemble generation via class ConfGen::Frag...
Definition: FragmentConformerGeneratorSettings.hpp:48
Bundle of configuration parameters for single 3D structure generation via class ConfGen::StructureGen...
Definition: StructureGeneratorSettings.hpp:48
void setDGModeForceFieldType(unsigned int type)
Sets the MMFF94 force field variant used for DG-mode structure generation.
unsigned int getGenerationMode() const
Returns the currently configured structure generation mode.
void setDistanceExponent(double exponent)
Sets the distance exponent used in the electrostatic energy term.
void sampleAngleToleranceRanges(bool sample)
Specifies whether torsion-angle tolerance ranges are sampled during structure generation.
std::size_t getTimeout() const
Returns the currently configured timeout in milliseconds.
std::size_t getMaxNumSampledConformers() const
Returns the currently configured maximum number of sampled conformers.
void setTimeout(std::size_t mil_secs)
Sets the timeout for the structure generation pipeline.
double getRefinementTolerance() const
Returns the currently configured refinement tolerance.
double getDielectricConstant() const
Returns the currently configured dielectric constant.
static const StructureGeneratorSettings DEFAULT
A static instance providing configuration parameter default values.
Definition: StructureGeneratorSettings.hpp:54
void setMaxNumSampledConformers(std::size_t max_num)
Sets the maximum number of conformers sampled during structure generation.
void setMacrocycleRotorBondCountThreshold(std::size_t min_count)
Sets the minimum number of rotatable bonds in a macrocycle for it to be considered as flexible.
std::size_t getMacrocycleRotorBondCountThreshold() const
Returns the currently configured flexible macrocycle rotor bond count threshold.
FragmentConformerGeneratorSettings & getFragmentBuildSettings()
Returns the embedded fragment-build settings (mutable).
void generateCoordinatesFromScratch(bool generate)
Specifies whether 3D coordinates should be generated from scratch (vs. reusing existing input coordin...
void strictForceFieldParameterization(bool strict)
Specifies whether force field parameterization should be strict (missing parameters cause failure).
void setRefinementTolerance(double tol)
Sets the convergence tolerance of the force field-based coordinate refinement step.
void setMaxNumRefinementIterations(std::size_t max_iter)
Sets the maximum number of iterations of the force field-based coordinate refinement step.
void setDielectricConstant(double de_const)
Sets the dielectric constant used in the electrostatic energy term.
std::size_t getMaxNumRefinementIterations() const
Returns the currently configured maximum number of refinement iterations.
bool strictForceFieldParameterization() const
Tells whether force field parameterization is strict.
double getDistanceExponent() const
Returns the currently configured distance exponent.
bool generateCoordinatesFromScratch() const
Tells whether 3D coordinates are generated from scratch.
const FragmentConformerGeneratorSettings & getFragmentBuildSettings() const
Returns the embedded fragment-build settings.
void setGenerationMode(unsigned int mode)
Sets the structure generation mode (see ConfGen::StructureGenerationMode).
void setConvergenceCheckCycleSize(std::size_t size)
Sets the cycle size for the convergence check of the structure-sampling loop.
StructureGeneratorSettings()
Constructs the StructureGeneratorSettings instance with default configuration parameter values.
void setFragmentModeForceFieldType(unsigned int type)
Sets the MMFF94 force field variant used for fragment-mode structure generation (see ForceField::MMFF...
unsigned int getFragmentModeForceFieldType() const
Returns the currently configured fragment-mode force field type.
unsigned int getDGModeForceFieldType() const
Returns the currently configured DG-mode force field type.
bool sampleAngleToleranceRanges() const
Tells whether torsion-angle tolerance ranges are sampled during structure generation.
std::size_t getConvergenceCheckCycleSize() const
Returns the currently configured convergence check cycle size.
The namespace of the Chemical Data Processing Library.