RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
DihedralIntraSF.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 dihedral scoring function
14#ifndef _RBTDIHEDRALINTRASF_H_
15#define _RBTDIHEDRALINTRASF_H_
16
17#include "rxdock/BaseIntraSF.h"
18#include "rxdock/DihedralSF.h"
19
20#include <nlohmann/json.hpp>
21
22using json = nlohmann::json;
23
24namespace rxdock {
25
26class DihedralIntraSF : public BaseIntraSF, public DihedralSF {
27public:
28 // Class type string
29 static const std::string _CT;
30 // Parameter names
31
32 DihedralIntraSF(const std::string &strName = "dihedral");
33 virtual ~DihedralIntraSF();
34
35 friend void to_json(json &j, const DihedralIntraSF &dihedralIntraSF);
36 friend void from_json(const json &j, DihedralIntraSF &dihedralIntraSF);
37
38protected:
39 virtual void SetupScore();
40 virtual double RawScore() const;
41
42 // Clear the dihedral list
43 // As we are not using smart pointers, there is some memory management to do
44 void ClearModel();
45
46private:
47 DihedralList m_dihList;
48};
49
50void to_json(json &j, const DihedralIntraSF &dihedralIntraSF);
51void from_json(const json &j, DihedralIntraSF &dihedralIntraSF);
52
53} // namespace rxdock
54
55#endif //_RBTDIHEDRALINTRASF_H_
Definition BaseIntraSF.h:27
Definition DihedralIntraSF.h:26
Definition DihedralSF.h:92