Chemical Data Processing Library C++ API - Version 1.4.0
InteractionPharmacophoreGenerator.hpp
Go to the documentation of this file.
1 /*
2  * InteractionPharmacophoreGenerator.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_INTERACTIONPHARMACOPHOREGENERATOR_HPP
30 #define CDPL_PHARM_INTERACTIONPHARMACOPHOREGENERATOR_HPP
31 
32 #include "CDPL/Pharm/APIPrefix.hpp"
38 #include "CDPL/Chem/Fragment.hpp"
39 
40 
41 namespace CDPL
42 {
43 
44  namespace Pharm
45  {
46 
53  {
54 
55  public:
63 
68  void setCoreEnvironmentRadius(double radius);
69 
74  double getCoreEnvironmentRadius() const;
75 
80  void addExclusionVolumes(bool add);
81 
86  bool exclusionVolumesAdded() const;
87 
93 
99 
105 
111 
117 
123 
129 
135 
141 
147 
157  void generate(const Chem::MolecularGraph& core, const Chem::MolecularGraph& tgt, Pharmacophore& ia_pharm,
158  bool extract_core_env, bool append = false);
159 
160  private:
161  DefaultPharmacophoreGenerator corePharmGen;
162  DefaultPharmacophoreGenerator envPharmGen;
163  BasicPharmacophore corePharm;
164  BasicPharmacophore envPharm;
165  DefaultInteractionAnalyzer iaAnalyzer;
166  FeatureMapping iaMapping;
167  Chem::Fragment coreEnv;
168  Chem::Fragment iaEnvFeatureResAtoms;
169  Chem::Fragment iaEnvFeatureAtoms;
170  FeatureSet iaEnvFeatures;
171  double coreEnvRadius;
172  bool addXVolumes;
173  };
174  } // namespace Pharm
175 } // namespace CDPL
176 
177 #endif // CDPL_PHARM_INTERACTIONPHARMACOPHOREGENERATOR_HPP
Definition of class CDPL::Pharm::BasicPharmacophore.
Definition of class CDPL::Pharm::DefaultInteractionAnalyzer.
Definition of class CDPL::Pharm::DefaultPharmacophoreGenerator.
Definition of the type CDPL::Pharm::FeatureMapping.
Definition of class CDPL::Pharm::FeatureSet.
Definition of class CDPL::Chem::Fragment.
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.
Concrete Chem::MolecularGraph implementation that stores references to a selectable subset of atoms a...
Definition: Fragment.hpp:57
Abstract base class for representations of a chemical structure as a graph of bonded atoms.
Definition: MolecularGraph.hpp:57
Concrete Pharm::Pharmacophore implementation that owns its features as Pharm::BasicFeature instances ...
Definition: BasicPharmacophore.hpp:53
Interaction analyzer pre-configured with the built-in default set of interaction constraints (hydroge...
Definition: DefaultInteractionAnalyzer.hpp:47
Pharmacophore generator pre-configured with the built-in default set of feature generators.
Definition: DefaultPharmacophoreGenerator.hpp:53
Configuration
Flags controlling feature generation.
Definition: DefaultPharmacophoreGenerator.hpp:60
@ DEFAULT_CONFIG
Default configuration.
Definition: DefaultPharmacophoreGenerator.hpp:76
Data type for the storage and lookup of arbitrary feature to feature mappings.
Definition: FeatureMapping.hpp:54
Concrete Pharm::FeatureContainer implementation that stores references to existing Pharm::Feature ins...
Definition: FeatureSet.hpp:56
Analyzer that detects pairwise interactions between features of two Pharm::FeatureContainer instances...
Definition: InteractionAnalyzer.hpp:58
Driver that generates an interaction pharmacophore by perceiving a core pharmacophore on a ligand,...
Definition: InteractionPharmacophoreGenerator.hpp:53
double getCoreEnvironmentRadius() const
Returns the currently configured core-environment cutoff radius.
const FeatureMapping & getInteractionMapping() const
Returns the feature-to-feature interaction mapping produced by the last generate() call.
PharmacophoreGenerator & getCorePharmacophoreGenerator()
Returns the core (ligand) pharmacophore generator.
void generate(const Chem::MolecularGraph &core, const Chem::MolecularGraph &tgt, Pharmacophore &ia_pharm, bool extract_core_env, bool append=false)
Generates the interaction pharmacophore for the (core, tgt) molecular graph pair.
const PharmacophoreGenerator & getEnvironmentPharmacophoreGenerator() const
Returns the environment (pocket) pharmacophore generator.
InteractionAnalyzer & getInteractionAnalyzer()
Returns the interaction analyzer used to perceive feature-feature interactions.
const Chem::Fragment & getCoreEnvironment() const
Returns the core-environment substructure extracted by the last generate() call (only valid when extr...
const Pharmacophore & getCorePharmacophore() const
Returns the core (ligand) pharmacophore produced by the last generate() call.
PharmacophoreGenerator & getEnvironmentPharmacophoreGenerator()
Returns the environment (pocket) pharmacophore generator.
const PharmacophoreGenerator & getCorePharmacophoreGenerator() const
Returns the core (ligand) pharmacophore generator.
const InteractionAnalyzer & getInteractionAnalyzer() const
Returns the interaction analyzer used to perceive feature-feature interactions.
bool exclusionVolumesAdded() const
Tells whether exclusion volume features are added.
void setCoreEnvironmentRadius(double radius)
Sets the cutoff radius around the core used to extract the environment substructure.
InteractionPharmacophoreGenerator(DefaultPharmacophoreGenerator::Configuration core_ph4_gen_cfg=DefaultPharmacophoreGenerator::DEFAULT_CONFIG, DefaultPharmacophoreGenerator::Configuration env_ph4_gen_cfg=DefaultPharmacophoreGenerator::DEFAULT_CONFIG)
Constructs the InteractionPharmacophoreGenerator instance.
void addExclusionVolumes(bool add)
Specifies whether exclusion volume features shall be added to the output pharmacophore.
const Pharmacophore & getEnvironmentPharmacophore() const
Returns the environment (pocket) pharmacophore produced by the last generate() call.
Base class for pharmacophore generators that orchestrate per-feature-type Pharm::FeatureGenerator ins...
Definition: PharmacophoreGenerator.hpp:50
Abstract base class for mutable containers of Pharm::Feature instances representing a pharmacophore m...
Definition: Pharmacophore.hpp:53
The namespace of the Chemical Data Processing Library.