RxDock
0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
include
rxdock
BaseIntraSF.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
// Virtual base class for intramolecular scoring functions. Overrides Update()
14
15
#ifndef _RBTBASEINTRASF_H_
16
#define _RBTBASEINTRASF_H_
17
18
#include "rxdock/BaseSF.h"
19
#include "rxdock/Model.h"
20
21
#include <nlohmann/json.hpp>
22
23
using
json = nlohmann::json;
24
25
namespace
rxdock {
26
27
class
BaseIntraSF
:
public
virtual
BaseSF
{
28
public
:
29
// Class type string
30
static
const
std::string _CT;
31
33
// Constructors/destructors
34
virtual
~BaseIntraSF
();
35
36
friend
void
to_json(json &j,
const
BaseIntraSF
&baseIntraSF);
37
friend
void
from_json(
const
json &j,
BaseIntraSF
&baseIntraSF);
38
40
// Public methods
42
43
ModelPtr
GetLigand()
const
;
44
45
// Override Observer pure virtual
46
// Notify observer that subject has changed
47
virtual
void
Update(
Subject
*theChangedSubject);
48
49
// Override BaseSF::ScoreMap to provide additional raw descriptors
50
virtual
void
ScoreMap(StringVariantMap &scoreMap)
const
;
51
52
protected
:
54
// Protected methods
56
BaseIntraSF
();
57
58
// PURE VIRTUAL - Derived classes must override
59
virtual
void
SetupScore() = 0;
// Called by Update when model has changed
60
61
private
:
63
// Private methods
65
66
protected
:
68
// Protected data
70
71
private
:
73
// Private data
75
ModelPtr
m_spLigand;
76
// 26 Mar 2003 (DM) Remember the raw score for the initial ligand conformation
77
// This becomes the zero point for all subsequent score reporting
78
// i.e. all intramolecular scores are reported relative to the initial score
79
double
m_zero;
80
};
81
82
void
to_json(json &j,
const
BaseIntraSF
&baseIntraSF);
83
void
from_json(
const
json &j,
BaseIntraSF
&baseIntraSF);
84
85
}
// namespace rxdock
86
87
#endif
//_RBTBASEINTRASF_H_
rxdock::BaseIntraSF
Definition
BaseIntraSF.h:27
rxdock::BaseSF
Definition
BaseSF.h:28
rxdock::SmartPtr< Model >
rxdock::Subject
Definition
Subject.h:35
Generated by
1.9.7