RxDock 0.1.0
A fast, versatile, and open-source program for docking ligands to proteins and nucleic acids
Loading...
Searching...
No Matches
PMFIdxSF.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// Indexed-grid-based PMF intermolecular scoring function
14
15#ifndef _RBTPMFIDXSF_H_
16#define _RBTPMFIDXSF_H_
17
18#include "rxdock/AnnotationHandler.h"
19#include "rxdock/BaseIdxSF.h"
20#include "rxdock/BaseInterSF.h"
21#include "rxdock/PMF.h"
22// for PMF pseudogrids where
23// X is distance, X and Y are receptor and ligand
24// distances respectively
25#include "rxdock/RealGrid.h"
26
27namespace rxdock {
28
31class PMFIdxSF : public BaseInterSF,
32 public BaseIdxSF,
33 public virtual AnnotationHandler {
34 // by default "private" members
38 AtomList theLigandList; // ligand typing
39 AtomList theReceptorList; // recepor typing
40 // regular lists
41 AtomRList theLigandRList; // ligand
42 AtomRList theReceptorRList; // recepor
43 std::vector<RealGridPtr>
44 theTypeGrid; // grids for PMF values for different atom types in receptor
45 std::vector<PMFType> theLigandTypes; // type values in theTypeGrid
46 NonBondedGridPtr theSurround; // atoms arond a gridpoint
47 RealGridPtr thePMFGrid; // grid for X-distance Y
48 // this is the representation of the PMFs
49 RealGridPtr theSlopeGrid; // grid to store values where the plateaus starts
50
51public:
52 PMFIdxSF(const std::string &strName = "pmf");
53 virtual ~PMFIdxSF();
60 static const std::string _CT;
61 static const std::string
63 static const std::string _CC_CUTOFF;
64 static const std::string _SLOPE;
69 virtual void Update(Subject *theChangedSubject);
70
71protected:
76 virtual void SetupReceptor();
80 virtual void SetupLigand();
84 virtual void SetupScore();
88 virtual double RawScore(void) const;
92 double GetLinearCloseRangeValue(double aDist, PMFType aRecType,
93 PMFType aLigType) const;
94};
95
96} // namespace rxdock
97
98#endif // _RBTPMFIDXSF_H_
Definition AnnotationHandler.h:28
Definition BaseIdxSF.h:30
Definition BaseInterSF.h:27
Definition PMFIdxSF.h:33
virtual void Update(Subject *theChangedSubject)
Definition PMFIdxSF.cxx:144
virtual ~PMFIdxSF()
Definition PMFIdxSF.cxx:139
virtual void SetupReceptor()
Definition PMFIdxSF.cxx:154
double GetLinearCloseRangeValue(double aDist, PMFType aRecType, PMFType aLigType) const
Definition PMFIdxSF.cxx:303
static const std::string _PMFDIR
Definition PMFIdxSF.h:62
virtual double RawScore(void) const
Definition PMFIdxSF.cxx:200
virtual void SetupScore()
Definition PMFIdxSF.cxx:198
static const std::string _CT
Definition PMFIdxSF.h:60
virtual void SetupLigand()
Definition PMFIdxSF.cxx:186
Definition Subject.h:35