20#include "rxdock/AnnotationHandler.h"
21#include "rxdock/BaseSF.h"
22#include "rxdock/InteractionGrid.h"
24#include <nlohmann/json.hpp>
26using json = nlohmann::json;
33 static const std::string _CT;
35 static const std::string _INCR;
36 static const std::string _R12FACTOR;
37 static const std::string _R12INCR;
38 static const std::string _DR12MIN;
39 static const std::string _DR12MAX;
40 static const std::string _A1;
41 static const std::string _DA1MIN;
42 static const std::string _DA1MAX;
43 static const std::string _A2;
44 static const std::string _DA2MIN;
45 static const std::string _DA2MAX;
46 static const std::string _INCMETAL;
47 static const std::string _INCHBD;
48 static const std::string _INCHBA;
49 static const std::string _INCGUAN;
50 static const std::string _GUAN_PLANE;
51 static const std::string _ABS_DR12;
52 static const std::string _LP_OSP2;
53 static const std::string _LP_PHI;
54 static const std::string _LP_DPHIMIN;
55 static const std::string _LP_DPHIMAX;
56 static const std::string _LP_DTHETAMIN;
57 static const std::string _LP_DTHETAMAX;
61 friend void to_json(json &j,
const PolarSF &polarSF);
62 friend void from_json(
const json &j,
PolarSF &polarSF);
68 CreateAcceptorInteractionCenters(
const AtomList &atomList)
const;
70 CreateDonorInteractionCenters(
const AtomList &atomList)
const;
73 void BuildIntraMap(
const InteractionCenterList &ICList1,
74 const InteractionCenterList &ICList2,
75 InteractionListMap &intns)
const;
77 void BuildIntraMap(
const InteractionCenterList &ICList,
78 InteractionListMap &intns)
const;
80 double IntraScore(
const InteractionCenterList &posList,
81 const InteractionCenterList &negList,
82 const InteractionListMap &prtIntns,
bool attr)
const;
83 void Partition(
const InteractionCenterList &posList,
84 const InteractionCenterList &negList,
85 const InteractionListMap &intns, InteractionListMap &prtIntns,
86 double dist = 0.0)
const;
90 double R0, DRMin, DRMax, slope;
91 f1prms(
double R,
double DMin,
double DMax)
92 : R0(R), DRMin(DMin), DRMax(DMax), slope(1.0 / (DMax - DMin)) {}
95 inline f1prms GetRprms()
const {
return f1prms(0.0, m_DR12Min, m_DR12Max); }
96 inline f1prms GetA1prms()
const {
return f1prms(m_A1, m_DA1Min, m_DA1Max); }
97 inline f1prms GetA2prms()
const {
return f1prms(m_A2, m_DA2Min, m_DA2Max); }
99 double PolarScore(
const InteractionCenter *intn,
100 const InteractionCenterList &intnList,
const f1prms &Rprms,
101 const f1prms &A1prms,
const f1prms &A2prms)
const;
106 void OwnParameterUpdated(
const std::string &strName);
110 inline double f1(
double DR,
const f1prms &prms)
const {
111 return (DR > prms.DRMax) ? 0.0
112 : (DR > prms.DRMin) ? 1.0 - prms.slope * (DR - prms.DRMin)
133 double m_LP_DTHETAMin;
134 double m_LP_DTHETAMax;
135 f1prms m_PHI_lp_prms;
136 f1prms m_PHI_plane_prms;
140void to_json(json &j,
const PolarSF &polarSF);
141void from_json(
const json &j, PolarSF &polarSF);
Definition AnnotationHandler.h:28