RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
TransformFactory.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// Factory class for creating transform objects. Transforms are specified by
14// string names (as defined in each class's static _CT string)
15// Directly analogous to SFFactory for creating scoring function objects
16
17#ifndef _RBTTRANSFORMFACTORY_H_
18#define _RBTTRANSFORMFACTORY_H_
19
20#include "rxdock/Config.h"
21#include "rxdock/ParameterFileSource.h"
22#include "rxdock/TransformAgg.h"
23
24namespace rxdock {
25
27 // Parameter name which identifies a scoring function definition
28 static const std::string _TRANSFORM;
29
30public:
32 // Constructors/destructors
33
34 RBTDLL_EXPORT TransformFactory(); // Default constructor
35
36 virtual ~TransformFactory(); // Default destructor
37
39 // Public methods
41
42 // Creates a single transform object of type strTransformClass, and name
43 // strName e.g. strTransformClass = SimAnnTransform
44 virtual BaseTransform *Create(const std::string &strTransformClass,
45 const std::string &strName);
46
47 // Creates an aggregate transform from a parameter file source
48 // Each component transform is in a named section, which should minimally
49 // contain a TRANSFORM parameter whose value is the class name to instantiate
50 // strTransformClasses contains a comma-delimited list of transform class
51 // names to instantiate If strTransformClasses is empty, all named sections in
52 // spPrmSource are scanned for valid transform definitions Transform
53 // parameters and scoring function requests are set from the list of
54 // parameters in each named section
55 virtual TransformAgg *
56 CreateAggFromFile(ParameterFileSourcePtr spPrmSource,
57 const std::string &strName,
58 const std::string &strTransformClasses = std::string());
59
60protected:
62 // Protected methods
64
65private:
67 // Private methods
69
71 const TransformFactory &); // Copy constructor disabled by default
72
74 operator=(const TransformFactory &); // Copy assignment disabled by default
75
76protected:
78 // Protected data
80
81private:
83 // Private data
85};
86
87// Useful typedefs
88typedef SmartPtr<TransformFactory> TransformFactoryPtr; // Smart pointer
89
90} // namespace rxdock
91
92#endif //_RBTTRANSFORMFACTORY_H_
Definition BaseTransform.h:29
Definition TransformAgg.h:31
Definition TransformFactory.h:26