Chemical Data Processing Library C++ API - Version 1.4.0
Namespaces | Classes | Typedefs | Functions
CDPL::Pharm Namespace Reference

Contains classes and functions related to pharmacophore perception and pharmacophore applications. More...

Namespaces

 ControlParameter
 Provides keys for built-in control-parameters.
 
 ControlParameterDefault
 Provides default values for built-in control-parameters.
 
 DataFormat
 Provides preinitialized Base::DataFormat objects for all supported data formats.
 
 FeatureContainerProperty
 Provides keys for built-in Pharm::FeatureContainer properties.
 
 FeatureContainerPropertyDefault
 Provides default values for built-in Pharm::FeatureContainer properties.
 
 FeatureGeometry
 Provides constants for the specification of the generic geometry of a pharmacophore feature.
 
 FeatureProperty
 Provides keys for built-in Pharm::Feature properties.
 
 FeaturePropertyDefault
 Provides default values for built-in Pharm::Feature properties.
 
 FeatureType
 Provides constants for the specification of the generic type of a pharmacophore feature.
 

Classes

class  AromaticFeatureGenerator
 Pharm::FeatureGenerator implementation that perceives aromatic ring features by enumerating the aromatic SSSR subset of the input molecular graph. More...
 
class  BasicFeature
 Pharm::Feature implementation owned by a Pharm::BasicPharmacophore parent. More...
 
class  BasicPharmacophore
 Concrete Pharm::Pharmacophore implementation that owns its features as Pharm::BasicFeature instances managed through an internal object pool. More...
 
class  CationPiInteractionConstraint
 Constraint functor that tests whether an aromatic/cationic feature pair satisfies the geometric criteria for a cation-π interaction (center distance plus cation-to-ring-plane-normal angle). More...
 
class  CationPiInteractionScore
 Pharm::FeatureInteractionScore implementation that scores an aromatic/cationic feature pair by combining per-component scores for cation-to-ring-center distance and cation-displacement to ring-plane-normal angle. More...
 
class  CDFFeatureContainerWriter
 Writer for feature container data in the native I/O format of the CDPL. More...
 
class  CDFPharmacophoreReader
 Reader for pharmacophore data in the native I/O format of the CDPL. More...
 
class  DefaultInteractionAnalyzer
 Interaction analyzer pre-configured with the built-in default set of interaction constraints (hydrogen-bonding, ionic, aromatic-aromatic, cation-π, hydrophobic, halogen-bonding). More...
 
class  DefaultPharmacophoreGenerator
 Pharmacophore generator pre-configured with the built-in default set of feature generators. More...
 
class  Feature
 Abstract base class representing a single pharmacophore feature within a parent Pharm::Pharmacophore. More...
 
class  FeatureContainer
 Abstract base class for containers holding a sequence of Pharm::Feature objects with associated properties (e.g. a pharmacophore or feature set). More...
 
class  FeatureDistanceConstraint
 Constraint functor that accepts a pair of features whose 3D-position distance lies within a configured [min, max] interval. More...
 
class  FeatureDistanceScore
 Pharm::FeatureInteractionScore implementation that scores a feature pair based on whether their 3D-position distance falls within a configured [min, max] interval. More...
 
class  FeatureGenerator
 Abstract base class for generators that perceive one type of pharmacophore feature (e.g. an aromatic ring or H-bond donor) and append the perceived features to a Pharm::Pharmacophore. More...
 
class  FeatureGeometryMatchFunctor
 Match functor that quantifies the goodness of the spatial orientation match between two pharmacophore features, applying type-specific tolerances for H-bond donor/acceptor, halogen-bond donor/acceptor and aromatic features. More...
 
class  FeatureInteractionScore
 Abstract base class for scoring functors that quantify the strength of a directional pharmacophore-feature interaction (e.g. H-bond, ionic, π-π stacking) between two Pharm::Feature instances. More...
 
class  FeatureInteractionScoreCombiner
 Composite Pharm::FeatureInteractionScore that combines two underlying interaction scores via a user-supplied binary combination function (default: maximum). More...
 
class  FeatureMapping
 Data type for the storage and lookup of arbitrary feature to feature mappings. More...
 
class  FeaturePairDistanceMatchFunctor
 Match functor that tests whether two feature pairs share a compatible inter-feature distance, with the compatibility relation switched between query-mode (asymmetric) and non-query-mode (symmetric). More...
 
class  FeaturePositionMatchFunctor
 Match functor that quantifies the goodness of the 3D-position match between two pharmacophore features by comparing their separation against the configured per-feature tolerance. More...
 
class  FeatureSet
 Concrete Pharm::FeatureContainer implementation that stores references to existing Pharm::Feature instances. More...
 
class  FeatureTypeHistogram
 Data type for the storage of feature type histograms of pharmacophores. More...
 
class  FeatureTypeMatchFunctor
 Match functor that accepts a feature pair when both features share the same Pharm::FeatureType identifier. More...
 
class  FileScreeningHitCollector
 Hit-callback functor for use with Pharm::ScreeningProcessor that writes each accepted hit molecule (optionally aligned and annotated with score/database properties) to a Base::DataWriter sink. More...
 
class  HBondAcceptorFeatureGenerator
 Pharm::FeatureGenerator implementation that perceives H-bond acceptor features by matching a built-in set of SMARTS-like substructure patterns. More...
 
class  HBondDonorFeatureGenerator
 Pharm::FeatureGenerator implementation that perceives H-bond donor features by matching a built-in set of SMARTS-like substructure patterns. More...
 
class  HBondingInteractionConstraint
 Constraint functor that tests whether a Pharm::Feature pair satisfies geometric H-bond criteria (H-bond length plus acceptor-H-donor and H-bond-direction-to-acceptor-vector angles). More...
 
class  HBondingInteractionScore
 Pharm::FeatureInteractionScore implementation that scores a donor/acceptor feature pair by combining per-component scores for H-bond length, acceptor-hydrogen-donor angle and H-bond-direction to acceptor-vector angle. More...
 
class  HydrophobicAtomFeatureGenerator
 Pharm::FeatureGenerator implementation that emits one hydrophobic feature per atom whose individual hydrophobicity exceeds a configurable threshold. More...
 
class  HydrophobicFeatureGenerator
 Pharm::FeatureGenerator implementation that perceives hydrophobic features by grouping atoms into rings, chains and small fragment groups whose total atom hydrophobicity exceeds the per-class threshold. More...
 
class  HydrophobicInteractionConstraint
 Pharm::FeatureDistanceConstraint specialization that accepts a hydrophobic feature pair when its center distance lies within the typical hydrophobic interaction range. More...
 
class  HydrophobicInteractionScore
 Pharm::FeatureDistanceScore specialization that scores a hydrophobic feature pair based on its center distance in the typical hydrophobic interaction range. More...
 
class  InteractionAnalyzer
 Analyzer that detects pairwise interactions between features of two Pharm::FeatureContainer instances based on user-registered per-feature-type-pair interaction constraint functions. More...
 
class  InteractionConstraintConnector
 Composite feature-interaction constraint that combines two underlying constraint functions via a logical conjunction or disjunction. More...
 
class  InteractionPharmacophoreGenerator
 Driver that generates an interaction pharmacophore by perceiving a core pharmacophore on a ligand, an environment pharmacophore on the surrounding pocket residues, analyzing the inter-feature interactions and emitting features representing the detected interactions (optionally with exclusion volumes). More...
 
class  IonicInteractionConstraint
 Pharm::FeatureDistanceConstraint specialization that accepts an oppositely-charged ionic feature pair when its center distance lies within the typical salt-bridge range. More...
 
class  IonicInteractionScore
 Pharm::FeatureDistanceScore specialization that scores an oppositely-charged ionic feature pair based on its center distance in the typical salt-bridge range. More...
 
class  NegIonizableFeatureGenerator
 Pharm::FeatureGenerator implementation that perceives negative ionizable group features by matching a built-in set of SMARTS-like substructure patterns. More...
 
class  OrthogonalPiPiInteractionConstraint
 Constraint functor that tests whether an aromatic feature pair satisfies the geometric criteria for an orthogonal (T-shaped) π-π interaction (horizontal/vertical center separations plus ring-normal angle). More...
 
class  OrthogonalPiPiInteractionScore
 Pharm::FeatureInteractionScore implementation that scores an aromatic feature pair for an orthogonal (T-shaped) π-π interaction by combining per-component scores for horizontal/vertical center separations and ring-plane-normal angle. More...
 
class  ParallelPiPiInteractionConstraint
 Constraint functor that tests whether an aromatic feature pair satisfies the geometric criteria for a parallel (sandwich/displaced) π-π interaction (vertical/horizontal center separations plus ring-normal angle). More...
 
class  ParallelPiPiInteractionScore
 Pharm::FeatureInteractionScore implementation that scores an aromatic feature pair for a parallel (sandwich/displaced) π-π interaction by combining per-component scores for vertical/horizontal center separations and ring-plane-normal angle. More...
 
class  PatternBasedFeatureGenerator
 Pharm::FeatureGenerator implementation that perceives pharmacophore features by SMARTS-like substructure pattern matching, with separate include and exclude pattern lists. More...
 
class  Pharmacophore
 Abstract base class for mutable containers of Pharm::Feature instances representing a pharmacophore model. More...
 
class  PharmacophoreAlignment
 Pharmacophore alignment driver — a Chem::SpatialEntityAlignment specialization for Pharm::Feature objects that aligns two feature sets according to their type, geometry and 3D positions. More...
 
class  PharmacophoreFitScore
 Scoring functor that quantifies how well a candidate set of features fits a reference pharmacophore, combining feature-match count, per-feature position deviation and geometry-match contributions. More...
 
class  PharmacophoreFitScreeningScore
 Pharm::PharmacophoreFitScore specialization that scores a Pharm::ScreeningProcessor::SearchHit by applying the underlying pharmacophore-fit score to its query and hit features. More...
 
class  PharmacophoreGenerator
 Base class for pharmacophore generators that orchestrate per-feature-type Pharm::FeatureGenerator instances to produce the features of a Pharm::Pharmacophore from a Chem::MolecularGraph. More...
 
class  PMLFeatureContainerWriter
 Writer for feature container data in the native I/O format of LigandScout. More...
 
class  PMLPharmacophoreReader
 Reader for pharmacophore data in the native I/O format of LigandScout. More...
 
class  PosIonizableFeatureGenerator
 Pharm::FeatureGenerator implementation that perceives positive ionizable group features by matching a built-in set of SMARTS-like substructure patterns. More...
 
class  PSDMolecularGraphOutputHandler
 Handler for the output of molecular graph data in the CDPL PSD-format. More...
 
class  PSDMolecularGraphWriter
 Writer for molecular graph data in the CDPL PSD-format. More...
 
class  PSDMoleculeInputHandler
 Handler for the input of molecule data in the CDPL PSD-format. More...
 
class  PSDMoleculeReader
 Reader for molecule data in the CDPL PSD-format. More...
 
class  PSDPharmacophoreInputHandler
 Handler for the input of pharmacophore data in the CDPL PSD-format. More...
 
class  PSDPharmacophoreReader
 Reader for pharmacophore data in the CDPL PSD-format. More...
 
class  PSDScreeningDBAccessor
 Pharm::ScreeningDBAccessor implementation that reads pharmacophore screening databases stored in the built-in optimized PSD format. More...
 
class  PSDScreeningDBCreator
 Pharm::ScreeningDBCreator implementation that builds optimized pharmacophore screening databases in the built-in PSD format. More...
 
class  ScreeningDBAccessor
 Abstract base class for accessors that read the data stored in pharmacophore screening databases. More...
 
class  ScreeningDBCreator
 Abstract base class for creators that build optimized pharmacophore screening databases. More...
 
class  ScreeningProcessor
 High-level driver for pharmacophore-based screening of a Pharm::ScreeningDBAccessor-backed database against a query feature container, reporting alignment hits via a user-supplied callback. More...
 
class  SpatialFeatureMapping
 Pharm::FeatureMapping specialization that perceives a reference-to-aligned feature mapping based on type, position and geometry compatibility under a given transformation, caching per-pair position and geometry match scores for later retrieval. More...
 
class  XBondAcceptorFeatureGenerator
 Pharm::FeatureGenerator implementation that perceives halogen-bond acceptor features by matching a built-in set of SMARTS-like substructure patterns. More...
 
class  XBondDonorFeatureGenerator
 Pharm::FeatureGenerator implementation that perceives halogen-bond donor features by matching a built-in set of SMARTS-like substructure patterns. More...
 
class  XBondingInteractionConstraint
 Constraint functor that tests whether a halogen-bond donor/acceptor feature pair satisfies the geometric criteria for a halogen bond (halogen-acceptor distance plus the two characteristic angles). More...
 
class  XBondingInteractionScore
 Pharm::FeatureInteractionScore implementation that scores a halogen-bond donor/acceptor feature pair by combining per-component scores for halogen-acceptor distance, acceptor-halogen-bound-atom angle and acceptor-direction angle. More...
 

Typedefs

typedef Util::DefaultDataOutputHandler< CDFBZ2FeatureContainerWriter, DataFormat::CDF_BZ2CDFBZ2FeatureContainerOutputHandler
 Handler for the output of bzip2-compressed feature container data in the native I/O format of the CDPL. More...
 
typedef Util::CompressedDataWriter< CDFFeatureContainerWriter, Util::BZip2OStreamCDFBZ2FeatureContainerWriter
 Writer for bzip2-compressed feature container data in the native I/O format of the CDPL. More...
 
typedef Util::DefaultDataInputHandler< CDFBZ2PharmacophoreReader, DataFormat::CDF_BZ2CDFBZ2PharmacophoreInputHandler
 Handler for the input of bzip2-compressed pharmacophore data in the native I/O format of the CDPL. More...
 
typedef Util::CompressedDataReader< CDFPharmacophoreReader, Util::BZip2IStreamCDFBZ2PharmacophoreReader
 Reader for bzip2-compressed pharmacophore data in the native I/O format of the CDPL. More...
 
typedef Util::DefaultDataOutputHandler< CDFFeatureContainerWriter, DataFormat::CDFCDFFeatureContainerOutputHandler
 Handler for the output of feature container data in the native I/O format of the CDPL. More...
 
typedef Util::DefaultDataOutputHandler< CDFGZFeatureContainerWriter, DataFormat::CDF_GZCDFGZFeatureContainerOutputHandler
 Handler for the output of gzip-compressed feature container data in the native I/O format of the CDPL. More...
 
typedef Util::CompressedDataWriter< CDFFeatureContainerWriter, Util::GZipOStreamCDFGZFeatureContainerWriter
 Writer for gzip-compressed feature container data in the native I/O format of the CDPL. More...
 
typedef Util::DefaultDataInputHandler< CDFGZPharmacophoreReader, DataFormat::CDF_GZCDFGZPharmacophoreInputHandler
 Handler for the input of gzip-compressed pharmacophore data in the native I/O format of the CDPL. More...
 
typedef Util::CompressedDataReader< CDFPharmacophoreReader, Util::GZipIStreamCDFGZPharmacophoreReader
 Reader for gzip-compressed pharmacophore data in the native I/O format of the CDPL. More...
 
typedef Util::DefaultDataInputHandler< CDFPharmacophoreReader, DataFormat::CDFCDFPharmacophoreInputHandler
 Handler for the input of pharmacophore data in the native I/O format of the CDPL. More...
 
typedef std::function< const Math::Vector3D &(const Pharm::Feature &)> Feature3DCoordinatesFunction
 Generic wrapper class used to store a user-defined Pharm::Feature 3D-coordinates function. More...
 
typedef std::function< bool(const Feature &, const Feature &)> FeatureCompareFunction
 Generic wrapper class used to store a user-defined feature compare function. More...
 
typedef Util::MultiFormatDataWriter< FeatureContainerFeatureContainerWriter
 Writer for pharmacophore data in any supported format. More...
 
typedef Util::MultiFormatDataReader< PharmacophorePharmacophoreReader
 Reader for pharmacophore data in any supported format. More...
 
typedef Util::DefaultDataOutputHandler< PMLFeatureContainerWriter, DataFormat::PMLPMLFeatureContainerOutputHandler
 Handler for the output of pharmacophore data in the native I/O format of LigandScout. More...
 
typedef Util::DefaultDataInputHandler< PMLPharmacophoreReader, DataFormat::PMLPMLPharmacophoreInputHandler
 Handler for the input of pharmacophore data in the native I/O format of LigandScout. More...
 

Functions

CDPL_PHARM_API bool getStrictErrorCheckingParameter (const Base::ControlParameterContainer &cntnr)
 Returns the value of the Pharm::ControlParameter::STRICT_ERROR_CHECKING parameter of cntnr. More...
 
CDPL_PHARM_API void setStrictErrorCheckingParameter (Base::ControlParameterContainer &cntnr, bool strict)
 Sets the Pharm::ControlParameter::STRICT_ERROR_CHECKING parameter of cntnr to strict. More...
 
CDPL_PHARM_API bool hasStrictErrorCheckingParameter (const Base::ControlParameterContainer &cntnr)
 Tells whether cntnr carries an explicit Pharm::ControlParameter::STRICT_ERROR_CHECKING parameter. More...
 
CDPL_PHARM_API void clearStrictErrorCheckingParameter (Base::ControlParameterContainer &cntnr)
 Removes the Pharm::ControlParameter::STRICT_ERROR_CHECKING parameter from cntnr. More...
 
CDPL_PHARM_API bool getCDFOutputSinglePrecisionFloatsParameter (const Base::ControlParameterContainer &cntnr)
 Returns the value of the Pharm::ControlParameter::CDF_OUTPUT_SINGLE_PRECISION_FLOATS parameter of cntnr. More...
 
CDPL_PHARM_API void setCDFOutputSinglePrecisionFloatsParameter (Base::ControlParameterContainer &cntnr, bool single_prec)
 Sets the Pharm::ControlParameter::CDF_OUTPUT_SINGLE_PRECISION_FLOATS parameter of cntnr to single_prec. More...
 
CDPL_PHARM_API bool hasCDFOutputSinglePrecisionFloatsParameter (const Base::ControlParameterContainer &cntnr)
 Tells whether cntnr carries an explicit Pharm::ControlParameter::CDF_OUTPUT_SINGLE_PRECISION_FLOATS parameter. More...
 
CDPL_PHARM_API void clearCDFOutputSinglePrecisionFloatsParameter (Base::ControlParameterContainer &cntnr)
 Removes the Pharm::ControlParameter::CDF_OUTPUT_SINGLE_PRECISION_FLOATS parameter from cntnr. More...
 
CDPL_PHARM_API ScreeningDBCreator::Mode getPSDCreationModeParameter (const Base::ControlParameterContainer &cntnr)
 Returns the value of the Pharm::ControlParameter::PSD_CREATION_MODE parameter of cntnr. More...
 
CDPL_PHARM_API void setPSDCreationModeParameter (Base::ControlParameterContainer &cntnr, ScreeningDBCreator::Mode mode)
 Sets the Pharm::ControlParameter::PSD_CREATION_MODE parameter of cntnr to mode. More...
 
CDPL_PHARM_API bool hasPSDCreationModeParameter (const Base::ControlParameterContainer &cntnr)
 Tells whether cntnr carries an explicit Pharm::ControlParameter::PSD_CREATION_MODE parameter. More...
 
CDPL_PHARM_API void clearPSDCreationModeParameter (Base::ControlParameterContainer &cntnr)
 Removes the Pharm::ControlParameter::PSD_CREATION_MODE parameter from cntnr. More...
 
CDPL_PHARM_API bool getPSDAllowDuplicatesParameter (const Base::ControlParameterContainer &cntnr)
 Returns the value of the Pharm::ControlParameter::PSD_ALLOW_DUPLICATES parameter of cntnr. More...
 
CDPL_PHARM_API void setPSDAllowDuplicatesParameter (Base::ControlParameterContainer &cntnr, bool allow)
 Sets the Pharm::ControlParameter::PSD_ALLOW_DUPLICATES parameter of cntnr to allow. More...
 
CDPL_PHARM_API bool hasPSDAllowDuplicatesParameter (const Base::ControlParameterContainer &cntnr)
 Tells whether cntnr carries an explicit Pharm::ControlParameter::PSD_ALLOW_DUPLICATES parameter. More...
 
CDPL_PHARM_API void clearPSDAllowDuplicatesParameter (Base::ControlParameterContainer &cntnr)
 Removes the Pharm::ControlParameter::PSD_ALLOW_DUPLICATES parameter from cntnr. More...
 
CDPL_PHARM_API const std::string & getName (const FeatureContainer &cntnr)
 Returns the name of the feature container cntnr (stored as Pharm::FeatureContainerProperty::NAME). More...
 
CDPL_PHARM_API void setName (FeatureContainer &cntnr, const std::string &name)
 Sets the name of the feature container cntnr. More...
 
CDPL_PHARM_API void clearName (FeatureContainer &cntnr)
 Removes the name property from the feature container cntnr. More...
 
CDPL_PHARM_API bool hasName (const FeatureContainer &cntnr)
 Tells whether a name has been set for the feature container cntnr. More...
 
CDPL_PHARM_API std::size_t getFeatureCount (const FeatureContainer &cntnr)
 Returns the total number of features stored in the feature container cntnr. More...
 
CDPL_PHARM_API std::size_t getFeatureCount (const FeatureContainer &cntnr, unsigned int type)
 Returns the number of features in cntnr whose type matches type. More...
 
CDPL_PHARM_API void generateFeatureTypeHistogram (const FeatureContainer &cntnr, FeatureTypeHistogram &hist, bool append=false)
 Computes a per Pharm::FeatureType frequency histogram of the features in cntnr. More...
 
CDPL_PHARM_API void generateFeatureTypeHistogramString (const FeatureContainer &cntnr, std::string &histo_str)
 Generates a human-readable comma-separated string representation of the feature-type histogram of cntnr (entries of the form Name(count)). More...
 
CDPL_PHARM_API void clearOrientations (FeatureContainer &cntnr, bool fix_geom=true)
 Clears the orientation property of every feature in cntnr and (optionally) resets each feature's geometry to Pharm::FeatureGeometry::SPHERE. More...
 
CDPL_PHARM_API bool removePositionalDuplicates (const FeatureContainer &cntnr, FeatureSet &tgt_set, double pos_tol=0.0, bool append=false)
 Copies the features in cntnr into tgt_set, suppressing features that share both type and 3D position with an already-collected feature. More...
 
CDPL_PHARM_API bool removeFeaturesWithType (const FeatureContainer &cntnr, FeatureSet &tgt_set, unsigned int type, bool append=false)
 Copies the features in cntnr into tgt_set, skipping every feature whose Pharm::FeatureType matches type. More...
 
CDPL_PHARM_API void transform3DCoordinates (FeatureContainer &cntnr, const Math::Matrix4D &mtx)
 Applies the affine transformation mtx to the 3D position (and, if set, the orientation vector) of every feature in cntnr. More...
 
CDPL_PHARM_API bool checkForExclusionVolumeClashes (const FeatureContainer &ftr_cntnr, const Chem::AtomContainer &atom_cntnr, const Chem::Atom3DCoordinatesFunction &coords_func, const Math::Matrix4D &xform, double vdw_factor=1.0)
 Tests whether the exclusion-volume features in ftr_cntnr remain clash-free with respect to the transformed atom positions of atom_cntnr. More...
 
CDPL_PHARM_API void getFeatureAtoms (const FeatureContainer &cntnr, Chem::Fragment &atoms, bool append=false)
 Collects the atoms of the molecular substructures underlying the features of cntnr into atoms. More...
 
CDPL_PHARM_API unsigned int getType (const Feature &feature)
 Returns the Pharm::FeatureProperty::TYPE property of feature. More...
 
CDPL_PHARM_API void setType (Feature &feature, unsigned int type)
 Sets the Pharm::FeatureProperty::TYPE property of feature. More...
 
CDPL_PHARM_API void clearType (Feature &feature)
 Removes the Pharm::FeatureProperty::TYPE property from feature. More...
 
CDPL_PHARM_API bool hasType (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::TYPE property of feature has been set. More...
 
CDPL_PHARM_API unsigned int getGeometry (const Feature &feature)
 Returns the Pharm::FeatureProperty::GEOMETRY property of feature. More...
 
CDPL_PHARM_API void setGeometry (Feature &feature, unsigned int geom)
 Sets the Pharm::FeatureProperty::GEOMETRY property of feature. More...
 
CDPL_PHARM_API void clearGeometry (Feature &feature)
 Removes the Pharm::FeatureProperty::GEOMETRY property from feature. More...
 
CDPL_PHARM_API bool hasGeometry (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::GEOMETRY property of feature has been set. More...
 
CDPL_PHARM_API const Math::Vector3DgetOrientation (const Feature &feature)
 Returns the Pharm::FeatureProperty::ORIENTATION property of feature. More...
 
CDPL_PHARM_API void setOrientation (Feature &feature, const Math::Vector3D &orient)
 Sets the Pharm::FeatureProperty::ORIENTATION property of feature. More...
 
CDPL_PHARM_API void clearOrientation (Feature &feature)
 Removes the Pharm::FeatureProperty::ORIENTATION property from feature. More...
 
CDPL_PHARM_API bool hasOrientation (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::ORIENTATION property of feature has been set. More...
 
CDPL_PHARM_API double getLength (const Feature &feature)
 Returns the Pharm::FeatureProperty::LENGTH property of feature. More...
 
CDPL_PHARM_API void setLength (Feature &feature, double length)
 Sets the Pharm::FeatureProperty::LENGTH property of feature. More...
 
CDPL_PHARM_API void clearLength (Feature &feature)
 Removes the Pharm::FeatureProperty::LENGTH property from feature. More...
 
CDPL_PHARM_API bool hasLength (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::LENGTH property of feature has been set. More...
 
CDPL_PHARM_API double getTolerance (const Feature &feature)
 Returns the Pharm::FeatureProperty::TOLERANCE property of feature. More...
 
CDPL_PHARM_API void setTolerance (Feature &feature, double tol)
 Sets the Pharm::FeatureProperty::TOLERANCE property of feature. More...
 
CDPL_PHARM_API void clearTolerance (Feature &feature)
 Removes the Pharm::FeatureProperty::TOLERANCE property from feature. More...
 
CDPL_PHARM_API bool hasTolerance (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::TOLERANCE property of feature has been set. More...
 
CDPL_PHARM_API double getWeight (const Feature &feature)
 Returns the Pharm::FeatureProperty::WEIGHT property of feature. More...
 
CDPL_PHARM_API void setWeight (Feature &feature, double weight)
 Sets the Pharm::FeatureProperty::WEIGHT property of feature. More...
 
CDPL_PHARM_API void clearWeight (Feature &feature)
 Removes the Pharm::FeatureProperty::WEIGHT property from feature. More...
 
CDPL_PHARM_API bool hasWeight (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::WEIGHT property of feature has been set. More...
 
CDPL_PHARM_API const Chem::Fragment::SharedPointergetSubstructure (const Feature &feature)
 Returns the Pharm::FeatureProperty::SUBSTRUCTURE property of feature (the underlying atoms/bonds). More...
 
CDPL_PHARM_API void setSubstructure (Feature &feature, const Chem::Fragment::SharedPointer &substruct)
 Sets the Pharm::FeatureProperty::SUBSTRUCTURE property of feature. More...
 
CDPL_PHARM_API void clearSubstructure (Feature &feature)
 Removes the Pharm::FeatureProperty::SUBSTRUCTURE property from feature. More...
 
CDPL_PHARM_API bool hasSubstructure (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::SUBSTRUCTURE property of feature has been set. More...
 
CDPL_PHARM_API std::string getEnvironmentResidueInfo (const Feature &feature)
 Generates a string describing the residue environment of feature (residue names of interacting pocket residues). More...
 
CDPL_PHARM_API std::string & getEnvironmentResidueInfo (const Feature &feature, std::string &info)
 Generates a string describing the residue environment of feature into info. More...
 
CDPL_PHARM_API std::string getEnvironmentResidueAtomInfo (const Feature &feature)
 Generates a string describing the per-atom residue environment of feature (residue names and atom names of interacting pocket atoms). More...
 
CDPL_PHARM_API std::string & getEnvironmentResidueAtomInfo (const Feature &feature, std::string &info)
 Generates a string describing the per-atom residue environment of feature into info. More...
 
CDPL_PHARM_API const Chem::Fragment::SharedPointergetEnvironmentSubstructure (const Feature &feature)
 Returns the Pharm::FeatureProperty::ENVIRONMENT_SUBSTRUCTURE property of feature (interacting pocket residues). More...
 
CDPL_PHARM_API void setEnvironmentSubstructure (Feature &feature, const Chem::Fragment::SharedPointer &substruct)
 Sets the Pharm::FeatureProperty::ENVIRONMENT_SUBSTRUCTURE property of feature. More...
 
CDPL_PHARM_API void clearEnvironmentSubstructure (Feature &feature)
 Removes the Pharm::FeatureProperty::ENVIRONMENT_SUBSTRUCTURE property from feature. More...
 
CDPL_PHARM_API bool hasEnvironmentSubstructure (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::ENVIRONMENT_SUBSTRUCTURE property of feature has been set. More...
 
CDPL_PHARM_API bool getDisabledFlag (const Feature &feature)
 Returns the Pharm::FeatureProperty::DISABLED_FLAG property of feature. More...
 
CDPL_PHARM_API void setDisabledFlag (Feature &feature, bool flag)
 Sets the Pharm::FeatureProperty::DISABLED_FLAG property of feature. More...
 
CDPL_PHARM_API void clearDisabledFlag (Feature &feature)
 Removes the Pharm::FeatureProperty::DISABLED_FLAG property from feature. More...
 
CDPL_PHARM_API bool hasDisabledFlag (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::DISABLED_FLAG property of feature has been set. More...
 
CDPL_PHARM_API bool getOptionalFlag (const Feature &feature)
 Returns the Pharm::FeatureProperty::OPTIONAL_FLAG property of feature. More...
 
CDPL_PHARM_API void setOptionalFlag (Feature &feature, bool flag)
 Sets the Pharm::FeatureProperty::OPTIONAL_FLAG property of feature. More...
 
CDPL_PHARM_API void clearOptionalFlag (Feature &feature)
 Removes the Pharm::FeatureProperty::OPTIONAL_FLAG property from feature. More...
 
CDPL_PHARM_API bool hasOptionalFlag (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::OPTIONAL_FLAG property of feature has been set. More...
 
CDPL_PHARM_API double getHydrophobicity (const Feature &feature)
 Returns the Pharm::FeatureProperty::HYDROPHOBICITY property of feature. More...
 
CDPL_PHARM_API void setHydrophobicity (Feature &feature, double hyd)
 Sets the Pharm::FeatureProperty::HYDROPHOBICITY property of feature. More...
 
CDPL_PHARM_API void clearHydrophobicity (Feature &feature)
 Removes the Pharm::FeatureProperty::HYDROPHOBICITY property from feature. More...
 
CDPL_PHARM_API bool hasHydrophobicity (const Feature &feature)
 Tells whether the Pharm::FeatureProperty::HYDROPHOBICITY property of feature has been set. More...
 
CDPL_PHARM_API void getFeatures (FeatureSet &ftr_set, const FeatureMapping &mapping, bool first)
 Extracts features from mapping into ftr_set. More...
 
CDPL_PHARM_API bool removePositionalDuplicates (FeatureSet &ftr_set, double pos_tol=0.0)
 Removes features from ftr_set whose 3D position duplicates that of another feature of the same type. More...
 
CDPL_PHARM_API bool removeFeaturesWithType (FeatureSet &ftr_set, unsigned int type)
 Removes features of the given type from ftr_set. More...
 
CDPL_PHARM_API void prepareForPharmacophoreGeneration (Chem::Molecule &mol, bool calc_hyd=true, bool from_logp=false)
 Prepares mol for downstream pharmacophore generation by completing its hydrogens, perceiving SSSR, ring flags, implicit H counts, hybridization states and aromaticity, generating 3D coordinates for newly added hydrogens and (optionally) calculating per-atom hydrophobicities. More...
 
CDPL_PHARM_API bool removePositionalDuplicates (Pharmacophore &pharm, double pos_tol=0.0)
 Removes positional duplicate features from pharm in place. More...
 
CDPL_PHARM_API bool removeFeaturesWithType (Pharmacophore &pharm, unsigned int type)
 Removes every feature in pharm whose Pharm::FeatureType matches type. More...
 
CDPL_PHARM_API void generateInteractionPharmacophore (Pharmacophore &pharm, const FeatureMapping &iactions, bool append=false)
 Builds an interaction pharmacophore from the supplied feature-to-feature mapping by emitting one feature per source feature, optionally enriched with orientation vectors and environment substructures derived from the mapped partner features. More...
 
CDPL_PHARM_API void createExclusionVolumes (Pharmacophore &pharm, const Chem::AtomContainer &cntnr, const Chem::Atom3DCoordinatesFunction &coords_func, double tol=0.0, double min_dist=0.0, bool rel_dist=true, bool append=true)
 Creates exclusion-volume features at the 3D positions of the atoms in cntnr and appends them to pharm. More...
 
CDPL_PHARM_API void createExclusionVolumes (Pharmacophore &pharm, const FeatureContainer &cntnr, double tol=0.0, double min_dist=0.0, bool rel_dist=true, bool append=true)
 Creates exclusion-volume features at the 3D positions of the features in cntnr and appends them to pharm. More...
 
CDPL_PHARM_API bool removeExclusionVolumesWithClashes (Pharmacophore &pharm, const Chem::AtomContainer &cntnr, const Chem::Atom3DCoordinatesFunction &coords_func, double vdw_scaling_fact=1.0)
 Removes every Pharm::FeatureType::EXCLUSION_VOLUME feature of pharm whose tolerance sphere clashes with any atom of cntnr. More...
 
CDPL_PHARM_API bool resizeExclusionVolumesWithClashes (Pharmacophore &pharm, const Chem::AtomContainer &cntnr, const Chem::Atom3DCoordinatesFunction &coords_func, double vdw_scaling_fact=1.0)
 Shrinks the tolerance of every Pharm::FeatureType::EXCLUSION_VOLUME feature of pharm whose tolerance sphere clashes with any atom of cntnr; removes the exclusion volume when the resulting tolerance falls below 0.25. More...
 
CDPL_PHARM_API const std::string & getFeatureTypeString (unsigned int ftr_type)
 Returns a human-readable name for the given Pharm::FeatureType identifier (e.g. "H" for H-bond donor). More...
 

Detailed Description

Contains classes and functions related to pharmacophore perception and pharmacophore applications.

Typedef Documentation

◆ CDFBZ2FeatureContainerOutputHandler

Handler for the output of bzip2-compressed feature container data in the native I/O format of the CDPL.

◆ CDFBZ2FeatureContainerWriter

Writer for bzip2-compressed feature container data in the native I/O format of the CDPL.

◆ CDFBZ2PharmacophoreInputHandler

Handler for the input of bzip2-compressed pharmacophore data in the native I/O format of the CDPL.

◆ CDFBZ2PharmacophoreReader

Reader for bzip2-compressed pharmacophore data in the native I/O format of the CDPL.

◆ CDFFeatureContainerOutputHandler

Handler for the output of feature container data in the native I/O format of the CDPL.

◆ CDFGZFeatureContainerOutputHandler

Handler for the output of gzip-compressed feature container data in the native I/O format of the CDPL.

◆ CDFGZFeatureContainerWriter

Writer for gzip-compressed feature container data in the native I/O format of the CDPL.

◆ CDFGZPharmacophoreInputHandler

Handler for the input of gzip-compressed pharmacophore data in the native I/O format of the CDPL.

◆ CDFGZPharmacophoreReader

Reader for gzip-compressed pharmacophore data in the native I/O format of the CDPL.

◆ CDFPharmacophoreInputHandler

Handler for the input of pharmacophore data in the native I/O format of the CDPL.

◆ Feature3DCoordinatesFunction

Generic wrapper class used to store a user-defined Pharm::Feature 3D-coordinates function.

◆ FeatureCompareFunction

typedef std::function<bool(const Feature&, const Feature&)> CDPL::Pharm::FeatureCompareFunction

Generic wrapper class used to store a user-defined feature compare function.

◆ FeatureContainerWriter

Writer for pharmacophore data in any supported format.

◆ PharmacophoreReader

Reader for pharmacophore data in any supported format.

◆ PMLFeatureContainerOutputHandler

Handler for the output of pharmacophore data in the native I/O format of LigandScout.

◆ PMLPharmacophoreInputHandler

Handler for the input of pharmacophore data in the native I/O format of LigandScout.

Function Documentation

◆ getStrictErrorCheckingParameter()

CDPL_PHARM_API bool CDPL::Pharm::getStrictErrorCheckingParameter ( const Base::ControlParameterContainer cntnr)

Returns the value of the Pharm::ControlParameter::STRICT_ERROR_CHECKING parameter of cntnr.

Parameters
cntnrThe control-parameter container.
Returns
true if strict error checking is enabled, and false otherwise.

◆ setStrictErrorCheckingParameter()

CDPL_PHARM_API void CDPL::Pharm::setStrictErrorCheckingParameter ( Base::ControlParameterContainer cntnr,
bool  strict 
)

Sets the Pharm::ControlParameter::STRICT_ERROR_CHECKING parameter of cntnr to strict.

Parameters
cntnrThe control-parameter container.
stricttrue to enable strict error checking, and false to disable it.

◆ hasStrictErrorCheckingParameter()

CDPL_PHARM_API bool CDPL::Pharm::hasStrictErrorCheckingParameter ( const Base::ControlParameterContainer cntnr)

Tells whether cntnr carries an explicit Pharm::ControlParameter::STRICT_ERROR_CHECKING parameter.

Parameters
cntnrThe control-parameter container.
Returns
true if the parameter is set, and false otherwise.

◆ clearStrictErrorCheckingParameter()

CDPL_PHARM_API void CDPL::Pharm::clearStrictErrorCheckingParameter ( Base::ControlParameterContainer cntnr)

Removes the Pharm::ControlParameter::STRICT_ERROR_CHECKING parameter from cntnr.

Parameters
cntnrThe control-parameter container.

◆ getCDFOutputSinglePrecisionFloatsParameter()

CDPL_PHARM_API bool CDPL::Pharm::getCDFOutputSinglePrecisionFloatsParameter ( const Base::ControlParameterContainer cntnr)

Returns the value of the Pharm::ControlParameter::CDF_OUTPUT_SINGLE_PRECISION_FLOATS parameter of cntnr.

Parameters
cntnrThe control-parameter container.
Returns
true if CDF output uses single-precision floats, and false otherwise.
Since
1.2

◆ setCDFOutputSinglePrecisionFloatsParameter()

CDPL_PHARM_API void CDPL::Pharm::setCDFOutputSinglePrecisionFloatsParameter ( Base::ControlParameterContainer cntnr,
bool  single_prec 
)

Sets the Pharm::ControlParameter::CDF_OUTPUT_SINGLE_PRECISION_FLOATS parameter of cntnr to single_prec.

Parameters
cntnrThe control-parameter container.
single_prectrue to write single-precision floats, and false to write double-precision floats.
Since
1.2

◆ hasCDFOutputSinglePrecisionFloatsParameter()

CDPL_PHARM_API bool CDPL::Pharm::hasCDFOutputSinglePrecisionFloatsParameter ( const Base::ControlParameterContainer cntnr)

Tells whether cntnr carries an explicit Pharm::ControlParameter::CDF_OUTPUT_SINGLE_PRECISION_FLOATS parameter.

Parameters
cntnrThe control-parameter container.
Returns
true if the parameter is set, and false otherwise.
Since
1.2

◆ clearCDFOutputSinglePrecisionFloatsParameter()

CDPL_PHARM_API void CDPL::Pharm::clearCDFOutputSinglePrecisionFloatsParameter ( Base::ControlParameterContainer cntnr)

Removes the Pharm::ControlParameter::CDF_OUTPUT_SINGLE_PRECISION_FLOATS parameter from cntnr.

Parameters
cntnrThe control-parameter container.
Since
1.2

◆ getPSDCreationModeParameter()

CDPL_PHARM_API ScreeningDBCreator::Mode CDPL::Pharm::getPSDCreationModeParameter ( const Base::ControlParameterContainer cntnr)

Returns the value of the Pharm::ControlParameter::PSD_CREATION_MODE parameter of cntnr.

Parameters
cntnrThe control-parameter container.
Returns
The Pharm::ScreeningDBCreator::Mode value.

◆ setPSDCreationModeParameter()

CDPL_PHARM_API void CDPL::Pharm::setPSDCreationModeParameter ( Base::ControlParameterContainer cntnr,
ScreeningDBCreator::Mode  mode 
)

Sets the Pharm::ControlParameter::PSD_CREATION_MODE parameter of cntnr to mode.

Parameters
cntnrThe control-parameter container.
modeThe new Pharm::ScreeningDBCreator::Mode value.

◆ hasPSDCreationModeParameter()

CDPL_PHARM_API bool CDPL::Pharm::hasPSDCreationModeParameter ( const Base::ControlParameterContainer cntnr)

Tells whether cntnr carries an explicit Pharm::ControlParameter::PSD_CREATION_MODE parameter.

Parameters
cntnrThe control-parameter container.
Returns
true if the parameter is set, and false otherwise.

◆ clearPSDCreationModeParameter()

CDPL_PHARM_API void CDPL::Pharm::clearPSDCreationModeParameter ( Base::ControlParameterContainer cntnr)

Removes the Pharm::ControlParameter::PSD_CREATION_MODE parameter from cntnr.

Parameters
cntnrThe control-parameter container.

◆ getPSDAllowDuplicatesParameter()

CDPL_PHARM_API bool CDPL::Pharm::getPSDAllowDuplicatesParameter ( const Base::ControlParameterContainer cntnr)

Returns the value of the Pharm::ControlParameter::PSD_ALLOW_DUPLICATES parameter of cntnr.

Parameters
cntnrThe control-parameter container.
Returns
true if duplicate database entries are allowed, and false otherwise.

◆ setPSDAllowDuplicatesParameter()

CDPL_PHARM_API void CDPL::Pharm::setPSDAllowDuplicatesParameter ( Base::ControlParameterContainer cntnr,
bool  allow 
)

Sets the Pharm::ControlParameter::PSD_ALLOW_DUPLICATES parameter of cntnr to allow.

Parameters
cntnrThe control-parameter container.
allowtrue to allow duplicate database entries, and false to reject them.

◆ hasPSDAllowDuplicatesParameter()

CDPL_PHARM_API bool CDPL::Pharm::hasPSDAllowDuplicatesParameter ( const Base::ControlParameterContainer cntnr)

Tells whether cntnr carries an explicit Pharm::ControlParameter::PSD_ALLOW_DUPLICATES parameter.

Parameters
cntnrThe control-parameter container.
Returns
true if the parameter is set, and false otherwise.

◆ clearPSDAllowDuplicatesParameter()

CDPL_PHARM_API void CDPL::Pharm::clearPSDAllowDuplicatesParameter ( Base::ControlParameterContainer cntnr)

Removes the Pharm::ControlParameter::PSD_ALLOW_DUPLICATES parameter from cntnr.

Parameters
cntnrThe control-parameter container.

◆ getName()

CDPL_PHARM_API const std::string& CDPL::Pharm::getName ( const FeatureContainer cntnr)

Returns the name of the feature container cntnr (stored as Pharm::FeatureContainerProperty::NAME).

Parameters
cntnrThe feature container.
Returns
The name (or an empty string if the property is not set).

◆ setName()

CDPL_PHARM_API void CDPL::Pharm::setName ( FeatureContainer cntnr,
const std::string &  name 
)

Sets the name of the feature container cntnr.

Parameters
cntnrThe feature container.
nameThe new name.

◆ clearName()

CDPL_PHARM_API void CDPL::Pharm::clearName ( FeatureContainer cntnr)

Removes the name property from the feature container cntnr.

Parameters
cntnrThe feature container.

◆ hasName()

CDPL_PHARM_API bool CDPL::Pharm::hasName ( const FeatureContainer cntnr)

Tells whether a name has been set for the feature container cntnr.

Parameters
cntnrThe feature container.
Returns
true if the name property is set, and false otherwise.

◆ getFeatureCount() [1/2]

CDPL_PHARM_API std::size_t CDPL::Pharm::getFeatureCount ( const FeatureContainer cntnr)

Returns the total number of features stored in the feature container cntnr.

Parameters
cntnrThe feature container.
Returns
The number of stored features.

◆ getFeatureCount() [2/2]

CDPL_PHARM_API std::size_t CDPL::Pharm::getFeatureCount ( const FeatureContainer cntnr,
unsigned int  type 
)

Returns the number of features in cntnr whose type matches type.

Parameters
cntnrThe feature container.
typeThe Pharm::FeatureType to count.
Returns
The number of features of the specified type.

◆ generateFeatureTypeHistogram()

CDPL_PHARM_API void CDPL::Pharm::generateFeatureTypeHistogram ( const FeatureContainer cntnr,
FeatureTypeHistogram hist,
bool  append = false 
)

Computes a per Pharm::FeatureType frequency histogram of the features in cntnr.

Parameters
cntnrThe feature container.
histThe output histogram (feature type → count).
appendIf false, hist is cleared before the counts are accumulated.

◆ generateFeatureTypeHistogramString()

CDPL_PHARM_API void CDPL::Pharm::generateFeatureTypeHistogramString ( const FeatureContainer cntnr,
std::string &  histo_str 
)

Generates a human-readable comma-separated string representation of the feature-type histogram of cntnr (entries of the form Name(count)).

Parameters
cntnrThe feature container.
histo_strThe output string.

◆ clearOrientations()

CDPL_PHARM_API void CDPL::Pharm::clearOrientations ( FeatureContainer cntnr,
bool  fix_geom = true 
)

Clears the orientation property of every feature in cntnr and (optionally) resets each feature's geometry to Pharm::FeatureGeometry::SPHERE.

Parameters
cntnrThe feature container.
fix_geomIf true, the geometry of each feature is set to Pharm::FeatureGeometry::SPHERE after clearing the orientation.
Since
1.2

◆ removePositionalDuplicates() [1/3]

CDPL_PHARM_API bool CDPL::Pharm::removePositionalDuplicates ( const FeatureContainer cntnr,
FeatureSet tgt_set,
double  pos_tol = 0.0,
bool  append = false 
)

Copies the features in cntnr into tgt_set, suppressing features that share both type and 3D position with an already-collected feature.

Two features count as duplicates if they have identical Pharm::FeatureType and their position vectors either match exactly (pos_tol ≤ 0) or lie within pos_tol from each other. When a duplicate is detected, the feature with the larger position tolerance is retained.

Parameters
cntnrThe feature container providing the input features.
tgt_setThe feature set receiving the deduplicated features.
pos_tolThe position-equality tolerance in Ångstrom; values ≤ 0 require an exact position match.
appendIf false, tgt_set is cleared before adding any features.
Returns
true if at least one duplicate was detected, and false otherwise.
Since
1.2

◆ removeFeaturesWithType() [1/3]

CDPL_PHARM_API bool CDPL::Pharm::removeFeaturesWithType ( const FeatureContainer cntnr,
FeatureSet tgt_set,
unsigned int  type,
bool  append = false 
)

Copies the features in cntnr into tgt_set, skipping every feature whose Pharm::FeatureType matches type.

Parameters
cntnrThe feature container providing the input features.
tgt_setThe feature set receiving the filtered features.
typeThe Pharm::FeatureType to exclude.
appendIf false, tgt_set is cleared before adding any features.
Returns
true if at least one feature was excluded, and false otherwise.
Since
1.2

◆ transform3DCoordinates()

CDPL_PHARM_API void CDPL::Pharm::transform3DCoordinates ( FeatureContainer cntnr,
const Math::Matrix4D mtx 
)

Applies the affine transformation mtx to the 3D position (and, if set, the orientation vector) of every feature in cntnr.

Parameters
cntnrThe feature container to transform.
mtxThe 4x4 transformation matrix.

◆ checkForExclusionVolumeClashes()

CDPL_PHARM_API bool CDPL::Pharm::checkForExclusionVolumeClashes ( const FeatureContainer ftr_cntnr,
const Chem::AtomContainer atom_cntnr,
const Chem::Atom3DCoordinatesFunction coords_func,
const Math::Matrix4D xform,
double  vdw_factor = 1.0 
)

Tests whether the exclusion-volume features in ftr_cntnr remain clash-free with respect to the transformed atom positions of atom_cntnr.

Each enabled feature of type Pharm::FeatureType::EXCLUSION_VOLUME is checked against every atom of atom_cntnr: a clash is reported as soon as the distance between feature and atom is smaller than the sum of the feature's position tolerance and vdw_factor times the atom's Van der Waals radius.

Parameters
ftr_cntnrThe feature container providing the exclusion-volume features.
atom_cntnrThe atom container providing the test atoms.
coords_funcThe function returning the 3D coordinates of an atom.
xformThe 4x4 transformation applied to the atom coordinates before the clash test.
vdw_factorScaling factor for the per-atom Van der Waals radii; if ≤ 0 the atoms are treated as point particles.
Returns
true if no clash is detected, and false otherwise.

◆ getFeatureAtoms()

CDPL_PHARM_API void CDPL::Pharm::getFeatureAtoms ( const FeatureContainer cntnr,
Chem::Fragment atoms,
bool  append = false 
)

Collects the atoms of the molecular substructures underlying the features of cntnr into atoms.

Features without an associated substructure (see Pharm::hasSubstructure()) are silently skipped.

Parameters
cntnrThe feature container providing the features.
atomsThe output fragment receiving the contributing atoms.
appendIf false, atoms is cleared before any atoms are added.

◆ getType()

CDPL_PHARM_API unsigned int CDPL::Pharm::getType ( const Feature feature)

Returns the Pharm::FeatureProperty::TYPE property of feature.

Parameters
featureThe feature.
Returns
The Pharm::FeatureType identifier.

◆ setType()

CDPL_PHARM_API void CDPL::Pharm::setType ( Feature feature,
unsigned int  type 
)

Sets the Pharm::FeatureProperty::TYPE property of feature.

Parameters
featureThe feature.
typeThe new Pharm::FeatureType identifier.

◆ clearType()

CDPL_PHARM_API void CDPL::Pharm::clearType ( Feature feature)

Removes the Pharm::FeatureProperty::TYPE property from feature.

Parameters
featureThe feature.

◆ hasType()

CDPL_PHARM_API bool CDPL::Pharm::hasType ( const Feature feature)

Tells whether the Pharm::FeatureProperty::TYPE property of feature has been set.

Parameters
featureThe feature.
Returns
true if the type property is set, and false otherwise.

◆ getGeometry()

CDPL_PHARM_API unsigned int CDPL::Pharm::getGeometry ( const Feature feature)

Returns the Pharm::FeatureProperty::GEOMETRY property of feature.

Parameters
featureThe feature.
Returns
The Pharm::FeatureGeometry identifier.

◆ setGeometry()

CDPL_PHARM_API void CDPL::Pharm::setGeometry ( Feature feature,
unsigned int  geom 
)

Sets the Pharm::FeatureProperty::GEOMETRY property of feature.

Parameters
featureThe feature.
geomThe new Pharm::FeatureGeometry identifier.

◆ clearGeometry()

CDPL_PHARM_API void CDPL::Pharm::clearGeometry ( Feature feature)

Removes the Pharm::FeatureProperty::GEOMETRY property from feature.

Parameters
featureThe feature.

◆ hasGeometry()

CDPL_PHARM_API bool CDPL::Pharm::hasGeometry ( const Feature feature)

Tells whether the Pharm::FeatureProperty::GEOMETRY property of feature has been set.

Parameters
featureThe feature.
Returns
true if the geometry property is set, and false otherwise.

◆ getOrientation()

CDPL_PHARM_API const Math::Vector3D& CDPL::Pharm::getOrientation ( const Feature feature)

Returns the Pharm::FeatureProperty::ORIENTATION property of feature.

Parameters
featureThe feature.
Returns
A const reference to the 3D orientation vector.

◆ setOrientation()

CDPL_PHARM_API void CDPL::Pharm::setOrientation ( Feature feature,
const Math::Vector3D orient 
)

Sets the Pharm::FeatureProperty::ORIENTATION property of feature.

Parameters
featureThe feature.
orientThe new 3D orientation vector.

◆ clearOrientation()

CDPL_PHARM_API void CDPL::Pharm::clearOrientation ( Feature feature)

Removes the Pharm::FeatureProperty::ORIENTATION property from feature.

Parameters
featureThe feature.

◆ hasOrientation()

CDPL_PHARM_API bool CDPL::Pharm::hasOrientation ( const Feature feature)

Tells whether the Pharm::FeatureProperty::ORIENTATION property of feature has been set.

Parameters
featureThe feature.
Returns
true if the orientation property is set, and false otherwise.

◆ getLength()

CDPL_PHARM_API double CDPL::Pharm::getLength ( const Feature feature)

Returns the Pharm::FeatureProperty::LENGTH property of feature.

Parameters
featureThe feature.
Returns
The length value.

◆ setLength()

CDPL_PHARM_API void CDPL::Pharm::setLength ( Feature feature,
double  length 
)

Sets the Pharm::FeatureProperty::LENGTH property of feature.

Parameters
featureThe feature.
lengthThe new length value.

◆ clearLength()

CDPL_PHARM_API void CDPL::Pharm::clearLength ( Feature feature)

Removes the Pharm::FeatureProperty::LENGTH property from feature.

Parameters
featureThe feature.

◆ hasLength()

CDPL_PHARM_API bool CDPL::Pharm::hasLength ( const Feature feature)

Tells whether the Pharm::FeatureProperty::LENGTH property of feature has been set.

Parameters
featureThe feature.
Returns
true if the length property is set, and false otherwise.

◆ getTolerance()

CDPL_PHARM_API double CDPL::Pharm::getTolerance ( const Feature feature)

Returns the Pharm::FeatureProperty::TOLERANCE property of feature.

Parameters
featureThe feature.
Returns
The tolerance value.

◆ setTolerance()

CDPL_PHARM_API void CDPL::Pharm::setTolerance ( Feature feature,
double  tol 
)

Sets the Pharm::FeatureProperty::TOLERANCE property of feature.

Parameters
featureThe feature.
tolThe new tolerance value.

◆ clearTolerance()

CDPL_PHARM_API void CDPL::Pharm::clearTolerance ( Feature feature)

Removes the Pharm::FeatureProperty::TOLERANCE property from feature.

Parameters
featureThe feature.

◆ hasTolerance()

CDPL_PHARM_API bool CDPL::Pharm::hasTolerance ( const Feature feature)

Tells whether the Pharm::FeatureProperty::TOLERANCE property of feature has been set.

Parameters
featureThe feature.
Returns
true if the tolerance property is set, and false otherwise.

◆ getWeight()

CDPL_PHARM_API double CDPL::Pharm::getWeight ( const Feature feature)

Returns the Pharm::FeatureProperty::WEIGHT property of feature.

Parameters
featureThe feature.
Returns
The weight value.

◆ setWeight()

CDPL_PHARM_API void CDPL::Pharm::setWeight ( Feature feature,
double  weight 
)

Sets the Pharm::FeatureProperty::WEIGHT property of feature.

Parameters
featureThe feature.
weightThe new weight value.

◆ clearWeight()

CDPL_PHARM_API void CDPL::Pharm::clearWeight ( Feature feature)

Removes the Pharm::FeatureProperty::WEIGHT property from feature.

Parameters
featureThe feature.

◆ hasWeight()

CDPL_PHARM_API bool CDPL::Pharm::hasWeight ( const Feature feature)

Tells whether the Pharm::FeatureProperty::WEIGHT property of feature has been set.

Parameters
featureThe feature.
Returns
true if the weight property is set, and false otherwise.

◆ getSubstructure()

CDPL_PHARM_API const Chem::Fragment::SharedPointer& CDPL::Pharm::getSubstructure ( const Feature feature)

Returns the Pharm::FeatureProperty::SUBSTRUCTURE property of feature (the underlying atoms/bonds).

Parameters
featureThe feature.
Returns
A const reference to the feature substructure.

◆ setSubstructure()

CDPL_PHARM_API void CDPL::Pharm::setSubstructure ( Feature feature,
const Chem::Fragment::SharedPointer substruct 
)

Sets the Pharm::FeatureProperty::SUBSTRUCTURE property of feature.

Parameters
featureThe feature.
substructThe new feature substructure.

◆ clearSubstructure()

CDPL_PHARM_API void CDPL::Pharm::clearSubstructure ( Feature feature)

Removes the Pharm::FeatureProperty::SUBSTRUCTURE property from feature.

Parameters
featureThe feature.

◆ hasSubstructure()

CDPL_PHARM_API bool CDPL::Pharm::hasSubstructure ( const Feature feature)

Tells whether the Pharm::FeatureProperty::SUBSTRUCTURE property of feature has been set.

Parameters
featureThe feature.
Returns
true if the substructure property is set, and false otherwise.

◆ getEnvironmentResidueInfo() [1/2]

CDPL_PHARM_API std::string CDPL::Pharm::getEnvironmentResidueInfo ( const Feature feature)

Generates a string describing the residue environment of feature (residue names of interacting pocket residues).

Parameters
featureThe feature.
Returns
The generated environment-residue info string.
Since
1.3

◆ getEnvironmentResidueInfo() [2/2]

CDPL_PHARM_API std::string& CDPL::Pharm::getEnvironmentResidueInfo ( const Feature feature,
std::string &  info 
)

Generates a string describing the residue environment of feature into info.

Parameters
featureThe feature.
infoThe output string.
Returns
A reference to info.
Since
1.4

◆ getEnvironmentResidueAtomInfo() [1/2]

CDPL_PHARM_API std::string CDPL::Pharm::getEnvironmentResidueAtomInfo ( const Feature feature)

Generates a string describing the per-atom residue environment of feature (residue names and atom names of interacting pocket atoms).

Parameters
featureThe feature.
Returns
The generated environment-residue-atom info string.
Since
1.4

◆ getEnvironmentResidueAtomInfo() [2/2]

CDPL_PHARM_API std::string& CDPL::Pharm::getEnvironmentResidueAtomInfo ( const Feature feature,
std::string &  info 
)

Generates a string describing the per-atom residue environment of feature into info.

Parameters
featureThe feature.
infoThe output string.
Returns
A reference to info.
Since
1.4

◆ getEnvironmentSubstructure()

CDPL_PHARM_API const Chem::Fragment::SharedPointer& CDPL::Pharm::getEnvironmentSubstructure ( const Feature feature)

Returns the Pharm::FeatureProperty::ENVIRONMENT_SUBSTRUCTURE property of feature (interacting pocket residues).

Parameters
featureThe feature.
Returns
A const reference to the environment substructure.
Since
1.4

◆ setEnvironmentSubstructure()

CDPL_PHARM_API void CDPL::Pharm::setEnvironmentSubstructure ( Feature feature,
const Chem::Fragment::SharedPointer substruct 
)

Sets the Pharm::FeatureProperty::ENVIRONMENT_SUBSTRUCTURE property of feature.

Parameters
featureThe feature.
substructThe new environment substructure.

◆ clearEnvironmentSubstructure()

CDPL_PHARM_API void CDPL::Pharm::clearEnvironmentSubstructure ( Feature feature)

Removes the Pharm::FeatureProperty::ENVIRONMENT_SUBSTRUCTURE property from feature.

Parameters
featureThe feature.

◆ hasEnvironmentSubstructure()

CDPL_PHARM_API bool CDPL::Pharm::hasEnvironmentSubstructure ( const Feature feature)

Tells whether the Pharm::FeatureProperty::ENVIRONMENT_SUBSTRUCTURE property of feature has been set.

Parameters
featureThe feature.
Returns
true if the environment substructure property is set, and false otherwise.

◆ getDisabledFlag()

CDPL_PHARM_API bool CDPL::Pharm::getDisabledFlag ( const Feature feature)

Returns the Pharm::FeatureProperty::DISABLED_FLAG property of feature.

Parameters
featureThe feature.
Returns
true if the feature is flagged as disabled, and false otherwise.

◆ setDisabledFlag()

CDPL_PHARM_API void CDPL::Pharm::setDisabledFlag ( Feature feature,
bool  flag 
)

Sets the Pharm::FeatureProperty::DISABLED_FLAG property of feature.

Parameters
featureThe feature.
flagThe new disabled-flag value.

◆ clearDisabledFlag()

CDPL_PHARM_API void CDPL::Pharm::clearDisabledFlag ( Feature feature)

Removes the Pharm::FeatureProperty::DISABLED_FLAG property from feature.

Parameters
featureThe feature.

◆ hasDisabledFlag()

CDPL_PHARM_API bool CDPL::Pharm::hasDisabledFlag ( const Feature feature)

Tells whether the Pharm::FeatureProperty::DISABLED_FLAG property of feature has been set.

Parameters
featureThe feature.
Returns
true if the disabled flag is set, and false otherwise.

◆ getOptionalFlag()

CDPL_PHARM_API bool CDPL::Pharm::getOptionalFlag ( const Feature feature)

Returns the Pharm::FeatureProperty::OPTIONAL_FLAG property of feature.

Parameters
featureThe feature.
Returns
true if the feature is flagged as optional, and false otherwise.

◆ setOptionalFlag()

CDPL_PHARM_API void CDPL::Pharm::setOptionalFlag ( Feature feature,
bool  flag 
)

Sets the Pharm::FeatureProperty::OPTIONAL_FLAG property of feature.

Parameters
featureThe feature.
flagThe new optional-flag value.

◆ clearOptionalFlag()

CDPL_PHARM_API void CDPL::Pharm::clearOptionalFlag ( Feature feature)

Removes the Pharm::FeatureProperty::OPTIONAL_FLAG property from feature.

Parameters
featureThe feature.

◆ hasOptionalFlag()

CDPL_PHARM_API bool CDPL::Pharm::hasOptionalFlag ( const Feature feature)

Tells whether the Pharm::FeatureProperty::OPTIONAL_FLAG property of feature has been set.

Parameters
featureThe feature.
Returns
true if the optional flag is set, and false otherwise.

◆ getHydrophobicity()

CDPL_PHARM_API double CDPL::Pharm::getHydrophobicity ( const Feature feature)

Returns the Pharm::FeatureProperty::HYDROPHOBICITY property of feature.

Parameters
featureThe feature.
Returns
The hydrophobicity value.

◆ setHydrophobicity()

CDPL_PHARM_API void CDPL::Pharm::setHydrophobicity ( Feature feature,
double  hyd 
)

Sets the Pharm::FeatureProperty::HYDROPHOBICITY property of feature.

Parameters
featureThe feature.
hydThe new hydrophobicity value.

◆ clearHydrophobicity()

CDPL_PHARM_API void CDPL::Pharm::clearHydrophobicity ( Feature feature)

Removes the Pharm::FeatureProperty::HYDROPHOBICITY property from feature.

Parameters
featureThe feature.

◆ hasHydrophobicity()

CDPL_PHARM_API bool CDPL::Pharm::hasHydrophobicity ( const Feature feature)

Tells whether the Pharm::FeatureProperty::HYDROPHOBICITY property of feature has been set.

Parameters
featureThe feature.
Returns
true if the hydrophobicity property is set, and false otherwise.

◆ getFeatures()

CDPL_PHARM_API void CDPL::Pharm::getFeatures ( FeatureSet ftr_set,
const FeatureMapping mapping,
bool  first 
)

Extracts features from mapping into ftr_set.

Parameters
ftr_setThe output feature set.
mappingThe feature mapping.
firstIf true, the first feature of each mapping pair is added; otherwise the second feature.

◆ removePositionalDuplicates() [2/3]

CDPL_PHARM_API bool CDPL::Pharm::removePositionalDuplicates ( FeatureSet ftr_set,
double  pos_tol = 0.0 
)

Removes features from ftr_set whose 3D position duplicates that of another feature of the same type.

Parameters
ftr_setThe feature set to clean (modified in place).
pos_tolThe positional tolerance below which two features are considered duplicates.
Returns
true if at least one feature was removed, and false otherwise.
Since
1.2

◆ removeFeaturesWithType() [2/3]

CDPL_PHARM_API bool CDPL::Pharm::removeFeaturesWithType ( FeatureSet ftr_set,
unsigned int  type 
)

Removes features of the given type from ftr_set.

Parameters
ftr_setThe feature set to clean (modified in place).
typeThe feature type to remove (see namespace Pharm::FeatureType).
Returns
true if at least one feature was removed, and false otherwise.
Since
1.2

◆ prepareForPharmacophoreGeneration()

CDPL_PHARM_API void CDPL::Pharm::prepareForPharmacophoreGeneration ( Chem::Molecule mol,
bool  calc_hyd = true,
bool  from_logp = false 
)

Prepares mol for downstream pharmacophore generation by completing its hydrogens, perceiving SSSR, ring flags, implicit H counts, hybridization states and aromaticity, generating 3D coordinates for newly added hydrogens and (optionally) calculating per-atom hydrophobicities.

Failures of the hydrogen 3D-coordinate or residue-sequence-info derivation steps are silently caught and ignored; all other exceptions propagate.

Parameters
molThe molecule to prepare (modified in place).
calc_hydIf true, atom hydrophobicities are also calculated and stored as atom properties.
from_logpIf true and calc_hyd is set, the hydrophobicities are derived from the XLogP atom contributions instead of the Greene algorithm.

◆ removePositionalDuplicates() [3/3]

CDPL_PHARM_API bool CDPL::Pharm::removePositionalDuplicates ( Pharmacophore pharm,
double  pos_tol = 0.0 
)

Removes positional duplicate features from pharm in place.

Two features count as duplicates if they have identical Pharm::FeatureType and their position vectors either match exactly (pos_tol ≤ 0) or lie within pos_tol from each other. When a duplicate is detected, the feature with the larger position tolerance is retained.

Parameters
pharmThe pharmacophore to deduplicate.
pos_tolThe position-equality tolerance in Ångstrom; values ≤ 0 require an exact position match.
Returns
true if at least one feature was removed, and false otherwise.
Since
1.2

◆ removeFeaturesWithType() [3/3]

CDPL_PHARM_API bool CDPL::Pharm::removeFeaturesWithType ( Pharmacophore pharm,
unsigned int  type 
)

Removes every feature in pharm whose Pharm::FeatureType matches type.

Parameters
pharmThe pharmacophore to filter.
typeThe Pharm::FeatureType to remove.
Returns
true if at least one feature was removed, and false otherwise.
Since
1.2

◆ generateInteractionPharmacophore()

CDPL_PHARM_API void CDPL::Pharm::generateInteractionPharmacophore ( Pharmacophore pharm,
const FeatureMapping iactions,
bool  append = false 
)

Builds an interaction pharmacophore from the supplied feature-to-feature mapping by emitting one feature per source feature, optionally enriched with orientation vectors and environment substructures derived from the mapped partner features.

Parameters
pharmThe output pharmacophore where to add the generated features.
iactionsThe feature-to-feature mapping describing the interactions.
appendIf false, pharm is cleared before any features are added.

◆ createExclusionVolumes() [1/2]

CDPL_PHARM_API void CDPL::Pharm::createExclusionVolumes ( Pharmacophore pharm,
const Chem::AtomContainer cntnr,
const Chem::Atom3DCoordinatesFunction coords_func,
double  tol = 0.0,
double  min_dist = 0.0,
bool  rel_dist = true,
bool  append = true 
)

Creates exclusion-volume features at the 3D positions of the atoms in cntnr and appends them to pharm.

Parameters
pharmThe pharmacophore receiving the new exclusion volumes.
cntnrThe atom container providing the seed positions.
coords_funcThe function returning the 3D coordinates of an atom.
tolThe position tolerance to assign to new exclusion volumes (if ≤ 0, the per-atom vdW radius is used).
min_distMinimum distance (rel_dist controls absolute vs. tolerance-corrected) that a new exclusion volume must keep from existing ones.
rel_distIf true, the per-pair tolerance sum is subtracted from the pair distance before testing against min_dist; otherwise the absolute distance is tested.
appendIf false, pharm is cleared before any exclusion volumes are added.

◆ createExclusionVolumes() [2/2]

CDPL_PHARM_API void CDPL::Pharm::createExclusionVolumes ( Pharmacophore pharm,
const FeatureContainer cntnr,
double  tol = 0.0,
double  min_dist = 0.0,
bool  rel_dist = true,
bool  append = true 
)

Creates exclusion-volume features at the 3D positions of the features in cntnr and appends them to pharm.

Parameters
pharmThe pharmacophore receiving the new exclusion volumes.
cntnrThe feature container providing the seed positions.
tolThe position tolerance to assign to new exclusion volumes (if ≤ 0, the per-feature tolerance is used).
min_distMinimum distance (rel_dist controls absolute vs. tolerance-corrected) that a new exclusion volume must keep from existing ones.
rel_distIf true, the per-pair tolerance sum is subtracted from the pair distance before testing against min_dist; otherwise the absolute distance is tested.
appendIf false, pharm is cleared before any exclusion volumes are added.

◆ removeExclusionVolumesWithClashes()

CDPL_PHARM_API bool CDPL::Pharm::removeExclusionVolumesWithClashes ( Pharmacophore pharm,
const Chem::AtomContainer cntnr,
const Chem::Atom3DCoordinatesFunction coords_func,
double  vdw_scaling_fact = 1.0 
)

Removes every Pharm::FeatureType::EXCLUSION_VOLUME feature of pharm whose tolerance sphere clashes with any atom of cntnr.

Parameters
pharmThe pharmacophore to filter.
cntnrThe atom container providing the clash partners.
coords_funcThe function returning the 3D coordinates of an atom.
vdw_scaling_factScaling factor applied to the per-atom Van der Waals radius during the clash test.
Returns
true if at least one exclusion volume was removed, and false otherwise.

◆ resizeExclusionVolumesWithClashes()

CDPL_PHARM_API bool CDPL::Pharm::resizeExclusionVolumesWithClashes ( Pharmacophore pharm,
const Chem::AtomContainer cntnr,
const Chem::Atom3DCoordinatesFunction coords_func,
double  vdw_scaling_fact = 1.0 
)

Shrinks the tolerance of every Pharm::FeatureType::EXCLUSION_VOLUME feature of pharm whose tolerance sphere clashes with any atom of cntnr; removes the exclusion volume when the resulting tolerance falls below 0.25.

Parameters
pharmThe pharmacophore to modify.
cntnrThe atom container providing the clash partners.
coords_funcThe function returning the 3D coordinates of an atom.
vdw_scaling_factScaling factor applied to the per-atom Van der Waals radius during the clash test.
Returns
true if at least one exclusion volume was resized or removed, and false otherwise.

◆ getFeatureTypeString()

CDPL_PHARM_API const std::string& CDPL::Pharm::getFeatureTypeString ( unsigned int  ftr_type)

Returns a human-readable name for the given Pharm::FeatureType identifier (e.g. "H" for H-bond donor).

Parameters
ftr_typeThe Pharm::FeatureType identifier.
Returns
A const reference to the type name string.