RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
ChromOccupancyElement.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// Chromosome element for solvent model occupancy
14#ifndef RBTCHROMOCCUPANCYELEMENT_H_
15#define RBTCHROMOCCUPANCYELEMENT_H_
16
17#include "rxdock/ChromElement.h"
18#include "rxdock/ChromOccupancyRefData.h"
19#include "rxdock/Rand.h"
20
21namespace rxdock {
22
24public:
25 // Class type string
26 static const std::string _CT;
27 // Sole constructor
28 RBTDLL_EXPORT ChromOccupancyElement(Model *pModel, double stepSize,
29 double threshold);
30
31 virtual ~ChromOccupancyElement();
32 virtual void Reset();
33 virtual void Randomise();
34 virtual void Mutate(double relStepSize);
35 virtual void SyncFromModel();
36 virtual void SyncToModel();
37 virtual ChromElement *clone() const;
38 virtual int GetLength() const { return 1; }
39 virtual int GetXOverLength() const { return 1; }
40 virtual void GetVector(std::vector<double> &v) const;
41 virtual void GetVector(XOverList &v) const;
42 virtual void SetVector(const std::vector<double> &v, int &i);
43 virtual void SetVector(const XOverList &v, int &i);
44 virtual void GetStepVector(std::vector<double> &v) const;
45 virtual double CompareVector(const std::vector<double> &v, int &i) const;
46 virtual void Print(std::ostream &s) const;
47
48 // Returns a standardised occupancy value in the range [0,1]
49 static double StandardisedValue(double occupancy);
50
51protected:
52 // For use by clone()
53 ChromOccupancyElement(ChromOccupancyRefDataPtr spRefData, double value);
55
56private:
57 ChromOccupancyRefDataPtr m_spRefData; // Fixed reference data
58 double m_value; // The genotype value
59};
60
61} // namespace rxdock
62
63#endif /*RBTCHROMOCCUPANCYELEMENT_H_*/
Definition ChromElement.h:36
Definition ChromOccupancyElement.h:23
Definition Model.h:34