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
BaseBiMolTransform.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
// Base class for bimolecular transforms. Overrides Update()
14
15
#ifndef _RBTBASEBIMOLTRANSFORM_H_
16
#define _RBTBASEBIMOLTRANSFORM_H_
17
18
#include "rxdock/BaseTransform.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
BaseBiMolTransform
:
public
BaseTransform
{
28
public
:
29
// Class type string
30
static
const
std::string _CT;
32
// Constructors/destructors
33
virtual
~BaseBiMolTransform
();
34
35
friend
void
to_json(json &j,
const
BaseBiMolTransform
&baseBiMolTrans);
36
friend
void
from_json(
const
json &j,
BaseBiMolTransform
&baseBiMolTrans);
37
39
// Public methods
41
42
ModelPtr
GetReceptor()
const
;
43
ModelPtr
GetLigand()
const
;
44
ModelList GetSolvent()
const
;
45
46
// Override Observer pure virtual
47
// Notify observer that subject has changed
48
virtual
void
Update(
Subject
*theChangedSubject);
49
50
protected
:
52
// Protected methods
54
BaseBiMolTransform
(
const
std::string &strClass,
const
std::string &strName);
55
56
// PURE VIRTUAL - Derived classes must override
57
virtual
void
SetupReceptor() = 0;
// Called by Update when receptor is changed
58
virtual
void
SetupLigand() = 0;
// Called by Update when ligand is changed
59
virtual
void
SetupSolvent() {}
// Called by Update when ligand is changed
60
virtual
void
61
SetupTransform() = 0;
// Called by Update when either model has changed
62
63
private
:
65
// Private methods
67
68
protected
:
70
// Protected data
72
73
private
:
75
// Private data
77
ModelPtr
m_spReceptor;
78
ModelPtr
m_spLigand;
79
ModelList m_solventList;
80
};
81
82
void
to_json(json &j,
const
BaseBiMolTransform
&baseBiMolTrans);
83
void
from_json(
const
json &j,
BaseBiMolTransform
&baseBiMolTrans);
84
85
}
// namespace rxdock
86
87
#endif
//_RBTBASEBIMOLTRANSFORM_H_
rxdock::BaseBiMolTransform
Definition
BaseBiMolTransform.h:27
rxdock::BaseTransform
Definition
BaseTransform.h:29
rxdock::SmartPtr< Model >
rxdock::Subject
Definition
Subject.h:35
Generated by
1.9.7