RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
RandLigTransform.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// Randomises all rotable bonds of the ligand, within specified +/- range
14// No bump check on final conformation
15
16#ifndef _RBTRANDLIGTRANSFORM_H_
17#define _RBTRANDLIGTRANSFORM_H_
18
19#include "rxdock/BaseUniMolTransform.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 _TORS_STEP;
34
36 // Constructors/destructors
37 RandLigTransform(const std::string &strName = "RANDLIG");
38 virtual ~RandLigTransform();
39
40 friend void to_json(json &j, const RandLigTransform &randLigTrans);
41 friend void from_json(const json &j, RandLigTransform &randLigTrans);
42
44 // Public methods
46
47protected:
49 // Protected methods
51 virtual void SetupTransform(); // Called by Update when model has changed
52 virtual void Execute();
53
54private:
56 // Private methods
59 const RandLigTransform &); // Copy constructor disabled by default
61 operator=(const RandLigTransform &); // Copy assignment disabled by default
62
63protected:
65 // Protected data
67
68private:
70 // Private data
72 Rand &m_rand; // keep a reference to the singleton random number generator
73 BondList m_rotableBonds;
74};
75
76void to_json(json &j, const RandLigTransform &randLigTrans);
77void from_json(const json &j, RandLigTransform &randLigTrans);
78
79// Useful typedefs
80typedef SmartPtr<RandLigTransform> RandLigTransformPtr; // Smart pointer
81
82} // namespace rxdock
83
84#endif //_RBTRANDLIGTRANSFORM_H_
Definition BaseUniMolTransform.h:27
Definition RandLigTransform.h:28
Definition Rand.h:32
Definition SmartPointer.h:48