Chemical Data Processing Library C++ API - Version 1.2.0
AromaticFeatureGenerator.hpp
Go to the documentation of this file.
1 /*
2  * AromaticFeatureGenerator.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_PHARM_AROMATICFEATUREGENERATOR_HPP
30 #define CDPL_PHARM_AROMATICFEATUREGENERATOR_HPP
31 
32 #include "CDPL/Pharm/APIPrefix.hpp"
37 #include "CDPL/Util/BitSet.hpp"
38 
39 
40 namespace CDPL
41 {
42 
43  namespace Pharm
44  {
45 
50  {
51 
52  public:
53  static constexpr double DEF_FEATURE_TOL = 0.9;
54  static constexpr unsigned int DEF_FEATURE_TYPE = FeatureType::AROMATIC;
55  static constexpr unsigned int DEF_FEATURE_GEOM = FeatureGeometry::PLANE;
56 
61 
67 
75 
80 
87  void setFeatureType(unsigned int type);
88 
94  unsigned int getFeatureType() const;
95 
102  void setFeatureGeometry(unsigned int geom);
103 
109  unsigned int getFeatureGeometry() const;
110 
117  void setFeatureTolerance(double tol);
118 
124  double getFeatureTolerance() const;
125 
133 
135 
136  private:
137  void addNonPatternFeatures(const Chem::MolecularGraph&, Pharmacophore&);
138 
139  Chem::AromaticSSSRSubset aromSSSRSubset;
140  Util::BitSet ringAtomMask;
141  unsigned int featureType;
142  unsigned int featureGeom;
143  double featureTol;
144  AtomList featureAtoms;
145  };
146  } // namespace Pharm
147 } // namespace CDPL
148 
149 #endif // CDPL_PHARM_AROMATICFEATUREGENERATOR_HPP
Definition of the class CDPL::Chem::AromaticSSSRSubset.
Definition of the type CDPL::Util::BitSet.
Definition of constants in namespace CDPL::Pharm::FeatureGeometry.
Definition of the class CDPL::Pharm::PatternBasedFeatureGenerator.
Definition of the preprocessor macro CDPL_PHARM_API.
#define CDPL_PHARM_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of constants in namespace CDPL::Pharm::FeatureType.
Implements the extraction of the aromatic rings in the SSSR of a molecular graph.
Definition: AromaticSSSRSubset.hpp:49
MolecularGraph.
Definition: MolecularGraph.hpp:52
AromaticFeatureGenerator.
Definition: AromaticFeatureGenerator.hpp:50
unsigned int getFeatureGeometry() const
Returns the value of the feature geometry property that gets set on newly generated features.
AromaticFeatureGenerator(const Chem::MolecularGraph &molgraph, Pharmacophore &pharm)
Perceives aromatic ring features of the molecular graph a\ molgraph and adds them to the pharmacophor...
AromaticFeatureGenerator(const AromaticFeatureGenerator &gen)
Constructs a copy of the AromaticFeatureGenerator instance gen.
double getFeatureTolerance() const
Returns the value of the feature tolerance property that gets set on newly generated features.
FeatureGenerator::SharedPointer clone() const
AromaticFeatureGenerator & operator=(const AromaticFeatureGenerator &gen)
Replaces the current set include/exclude patterns and attributes by a copy of the AromaticFeatureGene...
void setFeatureGeometry(unsigned int geom)
Specifies the value of the feature geometry property that has to be set on newly generated features.
void setFeatureTolerance(double tol)
Specifies the value of the feature tolerance property that has to be set on newly generated features.
AromaticFeatureGenerator()
Constructs the AromaticFeatureGenerator instance.
void setFeatureType(unsigned int type)
Specifies the value of the feature type property that has to be set on newly generated features.
unsigned int getFeatureType() const
Returns the value of the feature type property that gets set on newly generated features.
std::shared_ptr< FeatureGenerator > SharedPointer
Definition: FeatureGenerator.hpp:60
PatternBasedFeatureGenerator.
Definition: PatternBasedFeatureGenerator.hpp:58
std::vector< const Chem::Atom * > AtomList
Definition: PatternBasedFeatureGenerator.hpp:134
Pharmacophore.
Definition: Pharmacophore.hpp:48
constexpr unsigned int PLANE
Definition: FeatureGeometry.hpp:51
constexpr unsigned int AROMATIC
Definition: Pharm/FeatureType.hpp:49
boost::dynamic_bitset BitSet
A dynamic bitset class.
Definition: BitSet.hpp:46
The namespace of the Chemical Data Processing Library.