RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
ConstSF.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// Scoring function to penalise ligand and solvent binding
14// Ligand binding RawScore is always 1
15// Solvent binding RawScore is:
16// SOLVENT_PENALTY * the number of enabled solvent models
17#ifndef _RBTCONSTSF_H_
18#define _RBTCONSTSF_H_
19
20#include "rxdock/BaseInterSF.h"
21
22#include <nlohmann/json.hpp>
23
24using json = nlohmann::json;
25
26namespace rxdock {
27
28class ConstSF : public BaseInterSF {
29public:
30 // Static data member for class type (i.e. "ConstSF")
31 static const std::string _CT;
32 static const std::string _SOLVENT_PENALTY;
33
34 ConstSF(const std::string &strName = "const");
35 virtual ~ConstSF();
36
37 virtual void ScoreMap(StringVariantMap &scoreMap) const;
38
39 friend void to_json(json &j, const ConstSF &consf);
40 friend void from_json(const json &j, ConstSF &consf);
41
42protected:
43 virtual void SetupReceptor() {}
44 virtual void SetupLigand() {}
45 virtual void SetupScore() {}
46 virtual double RawScore() const;
47 void ParameterUpdated(const std::string &strName);
48
49private:
50 // The original constant score for ligand binding
51 double InterScore() const;
52 // The solvent binding penalty
53 double SystemScore() const;
54 double m_solventPenalty;
55};
56void to_json(json &j, const ConstSF &consf);
57void from_json(const json &j, ConstSF &consf);
58
59} // namespace rxdock
60
61#endif //_RBTCONSTSF_H_
Definition BaseInterSF.h:27
Definition ConstSF.h:28