RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
VdwGridSF.h
1/***********************************************************************
2 * The rDock program was developed from 1998 - 2006 by the software team
3 * at RiboTargets (subsequently Vernalis (R&D) Ltd).
4 * In 2006, the software was licensed to the University of York for
5 * maintenance and distribution.
6 * In 2012, Vernalis and the University of York agreed to release the
7 * program as Open Source software.
8 * This version is licensed under GNU-LGPL version 3.0 with support from
9 * the University of Barcelona.
10 * http://rdock.sourceforge.net/
11 ***********************************************************************/
12
13// Precalculated-grid-based intermolecular vdw scoring function
14
15#ifndef _RBTVDWGRIDSF_H_
16#define _RBTVDWGRIDSF_H_
17
18#include "rxdock/BaseInterSF.h"
19#include "rxdock/RealGrid.h"
20
21#include <nlohmann/json.hpp>
22
23using json = nlohmann::json;
24
25namespace rxdock {
26
27class VdwGridSF : public BaseInterSF {
28public:
29 // Class type string
30 static const std::string _CT;
31
32 RBTDLL_EXPORT static const std::string &GetCt();
33
34 // Parameter names
35 static const std::string _GRID; // Suffix for grid filename
36 static const std::string
37 _SMOOTHED; // Controls whether to smooth the grid values
38
39 VdwGridSF(const std::string &strName = "vdw");
40 virtual ~VdwGridSF();
41
42 friend void to_json(json &j, const VdwGridSF &vdwGridSF);
43 friend void from_json(const json &j, VdwGridSF &vdwGridSF);
44
45protected:
46 virtual void SetupReceptor();
47 virtual void SetupLigand();
48 virtual void SetupSolvent();
49 virtual void SetupScore();
50 virtual double RawScore() const;
51 // DM 25 Oct 2000 - track changes to parameter values in local data members
52 // ParameterUpdated is invoked by ParamHandler::SetParameter
53 void ParameterUpdated(const std::string &strName);
54
55private:
56 // Read grids from input stream
57 void ReadGrids(json vdwGrids);
58
59 RealGridList m_grids;
60 AtomRList m_ligAtomList;
61 TriposAtomTypeList m_ligAtomTypes;
62 bool m_bSmoothed;
63};
64
65void to_json(json &j, const VdwGridSF &vdwGridSF);
66void from_json(const json &j, VdwGridSF &vdwGridSF);
67
68} // namespace rxdock
69
70#endif //_RBTVDWGRIDSF_H_
Definition BaseInterSF.h:27
Definition VdwGridSF.h:27