RDKit
Open-source cheminformatics and machine learning.
ConnectivityDescriptors.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2012 Greg Landrum
3 //
4 // @@ All Rights Reserved @@
5 // This file is part of the RDKit.
6 // The contents are covered by the terms of the BSD license
7 // which is included in the file license.txt, found at the root
8 // of the RDKit source tree.
9 //
10 
11 /*! \file ConnectivityDescriptors.h
12 
13  \brief Use MolDescriptors.h in client code.
14 
15 */
16 #ifndef __RD_CONNECTIVITYDESCRIPTORS_H__
17 #define __RD_CONNECTIVITYDESCRIPTORS_H__
18 
19 #include <string>
20 #include <vector>
21 #include <boost/smart_ptr.hpp>
22 
23 namespace RDKit {
24 class ROMol;
25 namespace Descriptors {
26 
27 //! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
28 /*!
29  \param mol the molecule of interest
30  \param force forces the value to be recalculated instead
31  of pulled from the cache
32 */
33 double calcChi0v(const ROMol &mol, bool force = false);
34 const std::string chi0vVersion = "1.2.0";
35 //! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
36 /*!
37  \param mol the molecule of interest
38  \param force forces the value to be recalculated instead
39  of pulled from the cache
40 */
41 double calcChi1v(const ROMol &mol, bool force = false);
42 const std::string chi1vVersion = "1.2.0";
43 //! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
44 /*!
45  \param mol the molecule of interest
46  \param force forces the value to be recalculated instead
47  of pulled from the cache
48 */
49 double calcChi2v(const ROMol &mol, bool force = false);
50 const std::string chi2vVersion = "1.2.0";
51 //! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
52 /*!
53  \param mol the molecule of interest
54  \param force forces the value to be recalculated instead
55  of pulled from the cache
56 */
57 double calcChi3v(const ROMol &mol, bool force = false);
58 const std::string chi3vVersion = "1.2.0";
59 //! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
60 /*!
61  \param mol the molecule of interest
62  \param force forces the value to be recalculated instead
63  of pulled from the cache
64 */
65 double calcChi4v(const ROMol &mol, bool force = false);
66 const std::string chi4vVersion = "1.2.0";
67 //! From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
68 /*!
69  \param mol the molecule of interest
70  \param n the order of the connectivity index
71  \param force forces the value to be recalculated instead
72  of pulled from the cache
73 */
74 double calcChiNv(const ROMol &mol, unsigned int n, bool force = false);
75 const std::string chiNvVersion = "1.2.0";
76 
77 //! Similar to Hall Kier ChiXv, but uses nVal instead of valence
78 //! This makes a big difference after we get out of the first row.
79 /*!
80  \param mol the molecule of interest
81  \param force forces the value to be recalculated instead
82  of pulled from the cache
83 */
84 double calcChi0n(const ROMol &mol, bool force = false);
85 const std::string chi0nVersion = "1.2.0";
86 //! Similar to Hall Kier ChiXv, but uses nVal instead of valence
87 //! This makes a big difference after we get out of the first row.
88 /*!
89  \param mol the molecule of interest
90  \param force forces the value to be recalculated instead
91  of pulled from the cache
92 */
93 double calcChi1n(const ROMol &mol, bool force = false);
94 const std::string chi1nVersion = "1.2.0";
95 //! Similar to Hall Kier ChiXv, but uses nVal instead of valence
96 //! This makes a big difference after we get out of the first row.
97 /*!
98  \param mol the molecule of interest
99  \param force forces the value to be recalculated instead
100  of pulled from the cache
101 */
102 double calcChi2n(const ROMol &mol, bool force = false);
103 const std::string chi2nVersion = "1.2.0";
104 //! Similar to Hall Kier ChiXv, but uses nVal instead of valence
105 //! This makes a big difference after we get out of the first row.
106 /*!
107  \param mol the molecule of interest
108  \param force forces the value to be recalculated instead
109  of pulled from the cache
110 */
111 double calcChi3n(const ROMol &mol, bool force = false);
112 const std::string chi3nVersion = "1.2.0";
113 //! Similar to Hall Kier ChiXv, but uses nVal instead of valence
114 //! This makes a big difference after we get out of the first row.
115 /*!
116  \param mol the molecule of interest
117  \param force forces the value to be recalculated instead
118  of pulled from the cache
119 */
120 double calcChi4n(const ROMol &mol, bool force = false);
121 const std::string chi4nVersion = "1.2.0";
122 //! Similar to Hall Kier ChiXv, but uses nVal instead of valence
123 //! This makes a big difference after we get out of the first row.
124 /*!
125  \param mol the molecule of interest
126  \param n the order of the connectivity index
127  \param force forces the value to be recalculated instead
128  of pulled from the cache
129 */
130 double calcChiNn(const ROMol &mol, unsigned int n, bool force = false);
131 const std::string chiNnVersion = "1.2.0";
132 
133 //! calculate the Hall-Kier alpha value for a molecule
134 //! From equation (58) of Rev. Comp. Chem. vol 2, 367-422, (1991)
135 /*!
136  \param mol the molecule of interest
137  \param atomContribs if provided, this will be used to return the
138  contributions
139  of the individual atoms to the value. These do not
140  neccessarily sum to the full value.
141  Note: this can be a time-consuming calculation.
142 */
143 double calcHallKierAlpha(const ROMol &mol,
144  std::vector<double> *atomContribs = 0);
145 const std::string hallKierAlphaVersion = "1.2.0";
146 
147 //! calculate the Hall-Kier kappa1 value for a molecule
148 //! From equations (58) and (59) of Rev. Comp. Chem. vol 2, 367-422, (1991)
149 /*!
150  \param mol the molecule of interest
151 */
152 double calcKappa1(const ROMol &mol);
153 const std::string kappa1Version = "1.1.0";
154 
155 //! calculate the Hall-Kier kappa2 value for a molecule
156 //! From equations (58) and (60) of Rev. Comp. Chem. vol 2, 367-422, (1991)
157 /*!
158  \param mol the molecule of interest
159 */
160 double calcKappa2(const ROMol &mol);
161 const std::string kappa2Version = "1.1.0";
162 
163 //! calculate the Hall-Kier kappa3 value for a molecule
164 //! From equations (58), (61) and (62) of Rev. Comp. Chem. vol 2, 367-422,
165 //(1991)
166 /*!
167  \param mol the molecule of interest
168 */
169 double calcKappa3(const ROMol &mol);
170 const std::string kappa3Version = "1.1.0";
171 
172 namespace detail {
173 void hkDeltas(const ROMol &mol, std::vector<double> &deltas, bool force);
174 }
175 
176 } // end of namespace Descriptors
177 }
178 
179 #endif
double calcChi2v(const ROMol &mol, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
double calcKappa2(const ROMol &mol)
const std::string chi4vVersion
const std::string chiNvVersion
const std::string chi2nVersion
double calcKappa1(const ROMol &mol)
const std::string chi1nVersion
double calcChi4v(const ROMol &mol, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
const std::string kappa1Version
double calcChi3n(const ROMol &mol, bool force=false)
const std::string chiNnVersion
const std::string kappa2Version
ROMol is a molecule class that is intended to have a fixed topology.
Definition: ROMol.h:103
double calcHallKierAlpha(const ROMol &mol, std::vector< double > *atomContribs=0)
double calcChi1v(const ROMol &mol, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
double calcChi3v(const ROMol &mol, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
const std::string chi3nVersion
const std::string chi1vVersion
const std::string hallKierAlphaVersion
double calcChi0n(const ROMol &mol, bool force=false)
const std::string chi3vVersion
const std::string kappa3Version
Includes a bunch of functionality for handling Atom and Bond queries.
Definition: Atom.h:29
double calcChi4n(const ROMol &mol, bool force=false)
double calcChi0v(const ROMol &mol, bool force=false)
From equations (5),(9) and (10) of Rev. Comp. Chem. vol 2, 367-422, (1991)
const std::string chi2vVersion
void hkDeltas(const ROMol &mol, std::vector< double > &deltas, bool force)
double calcKappa3(const ROMol &mol)
double calcChiNn(const ROMol &mol, unsigned int n, bool force=false)
const std::string chi0nVersion
const std::string chi4nVersion
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)
const std::string chi0vVersion
double calcChi2n(const ROMol &mol, bool force=false)
double calcChi1n(const ROMol &mol, bool force=false)