RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
TetherSF.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// Tethered atoms distance restraint scoring function
14
15#ifndef _RBTTETHERSF_H_
16#define _RBTTETHERSF_H_
17
18#include "rxdock/BaseInterSF.h"
19
20#include <nlohmann/json.hpp>
21
22using json = nlohmann::json;
23
24namespace rxdock {
25
26class TetherSF : public BaseInterSF {
27public:
28 // Class type string
29 static const std::string _CT;
30 // Parameter names
31 static const std::string _REFERENCE_FILE;
32
33 TetherSF(const std::string &strName = "tether");
34 virtual ~TetherSF();
35
36 friend void to_json(json &j, const TetherSF &tetsf);
37 friend void from_json(const json &j, TetherSF &tetsf);
38
39protected:
40 virtual void SetupReceptor();
41 virtual void SetupLigand();
42 virtual void SetupScore();
43 virtual double RawScore() const;
44 // DM 25 Oct 2000 - track changes to parameter values in local data members
45 // ParameterUpdated is invoked by ParamHandler::SetParameter
46 void ParameterUpdated(const std::string &strName);
47
48private:
49 std::vector<int> ReadTetherAtoms(std::vector<std::string> &);
50 AtomList m_ligAtomList;
51 std::vector<int> m_tetherAtomList;
52 CoordList m_tetherCoords;
53};
54
55void to_json(json &j, const TetherSF &tetsf);
56void from_json(const json &j, TetherSF &tetsf);
57
58} // namespace rxdock
59
60#endif //_RBTTETHERSF_H_
Definition BaseInterSF.h:27
Definition TetherSF.h:26