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
AlignTransform.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
// Aligns ligand with the principal axes of one of the active site cavities
14
15
#ifndef _RBTALIGNTRANSFORM_H_
16
#define _RBTALIGNTRANSFORM_H_
17
18
#include "rxdock/BaseBiMolTransform.h"
19
#include "rxdock/Cavity.h"
20
#include "rxdock/Rand.h"
21
22
#include <nlohmann/json.hpp>
23
24
using
json = nlohmann::json;
25
26
namespace
rxdock {
27
28
class
AlignTransform
:
public
BaseBiMolTransform
{
29
public
:
30
// Static data member for class type
31
static
const
std::string _CT;
32
// Parameter names
33
static
const
std::string _COM;
34
static
const
std::string _AXES;
35
37
// Constructors/destructors
38
AlignTransform
(
const
std::string &strName =
"ALIGN"
);
39
virtual
~AlignTransform
();
40
41
friend
void
to_json(json &j,
const
AlignTransform
&alignTransform);
42
friend
void
from_json(
const
json &j,
AlignTransform
&alignTransform);
43
45
// Public methods
47
48
protected
:
50
// Protected methods
52
virtual
void
SetupReceptor();
// Called by Update when receptor is changed
53
virtual
void
SetupLigand();
// Called by Update when ligand is changed
54
virtual
void
55
SetupTransform();
// Called by Update when either model has changed
56
virtual
void
Execute();
57
58
private
:
60
// Private methods
62
AlignTransform
(
63
const
AlignTransform
&);
// Copy constructor disabled by default
64
AlignTransform
&
65
operator=(
const
AlignTransform
&);
// Copy assignment disabled by default
66
67
protected
:
69
// Protected data
71
72
private
:
74
// Private data
76
Rand
&m_rand;
// keep a reference to the singleton random number generator
77
CavityList m_cavities;
// List of active site cavities to choose from
78
std::vector<int> m_cumulSize;
// Cumulative sizes, for weighted probabilities
79
int
m_totalSize;
// Total size of all cavities
80
};
81
82
void
to_json(json &j,
const
AlignTransform
&alignTransform);
83
void
from_json(
const
json &j,
AlignTransform
&alignTransform);
84
85
// Useful typedefs
86
typedef
SmartPtr<AlignTransform>
AlignTransformPtr
;
// Smart pointer
87
88
}
// namespace rxdock
89
90
#endif
//_RBTALIGNTRANSFORM_H_
rxdock::AlignTransform
Definition
AlignTransform.h:28
rxdock::BaseBiMolTransform
Definition
BaseBiMolTransform.h:27
rxdock::Rand
Definition
Rand.h:32
rxdock::SmartPtr
Definition
SmartPointer.h:48
Generated by
1.9.7