Loading...
Searching...
No Matches
ConnectivityDescriptors.h
Go to the documentation of this file.
//
// Copyright (C) 2012-2021 Greg Landrum
//
// @@ All Rights Reserved @@
// This file is part of the RDKit.
// The contents are covered by the terms of the BSD license
// which is included in the file license.txt, found at the root
// of the RDKit source tree.
//
/*! \file ConnectivityDescriptors.h
\brief Use MolDescriptors.h in client code.
*/
#include <RDGeneral/export.h>
#ifndef __RD_CONNECTIVITYDESCRIPTORS_H__
#define __RD_CONNECTIVITYDESCRIPTORS_H__
#include <string>
#include <vector>
#include <boost/smart_ptr.hpp>
namespace RDKit {
class ROMol;
namespace Descriptors {
//! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
/*!
\param mol the molecule of interest
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChi0v(const ROMol &mol, bool force = false);
const std::string chi0vVersion = "1.2.0";
//! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
/*!
\param mol the molecule of interest
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChi1v(const ROMol &mol, bool force = false);
const std::string chi1vVersion = "1.2.0";
//! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
/*!
\param mol the molecule of interest
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChi2v(const ROMol &mol, bool force = false);
const std::string chi2vVersion = "1.2.0";
//! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
/*!
\param mol the molecule of interest
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChi3v(const ROMol &mol, bool force = false);
const std::string chi3vVersion = "1.2.0";
//! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
/*!
\param mol the molecule of interest
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChi4v(const ROMol &mol, bool force = false);
const std::string chi4vVersion = "1.2.0";
//! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
/*!
\param mol the molecule of interest
\param n the order of the connectivity index
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChiNv(const ROMol &mol, unsigned int n,
bool force = false);
const std::string chiNvVersion = "1.2.0";
//! Similar to Hall Kier ChiXv, but uses nVal instead of valence
//! This makes a big difference after we get out of the first row.
/*!
\param mol the molecule of interest
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChi0n(const ROMol &mol, bool force = false);
const std::string chi0nVersion = "1.2.0";
//! Similar to Hall Kier ChiXv, but uses nVal instead of valence
//! This makes a big difference after we get out of the first row.
/*!
\param mol the molecule of interest
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChi1n(const ROMol &mol, bool force = false);
const std::string chi1nVersion = "1.2.0";
//! Similar to Hall Kier ChiXv, but uses nVal instead of valence
//! This makes a big difference after we get out of the first row.
/*!
\param mol the molecule of interest
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChi2n(const ROMol &mol, bool force = false);
const std::string chi2nVersion = "1.2.0";
//! Similar to Hall Kier ChiXv, but uses nVal instead of valence
//! This makes a big difference after we get out of the first row.
/*!
\param mol the molecule of interest
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChi3n(const ROMol &mol, bool force = false);
const std::string chi3nVersion = "1.2.0";
//! Similar to Hall Kier ChiXv, but uses nVal instead of valence
//! This makes a big difference after we get out of the first row.
/*!
\param mol the molecule of interest
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChi4n(const ROMol &mol, bool force = false);
const std::string chi4nVersion = "1.2.0";
//! Similar to Hall Kier ChiXv, but uses nVal instead of valence
//! This makes a big difference after we get out of the first row.
/*!
\param mol the molecule of interest
\param n the order of the connectivity index
\param force forces the value to be recalculated instead
of pulled from the cache
*/
RDKIT_DESCRIPTORS_EXPORT double calcChiNn(const ROMol &mol, unsigned int n,
bool force = false);
const std::string chiNnVersion = "1.2.0";
//! calculate the Hall-Kier alpha value for a molecule
//! From equation (58) of Rev. Comp. Chem. vol 2, 367-422, (1991)
//!
//! \note Because hybridization is used to calculate this, results may differ
//! from other implementations which have different conventions for assigning
//! hybridization
/*!
\param mol the molecule of interest
\param atomContribs if provided, this will be used to return the
contributions
of the individual atoms to the value. These do not
necessarily sum to the full value.
Note: this can be a time-consuming calculation.
*/
RDKIT_DESCRIPTORS_EXPORT double calcHallKierAlpha(
const ROMol &mol, std::vector<double> *atomContribs = nullptr);
const std::string hallKierAlphaVersion = "1.2.0";
//! calculate the Hall-Kier kappa1 value for a molecule
//! From equations (58) and (59) of Rev. Comp. Chem. vol 2, 367-422, (1991)
//!
//! \note Because hybridization is used to calculate this, results may differ
//! from other implementations which have different conventions for assigning
//! hybridization
/*!
\param mol the molecule of interest
*/
RDKIT_DESCRIPTORS_EXPORT double calcKappa1(const ROMol &mol);
const std::string kappa1Version = "1.1.0";
//! calculate the Hall-Kier kappa2 value for a molecule
//! From equations (58) and (60) of Rev. Comp. Chem. vol 2, 367-422, (1991)
//!
//! \note Because hybridization is used to calculate this results may differ
//! from other implementations which have different conventions for assigning
//! hybridization
/*!
\param mol the molecule of interest
*/
RDKIT_DESCRIPTORS_EXPORT double calcKappa2(const ROMol &mol);
const std::string kappa2Version = "1.1.0";
//! calculate the Hall-Kier kappa3 value for a molecule
//! From equations (58), (61) and (62) of Rev. Comp. Chem. vol 2, 367-422,
/// 1991)
//!
//! \note Because hybridization is used to calculate this results may differ
//! from other implementations which have different conventions for assigning
//! hybridization
/*!
\param mol the molecule of interest
*/
RDKIT_DESCRIPTORS_EXPORT double calcKappa3(const ROMol &mol);
const std::string kappa3Version = "1.1.0";
//! calculate the Kier Phi value for a molecule
//! From Quantitative Structure-Activity Relationships 8, 221–224 (1989).
//!
//! \note Because hybridization is used to calculate this results may differ
//! from other implementations which have different conventions for assigning
//! hybridization
/*!
\param mol the molecule of interest
*/
RDKIT_DESCRIPTORS_EXPORT double calcPhi(const ROMol &mol);
const std::string PhiVersion = "1.0.0";
namespace detail {
RDKIT_DESCRIPTORS_EXPORT void hkDeltas(const ROMol &mol,
std::vector<double> &deltas, bool force);
}
} // end of namespace Descriptors
} // namespace RDKit
#endif
RDKit::ROMol
Definition ROMol.h:285
export.h
RDKIT_DESCRIPTORS_EXPORT
#define RDKIT_DESCRIPTORS_EXPORT
Definition export.h:113
RDKit::Descriptors::detail
Definition ConnectivityDescriptors.h:203
RDKit::Descriptors::detail::hkDeltas
RDKIT_DESCRIPTORS_EXPORT void hkDeltas(const ROMol &mol, std::vector< double > &deltas, bool force)
RDKit::Descriptors
Definition AtomFeat.h:30
RDKit::Descriptors::kappa1Version
const std::string kappa1Version
Definition ConnectivityDescriptors.h:164
RDKit::Descriptors::calcChi1n
RDKIT_DESCRIPTORS_EXPORT double calcChi1n(const ROMol &mol, bool force=false)
RDKit::Descriptors::calcKappa1
RDKIT_DESCRIPTORS_EXPORT double calcKappa1(const ROMol &mol)
RDKit::Descriptors::calcChi1v
RDKIT_DESCRIPTORS_EXPORT double calcChi1v(const ROMol &mol, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991).
RDKit::Descriptors::calcChi2v
RDKIT_DESCRIPTORS_EXPORT double calcChi2v(const ROMol &mol, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991).
RDKit::Descriptors::kappa2Version
const std::string kappa2Version
Definition ConnectivityDescriptors.h:176
RDKit::Descriptors::chi4vVersion
const std::string chi4vVersion
Definition ConnectivityDescriptors.h:67
RDKit::Descriptors::chi3nVersion
const std::string chi3nVersion
Definition ConnectivityDescriptors.h:114
RDKit::Descriptors::chi2nVersion
const std::string chi2nVersion
Definition ConnectivityDescriptors.h:105
RDKit::Descriptors::kappa3Version
const std::string kappa3Version
Definition ConnectivityDescriptors.h:189
RDKit::Descriptors::chi2vVersion
const std::string chi2vVersion
Definition ConnectivityDescriptors.h:51
RDKit::Descriptors::calcChi3v
RDKIT_DESCRIPTORS_EXPORT double calcChi3v(const ROMol &mol, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991).
RDKit::Descriptors::chi0nVersion
const std::string chi0nVersion
Definition ConnectivityDescriptors.h:87
RDKit::Descriptors::chi4nVersion
const std::string chi4nVersion
Definition ConnectivityDescriptors.h:123
RDKit::Descriptors::calcChi0v
RDKIT_DESCRIPTORS_EXPORT double calcChi0v(const ROMol &mol, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991).
RDKit::Descriptors::calcKappa3
RDKIT_DESCRIPTORS_EXPORT double calcKappa3(const ROMol &mol)
RDKit::Descriptors::calcChi4v
RDKIT_DESCRIPTORS_EXPORT double calcChi4v(const ROMol &mol, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991).
RDKit::Descriptors::calcChi4n
RDKIT_DESCRIPTORS_EXPORT double calcChi4n(const ROMol &mol, bool force=false)
RDKit::Descriptors::hallKierAlphaVersion
const std::string hallKierAlphaVersion
Definition ConnectivityDescriptors.h:152
RDKit::Descriptors::calcChi3n
RDKIT_DESCRIPTORS_EXPORT double calcChi3n(const ROMol &mol, bool force=false)
RDKit::Descriptors::chi3vVersion
const std::string chi3vVersion
Definition ConnectivityDescriptors.h:59
RDKit::Descriptors::calcChi0n
RDKIT_DESCRIPTORS_EXPORT double calcChi0n(const ROMol &mol, bool force=false)
RDKit::Descriptors::calcKappa2
RDKIT_DESCRIPTORS_EXPORT double calcKappa2(const ROMol &mol)
RDKit::Descriptors::PhiVersion
const std::string PhiVersion
Definition ConnectivityDescriptors.h:201
RDKit::Descriptors::calcChiNn
RDKIT_DESCRIPTORS_EXPORT double calcChiNn(const ROMol &mol, unsigned int n, bool force=false)
RDKit::Descriptors::calcChiNv
RDKIT_DESCRIPTORS_EXPORT double calcChiNv(const ROMol &mol, unsigned int n, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991).
RDKit::Descriptors::chiNnVersion
const std::string chiNnVersion
Definition ConnectivityDescriptors.h:134
RDKit::Descriptors::calcHallKierAlpha
RDKIT_DESCRIPTORS_EXPORT double calcHallKierAlpha(const ROMol &mol, std::vector< double > *atomContribs=nullptr)
RDKit::Descriptors::chi1vVersion
const std::string chi1vVersion
Definition ConnectivityDescriptors.h:43
RDKit::Descriptors::chi1nVersion
const std::string chi1nVersion
Definition ConnectivityDescriptors.h:96
RDKit::Descriptors::chiNvVersion
const std::string chiNvVersion
Definition ConnectivityDescriptors.h:77
RDKit::Descriptors::calcPhi
RDKIT_DESCRIPTORS_EXPORT double calcPhi(const ROMol &mol)
RDKit::Descriptors::calcChi2n
RDKIT_DESCRIPTORS_EXPORT double calcChi2n(const ROMol &mol, bool force=false)
RDKit::Descriptors::chi0vVersion
const std::string chi0vVersion
Definition ConnectivityDescriptors.h:35
RDKit
Std stuff.
Definition Abbreviations.h:19