29 #ifndef CDPL_SHAPE_SCREENINGPROCESSOR_HPP
30 #define CDPL_SHAPE_SCREENINGPROCESSOR_HPP
37 #include <boost/iterator/indirect_iterator.hpp>
58 class AlignmentResult;
71 typedef std::vector<const Chem::MolecularGraph*> MolecularGraphList;
171 void applyShapeGenSettings(
bool query);
172 void applyAlignmentSettings();
181 MolecularGraphList queryList;
Definition of class CDPL::Pharm::DefaultPharmacophoreGenerator.
Definition of class CDPL::Shape::FastGaussianShapeAlignment.
Definition of class CDPL::Shape::GaussianShapeGenerator.
Definition of class CDPL::Shape::ScreeningSettings.
Definition of the preprocessor macro CDPL_SHAPE_API.
#define CDPL_SHAPE_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Abstract base class for representations of a chemical structure as a graph of bonded atoms.
Definition: MolecularGraph.hpp:57
Pharmacophore generator pre-configured with the built-in default set of feature generators.
Definition: DefaultPharmacophoreGenerator.hpp:53
Result of a Gaussian-shape alignment between a reference and an aligned shape.
Definition: AlignmentResult.hpp:52
High-level driver for the fast alignment of Gaussian shapes against a set of reference shapes.
Definition: FastGaussianShapeAlignment.hpp:70
Generates Shape::GaussianShape instances from molecular graphs.
Definition: GaussianShapeGenerator.hpp:61
High-level driver for shape-based virtual screening of molecular databases.
Definition: Shape/ScreeningProcessor.hpp:69
void clearQuerySet()
Removes all query molecules.
void addQuery(const Chem::MolecularGraph &molgraph)
Adds molgraph to the query set.
const HitCallbackFunction & getHitCallback() const
Returns the currently configured hit callback.
ScreeningProcessor()
Constructs an empty ScreeningProcessor instance.
std::function< void(const Chem::MolecularGraph &, const Chem::MolecularGraph &, const AlignmentResult &)> HitCallbackFunction
Type of the callback invoked for each alignment hit (arguments: query, hit, alignment result).
Definition: Shape/ScreeningProcessor.hpp:79
const Chem::MolecularGraph & getQuery(std::size_t idx) const
Returns the query molecule at index idx.
std::size_t getQuerySetSize() const
Returns the number of query molecules.
ConstMolecularGraphIterator getQuerySetEnd() const
Returns a constant iterator pointing one past the last query molecule.
bool process(const Chem::MolecularGraph &molgraph)
Processes the database molecule molgraph, aligning it against all query molecules.
ScreeningProcessor(const Chem::MolecularGraph &query)
Constructs a ScreeningProcessor instance with query as the single query molecule.
std::shared_ptr< ScreeningProcessor > SharedPointer
A reference-counted smart pointer [SHPTR] for dynamically allocated ScreeningProcessor instances.
Definition: Shape/ScreeningProcessor.hpp:75
ScreeningSettings & getSettings()
Returns the current screening settings (mutable).
ConstMolecularGraphIterator getQuerySetBegin() const
Returns a constant iterator pointing to the first query molecule.
const ScreeningSettings & getSettings() const
Returns the current screening settings.
boost::indirect_iterator< MolecularGraphList::const_iterator, const Chem::MolecularGraph > ConstMolecularGraphIterator
A constant iterator over the query molecules.
Definition: Shape/ScreeningProcessor.hpp:77
ScreeningProcessor(const ScreeningProcessor &proc)=delete
~ScreeningProcessor()
Destructor.
void setHitCallback(const HitCallbackFunction &func)
Sets the callback that is invoked for every alignment hit produced by process().
ScreeningProcessor & operator=(const ScreeningProcessor &proc)=delete
Bundle of configuration parameters for Shape::ScreeningProcessor.
Definition: ScreeningSettings.hpp:55
ColorFeatureType
Specifies which kind of color (pharmacophore) features are used during shape alignment.
Definition: ScreeningSettings.hpp:85
The namespace of the Chemical Data Processing Library.