Go to the documentation of this file.
5 #ifndef BALL_SCORING_COMMON_SCORINGFUNCTION_H
6 #define BALL_SCORING_COMMON_SCORINGFUNCTION_H
267 float& coefficient)
const;
442 double distance_threshold,
444 int* number_of_overlaps = 0)
const;
460 list<Constraint*> constraints {};
621 double intercept_ {0.0};
631 vector<ScoringComponent*> scoring_components_ {};
641 Size max_number_of_errors_ {0};
651 double ligand_radius_ {0.0};
657 int ligand_atoms_ {0};
676 double resolution_ {0.0};
681 std::map<Atom*, int> atoms_to_fragments_ {};
687 int reference_neighbors_ {0};
693 int neighboring_target_atoms_ {0};
699 int misplaced_ligand_atoms_ {0};
704 int hashgrid_search_radius_ {0};
709 double nonbonded_cutoff_ {0.0};
714 double nonbonded_cutoff_2_ {0.0};
719 bool ignore_h_clashes_ {
false};
729 int ligand_intramol_overlaps_ {0};
735 double allowed_intermolecular_overlap_ {0.0};
741 double allowed_intramolecular_overlap_ {0.0};
747 double neighbor_cutoff_2_ {0.0};
756 vector<StaticLigandFragment*> static_ligand_fragments_ {};
763 bool store_interactions_ {
false};
765 bool store_interactions_phC_only_ {
false};
775 double conformation_scale_ {0.0};
780 bool use_all_lig_nonb_ {
false};
785 bool use_static_lig_fragments_ {
false};
787 int burial_depth_scale_ {0};
792 double exp_energy_stddev_ {0.0};
797 double exp_energy_mean_ {0.0};
799 std::set<Residue*> flexible_residues_ {};
809 double static_ligand_energy_ {0.0};
815 vector<Bond*> rotatable_ligand_bonds_ {};
821 list<list<Vector3> > flexres_org_positions_ {};
827 #endif // BALL_SCORING_COMMON_SCORINGFUNCTION_H
vector< double > refArea_penalties
static bool ALL_LIG_NONB_PAIRS
bool setup(AtomContainer &receptor, AtomContainer &ligand)
static bool IGNORE_H_CLASHES
static const char * ALL_LIG_NONB_PAIRS
static double CONFORMATION_SCALE
static const char * BASE_FUNCTION_TYPE
static const char * CONFORMATION_SCALE
void insertComponent(ScoringComponent *component, float coefficient)
AtomContainer * getReceptor() const
static const char * IGNORE_H_CLASHES
double calculateConstraintsScore()
virtual double calculateStaticLigandFragmentEnergy()
AtomPairVector * createNonbondedPairVector(HashGrid3< Atom * > *hashgrid, int &overlaps, bool rec_lig, bool check_fragments=0, bool intra_fragment=0)
void removeComponent(const ScoringComponent *component)
static bool USE_STATIC_LIG_FRAGMENTS
static const char * ALLOWED_INTRAMOL_OVERLAP
AtomPairVector * createLigandNonbondedPairVector(bool intra_fragment, int &overlaps)
AtomContainer * getFirstMolecule() const
void setFlexibleResidues(const std::set< Residue * > &flexible_residues)
std::list< std::pair< Atom *, Atom * > > AtomPairList
AtomContainer * getSecondMolecule() const
void enableAllComponents_()
String convertTime(double seconds)
static double ALLOWED_INTRAMOL_OVERLAP
int checkForAtomOverlaps(const AtomPairVector *pair_vector)
const std::map< Atom *, int > * getAtomFragmentMap()
bool isPeptideBond(const Bond *bond) const
void setCoefficient(const String &name, float coefficient)
void insertComponent(ScoringComponent *component)
void clearStoredInteractions_()
AtomContainer * getLigand() const
ScoringFunction(const ScoringFunction &sf)
virtual double updateScore()
static const Size VERBOSITY
void setNormalizationParameters(double stddev, double mean)
void resetResiduePositions(Residue *residue, list< Vector3 > &old_positions)
static const char * USE_STATIC_LIG_FRAGMENTS
ScoringFunction(AtomContainer &receptor, AtomContainer &ligand, const Options &options)
void setLigand(AtomContainer &ligand)
void enableStoreInteractionsOnlyForPhContraints()
virtual void createAllLigandNonBondedPairs()
bool hasFlexibleResidues()
void setName(String name)
static const char * ALLOWED_INTERMOL_OVERLAP
virtual void printResult(bool detail=0)
void setupFlexibleResidues_()
double getIntercept() const
bool assignRotamer(Residue *residue, ResidueRotamerSet *rotamer_set, const Rotamer *rotamer)
const Vector3 & getLigandCenter() const
void setReceptor(AtomContainer &receptor)
void setIntercept(double intercept)
double calculateMoleculeRadius(AtomContainer *sys, Vector3 ¢er)
ScoringFunction(AtomContainer &receptor, AtomContainer &ligand)
static double ALLOWED_INTERMOL_OVERLAP
String valueToString(double value)
ScoringComponent * getComponent(const Size index) const
const vector< Bond * > * getRotatableLigandBonds() const
static int BURIAL_DEPTH_SCALE
static const char * BURIAL_DEPTH_SCALE
static const char * HASHGRID_RESOLUTION
ScoringFunction(AtomContainer &receptor, Vector3 &hashgrid_origin, Options &options)
void enableInteractionComponents_(const list< String > &type_names)
const HashSet< const Atom * > & getUnassignedAtoms() const
bool storeInteractionsEnabled()
static const Size BASE_FUNCTION_TYPE
double getLigandRadius() const
void removeComponent(const String &name)
double getExpEnergyStddev()
static double NONBONDED_CUTOFF
bool setup(AtomContainer &receptor, AtomContainer &ligand, const Options &options)
void updateComponent(int id, AtomPairList *)
int getBurialDepthScale()
double ligand_conformation
int countCovalentBonds(const Atom *atom, int threshold=-1)
void setBaseFunction(ScoringBaseFunction &base_function)
Set the instance of BaseFunction for the scoring function.
void getScoreContributions(vector< double > &score_contributions, vector< String > &names)
virtual ~ScoringFunction()
const vector< StaticLigandFragment * > * getStaticLigandFragments() const
void setCoefficient(const ScoringComponent *component, float coefficient)
static void getDefaultOptions(Options &options)
void enableStoreInteractions(bool b=true)
static const char * NONBONDED_CUTOFF
Vector3 calculateGeometricalCenter(AtomContainer *s, int *no_ligand_atoms=NULL)
HashSet< const Atom * > & getUnassignedAtoms()
bool getCoefficient(const ScoringComponent *component, float &coefficient) const
ScoringBaseFunction * getBaseFunction() const
static const char * VERBOSITY
void setSecondMolecule(AtomContainer &molecule2)
void resetFlexibleResidues()
Size getMaximumNumberOfErrors() const
ScoringFunction(AtomContainer &receptor, AtomContainer &ligand, Options &options)
static const char * SUBCATEGORY_NAME
virtual void setupReferenceLigand()
Options * getOptionsToModify()
void setFirstMolecule(AtomContainer &molecule1)
void unsetTrainingParameters()
const HashGrid3< Atom * > * getHashGrid()
static double HASHGRID_RESOLUTION
Size countNeighboringReceptorAtoms(const Atom *atom, double distance_threshold, bool onePerCell=0, int *number_of_overlaps=0) const
Three-dimensional Hash Grid Class.
bool getCoefficient(const String &name, float &coefficient) const
void setMaximumNumberOfErrors(Size nr)
void fetchStaticLigandFragment(Atom *a1, int index)
bool hasPharmacophoreConstraints_()
std::vector< std::pair< Atom *, Atom * > > AtomPairVector
ScoringComponent * getComponent(const String &name) const
void createStaticLigandFragments()
static const char * HASHGRID_SIZE
static HashGrid3< Atom * > * initializeHashGrid(AtomContainer *sys, Vector3 ¢er, double &resolution, int hashgrid_size)
virtual int getNoNeighboringReceptorAtoms()