RDKit
Open-source cheminformatics and machine learning.
BCUT.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2020 Brian P. Kelley
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 #ifndef RDKIT_BCUT_H
11 #define RDKIT_BCUT_H
12 #ifdef RDK_HAS_EIGEN3
13 #include <RDGeneral/export.h>
14 #include <vector>
15 #include <string>
16 namespace RDKit {
17 class ROMol;
18 namespace Descriptors {
19 const std::string BCUT2DVersion = "1.0.0";
20 
21 //! Implements BCUT descriptors From J. Chem. Inf. Comput. Sci., Vol. 39, No. 1, 1999
22 /*!
23  \param mol the molecule of interest
24  \param atom_props A vector of double for the atom properties to use for the diagonal elements
25  of the BCUT matrix. Must be equal to he number of atoms in mol.
26  \return std::pair<double,double> pair.first is the high eval, pair.second the lowest
27 */
29 std::pair<double,double> BCUT2D(const ROMol &mol, const std::vector<double> &atom_props);
30 
31 //! Implements BCUT descriptors From J. Chem. Inf. Comput. Sci., Vol. 39, No. 1, 1999
32 /*!
33  \param mol the molecule of interest
34  \param atom_props An atom property holding a double value on the atom
35  If atom_propname does not exist on the atom, raises
36  If atom_propname cannot be coerced into a double, raises
37  \return std::pair<double,double> pair.first is the high eval, pair.second the lowest
38 */
40 std::pair<double,double> BCUT2D(const ROMol &mol, const std::string &atom_propname);
41 
42 //! Implements BCUT descriptors From J. Chem. Inf. Comput. Sci., Vol. 39, No. 1, 1999
43 //! Diagonal elements are (currently) atomic mass, gasteiger charge,
44 //! crippen logP and crippen MR
45 /*!
46  \param mol the molecule of interest
47 
48  \return The bcut vector (mass high eval, mass low eval,
49  gasteiger charge high eval, gasteiger charge low eval,
50  LogP high eval, LogP low eval,
51  MR high eval, MR low eval)
52 */
54 std::vector<double> BCUT2D(const ROMol &m);
55 }
56 }
57 
58 #endif
59 #endif
RDKIT_DESCRIPTORS_EXPORT
#define RDKIT_DESCRIPTORS_EXPORT
Definition: export.h:138
RDKit
Std stuff.
Definition: Atom.h:30
export.h