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:
53 
58 
63  void setGenerationMode(unsigned int mode);
64 
69  unsigned int getGenerationMode() const;
70 
75  void generateCoordinatesFromScratch(bool generate);
76 
82 
87  void sampleAngleToleranceRanges(bool sample);
88 
94 
99  void setTimeout(std::size_t mil_secs);
100 
105  std::size_t getTimeout() const;
106 
111  void setFragmentModeForceFieldType(unsigned int type);
112 
117  unsigned int getFragmentModeForceFieldType() const;
118 
123  void setDGModeForceFieldType(unsigned int type);
124 
129  unsigned int getDGModeForceFieldType() const;
130 
136 
142 
147  void setDielectricConstant(double de_const);
148 
153  double getDielectricConstant() const;
154 
159  void setDistanceExponent(double exponent);
160 
165  double getDistanceExponent() const;
166 
171  void setMaxNumRefinementIterations(std::size_t max_iter);
172 
177  std::size_t getMaxNumRefinementIterations() const;
178 
183  void setRefinementTolerance(double tol);
184 
189  double getRefinementTolerance() const;
190 
195  void setMaxNumSampledConformers(std::size_t max_num);
196 
201  std::size_t getMaxNumSampledConformers() const;
202 
207  void setConvergenceCheckCycleSize(std::size_t size);
208 
213  std::size_t getConvergenceCheckCycleSize() const;
214 
219  void setMacrocycleRotorBondCountThreshold(std::size_t min_count);
220 
226 
232 
238 
239  private:
240  unsigned int generationMode;
241  bool fromScratch;
242  bool sampleTolRanges;
243  std::size_t timeout;
244  unsigned int fragModeForceFieldType;
245  unsigned int dgModeForceFieldType;
246  bool strictParam;
247  double dielectricConst;
248  double distExponent;
249  std::size_t maxNumRefIters;
250  double refTolerance;
251  std::size_t maxNumSampledConfs;
252  std::size_t convCheckCycleSize;
253  std::size_t mcRotorBondCountThresh;
254  FragmentConformerGeneratorSettings fragBuildSettings;
255  };
256  }; // namespace ConfGen
257 } // namespace CDPL
258 
259 #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:52
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.