RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
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
24using json = nlohmann::json;
25
26namespace rxdock {
27
29public:
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
48protected:
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
58private:
60 // Private methods
63 const AlignTransform &); // Copy constructor disabled by default
65 operator=(const AlignTransform &); // Copy assignment disabled by default
66
67protected:
69 // Protected data
71
72private:
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
82void to_json(json &j, const AlignTransform &alignTransform);
83void from_json(const json &j, AlignTransform &alignTransform);
84
85// Useful typedefs
86typedef SmartPtr<AlignTransform> AlignTransformPtr; // Smart pointer
87
88} // namespace rxdock
89
90#endif //_RBTALIGNTRANSFORM_H_
Definition AlignTransform.h:28
Definition BaseBiMolTransform.h:27
Definition Rand.h:32
Definition SmartPointer.h:48