RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
BiMolWorkSpace.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// Subclass of WorkSpace for simulations involving
14// Receptor = Model #0
15// Ligand = Model #1
16// Solvent = Model #2 upwards
17#ifndef _RBTBIMOLWORKSPACE_H_
18#define _RBTBIMOLWORKSPACE_H_
19
20#include "rxdock/Population.h"
21#include "rxdock/WorkSpace.h"
22
23namespace rxdock {
24
25class BiMolWorkSpace : public WorkSpace {
26 enum eModelID {
27 RECEPTOR = 0,
28 LIGAND = 1,
29 SOLVENT = 2 // Flexible waters are represented as separate models, from 2
30 };
31
32public:
34 // Constructors/destructors
35
36 RBTDLL_EXPORT BiMolWorkSpace();
37 virtual ~BiMolWorkSpace();
38
40 // Public methods
42
43 // Model handling
44 RBTDLL_EXPORT ModelPtr GetReceptor() const;
45 RBTDLL_EXPORT ModelPtr GetLigand() const;
46 RBTDLL_EXPORT ModelList GetSolvent() const;
47 RBTDLL_EXPORT bool hasSolvent() const;
48 RBTDLL_EXPORT void SetReceptor(ModelPtr spReceptor);
49 RBTDLL_EXPORT void SetLigand(ModelPtr spLigand);
50 RBTDLL_EXPORT void SetSolvent(ModelList solventList);
51 RBTDLL_EXPORT void RemoveSolvent();
52 RBTDLL_EXPORT void
53 UpdateModelCoordsFromChromRecords(BaseMolecularFileSource *pSource);
54
55 // Model I/O
56 // Saves ligand to file sink
57 virtual void Save(bool bSaveScores = true);
58 virtual void SaveHistory(bool bSaveScores = true);
59
60protected:
62 // Protected methods
64
65private:
67 // Private methods
69
71 const BiMolWorkSpace &); // Copy constructor disabled by default
73 operator=(const BiMolWorkSpace &); // Copy assignment disabled by default
74 void SaveLigand(MolecularFileSinkPtr spSink, bool bSaveScores = true);
75
76protected:
78 // Protected data
80
81private:
83 // Private data
85};
86
87// Useful typedefs
88typedef SmartPtr<BiMolWorkSpace> BiMolWorkSpacePtr; // Smart pointer
89
90} // namespace rxdock
91
92#endif //_RBTBIMOLWORKSPACE_H_
Definition BaseMolecularFileSource.h:29
Definition BiMolWorkSpace.h:25
Definition WorkSpace.h:38