Chemical Data Processing Library C++ API - Version 1.2.0
PharmacophoreRDFDescriptorCalculator.hpp
Go to the documentation of this file.
1 /*
2  * PharmacophoreRDFDescriptorCalculator.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_DESCR_PHARMACOPHORERDFDESCRIPTORCALCULATOR_HPP
30 #define CDPL_DESCR_PHARMACOPHORERDFDESCRIPTORCALCULATOR_HPP
31 
32 #include <functional>
33 
34 #include "CDPL/Descr/APIPrefix.hpp"
36 #include "CDPL/Math/Vector.hpp"
37 
38 
39 namespace CDPL
40 {
41 
42  namespace Pharm
43  {
44 
45  class Feature;
46  class FeatureContainer;
47  } // namespace Pharm
48 
49  namespace Descr
50  {
51 
57  {
58 
60 
61  public:
63  typedef std::function<double(const Pharm::Feature&, const Pharm::Feature&, unsigned int)> FeaturePairWeightFunction;
64 
69 
71 
78  void setSmoothingFactor(double factor);
79 
85  double getSmoothingFactor() const;
86 
92  void setScalingFactor(double factor);
93 
98  double getScalingFactor() const;
99 
105  void setStartRadius(double start_radius);
106 
111  double getStartRadius() const;
112 
118  void setRadiusIncrement(double radius_inc);
119 
124  double getRadiusIncrement() const;
125 
135  void setNumSteps(std::size_t num_steps);
136 
141  std::size_t getNumSteps() const;
142 
150 
156 
163 
169 
170  void calculate(const Pharm::FeatureContainer& cntnr, Math::DVector& descr);
171 
172  private:
173  RDFCodeCalc rdfCalculator;
174  FeaturePairWeightFunction weightFunc;
175  };
176  } // namespace Descr
177 } // namespace CDPL
178 
179 #endif // CDPL_DESCR_PHARMACOPHORERDFDESCRIPTORCALCULATOR_HPP
Definition of the preprocessor macro CDPL_DESCR_API.
#define CDPL_DESCR_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of the class CDPL::Descr::RDFCodeCalculator.
Definition of vector data types.
PharmacophoreRDFDescriptorCalculator.
Definition: PharmacophoreRDFDescriptorCalculator.hpp:57
void setRadiusIncrement(double radius_inc)
Sets the radius step size between successive RDF code elements.
void setScalingFactor(double factor)
Allows to specify the scaling factor for the RDF code elements.
std::size_t getNumSteps() const
Returns the number of performed radius incrementation steps.
void enableDistanceToIntervalCenterRounding(bool enable)
Allows to specify whether feature pair distances should be rounded to the nearest radius interval cen...
double getSmoothingFactor() const
Returns the smoothing factor used in the calculation of feature pair RDF contributions.
void calculate(const Pharm::FeatureContainer &cntnr, Math::DVector &descr)
double getRadiusIncrement() const
Returns the radius step size between successive RDF code elements.
double getScalingFactor() const
Returns the scaling factor applied to the RDF code elements.
RDFCodeCalc::Entity3DCoordinatesFunction Feature3DCoordinatesFunction
Definition: PharmacophoreRDFDescriptorCalculator.hpp:62
void setFeaturePairWeightFunction(const FeaturePairWeightFunction &func)
Allows to specify a custom feature pair weight function.
PharmacophoreRDFDescriptorCalculator(const Pharm::FeatureContainer &cntnr, Math::DVector &descr)
void setSmoothingFactor(double factor)
Allows to specify the smoothing factor used in the calculation of feature pair RDF contributions.
void setNumSteps(std::size_t num_steps)
Sets the number of desired radius incrementation steps.
void setFeature3DCoordinatesFunction(const Feature3DCoordinatesFunction &func)
Allows to specify the feature coordinates function.
std::function< double(const Pharm::Feature &, const Pharm::Feature &, unsigned int)> FeaturePairWeightFunction
Definition: PharmacophoreRDFDescriptorCalculator.hpp:63
double getStartRadius() const
Returns the starting value of the radius.
bool distanceToIntervalsCenterRoundingEnabled() const
Tells whether feature pair distances get rounded to the nearest radius interval centers.
PharmacophoreRDFDescriptorCalculator()
Constructs the PharmacophoreRDFDescriptorCalculator instance.
void setStartRadius(double start_radius)
Sets the starting value of the radius.
std::function< const Math::Vector3D &(const EntityType &)> Entity3DCoordinatesFunction
Type of the generic functor class used to store a user-defined entity 3D coordinates function.
Definition: RDFCodeCalculator.hpp:74
FeatureContainer.
Definition: FeatureContainer.hpp:53
Feature.
Definition: Feature.hpp:48
The namespace of the Chemical Data Processing Library.