RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
PolarIntraSF.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// Ligand intramolecular scoring function for all attractive polar
14// interactions (HBD,HBA,metal,guanidinium carbon)
15
16#ifndef _RBTPOLARINTRASF_H_
17#define _RBTPOLARINTRASF_H_
18
19#include "rxdock/BaseIntraSF.h"
20#include "rxdock/InteractionGrid.h"
21#include "rxdock/PolarSF.h"
22
23#include <nlohmann/json.hpp>
24
25using json = nlohmann::json;
26
27namespace rxdock {
28
29class PolarIntraSF : public BaseIntraSF, public PolarSF {
30public:
31 // Class type string
32 static const std::string _CT;
33 // Parameter names
34 static const std::string _ATTR;
35
36 PolarIntraSF(const std::string &strName = "polar");
37 virtual ~PolarIntraSF();
38
39 friend void to_json(json &j, const PolarIntraSF &polarIntraSF);
40 friend void from_json(const json &j, PolarIntraSF &polarIntraSF);
41
42protected:
43 virtual void SetupScore();
44 virtual double RawScore() const;
45
46 // Request Handling method
47 // Handles the Partition request
48 virtual void HandleRequest(RequestPtr spRequest);
49
50 // Clear the model lists
51 // As we are not using smart pointers, there is some memory management to do
52 void ClearModel();
53
54 // DM 25 Oct 2000 - track changes to parameter values in local data members
55 // ParameterUpdated is invoked by ParamHandler::SetParameter
56 void ParameterUpdated(const std::string &strName);
57
58private:
59 InteractionCenterList m_posList;
60 InteractionCenterList m_negList;
61 InteractionListMap m_intns;
62 InteractionListMap m_prtIntns;
63 bool m_bAttr;
64};
65
66void to_json(json &j, const PolarIntraSF &polarIntraSF);
67void from_json(const json &j, PolarIntraSF &polarIntraSF);
68
69} // namespace rxdock
70
71#endif //_RBTPOLARINTRASF_H_
Definition BaseIntraSF.h:27
Definition PolarIntraSF.h:29
Definition PolarSF.h:30