RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
DCLV.h
Go to the documentation of this file.
1/*=================================================================*/
2/* Copyright (C) 2024 Greg Landrum and other RDKit contributors */
3/* Contributed by NextMove Software, Cambridge, UK. */
4/* */
5/* */
6/* @@ All Rights Reserved @@ */
7/* The contents are covered by the terms of the */
8/* BSD license, which is included in the file */
9/* license.txt. */
10/*=================================================================*/
11
12#ifndef RDKIT_DCLV_H
13#define RDKIT_DCLV_H
14
15#include <iostream>
16#include <string>
17#include <list>
18#include <cmath>
19
20#include <GraphMol/GraphMol.h>
21#include <GraphMol/MolOps.h>
22#include <Geometry/point.h>
23#include <GraphMol/RDKitBase.h>
24#include <RDGeneral/export.h>
25
26namespace RDKit {
27namespace Descriptors {
28
30 public:
31 /*!
32
33 \param mol: input molecule or protein
34 \param isProtein: flag to calculate burried surface area of a protein ligand
35 complex [default=false, free ligand]
36 \param includeLigand: flag to trigger
37 inclusion of bound ligand in surface area and volume calculations where
38 molecule is a protein [default=true]
39 \param probeRadius: radius of the
40 sphere representing the probe solvent atom
41 \param depth: controls the number
42 of dots per atom
43 \param dotDensity: controls density of dots per atom
44
45 */
46 DoubleCubicLatticeVolume(const ROMol &mol, bool isProtein = false,
47 bool includeLigand = true, double probeRadius = 1.2,
48 int depth = 4, int dotDensity = 0);
49 //! Class for calculation of the Shrake and Rupley surface area and volume
50 //! using the Double Cubic Lattice Method.
51 //!
52 //! Frank Eisenhaber, Philip Lijnzaad, Patrick Argos, Chris Sander and
53 //! Michael Scharf, "The Double Cubic Lattice Method: Efficient Approaches
54 //! to Numerical Integration of Surface Area and Volume and to Dot Surface
55 //! Contouring of Molecular Assemblies", Journal of Computational Chemistry,
56 //! Vol. 16, No. 3, pp. 273-284, 1995.
57
58 // value returns
59 double getSurfaceArea() {
60 /*! \return Solvent Accessible Surface Area */
61 return surfaceArea;
62 }
63
64 double getVolume() {
65 /*! \return Volume bound by probe sphere */
66 return totalVolume;
67 }
68
69 double getVDWVolume() { /*! \return van der Waals Volume */
70 return vdwVolume;
71 }
72
73 double getCompactness() {
74 /*! \return Compactness of the protein */
75 return compactness;
76 }
77
79 /*! \return Packing Density of the protein */
80 return packingDensity;
81 }
82
83 private:
84 // outputs
85 double surfaceArea;
86 double totalVolume;
87 double vdwVolume;
88 double compactness;
89 double packingDensity;
90};
91} // namespace Descriptors
92} // namespace RDKit
93#endif
pulls in RWMol and ROMol
pulls in the core RDKit functionality
DoubleCubicLatticeVolume(const ROMol &mol, bool isProtein=false, bool includeLigand=true, double probeRadius=1.2, int depth=4, int dotDensity=0)
#define RDKIT_DESCRIPTORS_EXPORT
Definition export.h:105
Std stuff.