RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
RotSF.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// Simple scoring function which estimates the loss of rotational entropy of the
14// ligand from the number of rotable bonds.
15
16#ifndef _RBTROTSF_H_
17#define _RBTROTSF_H_
18
19#include "rxdock/BaseInterSF.h"
20
21#include <nlohmann/json.hpp>
22
23using json = nlohmann::json;
24
25namespace rxdock {
26
27class RotSF : public BaseInterSF {
28public:
29 // Static data member for class type
30 static const std::string _CT;
31 // Parameter names
32 // Boolean controlling whether to include bonds to NH3+ in rotable bond count
33 static const std::string _INCNH3;
34 // Boolean controlling whether to include bonds to OH in rotable bond count
35 static const std::string _INCOH;
36
37 RotSF(const std::string &strName = "rot");
38 virtual ~RotSF();
39
40 friend void to_json(json &j, const RotSF &rotsf);
41 friend void from_json(const json &j, RotSF &rotsf);
42
43protected:
44 virtual void SetupReceptor();
45 virtual void SetupLigand();
46 virtual void SetupScore();
47 virtual double RawScore() const;
48 void ParameterUpdated(const std::string &strName);
49
50private:
51 int nRot;
52 bool bIncNH3;
53 bool bIncOH;
54};
55
56void to_json(json &j, const RotSF &rotsf);
57void from_json(const json &j, RotSF &rotsf);
58
59} // namespace rxdock
60
61#endif //_RBTROTSF_H_
Definition BaseInterSF.h:27
Definition RotSF.h:27