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;
Three-dimensional Hash Grid Class.
HashSet< const Atom * > & getUnassignedAtoms()
bool hasPharmacophoreConstraints_()
HashGrid3< Atom * > * static_residues_hashgrid_
int hashgrid_search_radius_
HashGrid3< Atom * > * flexible_residues_hashgrid_
void setReceptor(AtomContainer &receptor)
String valueToString(double value)
HashGrid3< Atom * > * hashgrid_
void updateComponent(int id, AtomPairList *)
double static_ligand_energy_
void enableInteractionComponents_(const list< String > &type_names)
list< list< Vector3 > > flexres_org_positions_
Vector3 calculateGeometricalCenter(AtomContainer *s, int *no_ligand_atoms=NULL)
bool getCoefficient(const ScoringComponent *component, float &coefficient) const
void setCoefficient(const String &name, float coefficient)
static const char * SUBCATEGORY_NAME
const vector< Bond * > * getRotatableLigandBonds() const
double allowed_intermolecular_overlap_
void insertComponent(ScoringComponent *component)
vector< ScoringComponent * > scoring_components_
Options * getOptionsToModify()
bool use_static_lig_fragments_
int ligand_intramol_overlaps_
double conformation_scale_
void unsetTrainingParameters()
AtomContainer * getSecondMolecule() const
list< Constraint * > constraints
AtomContainer * getReceptor() const
ScoringBaseFunction * base_function_
void createStaticLigandFragments()
void setBaseFunction(ScoringBaseFunction &base_function)
Set the instance of BaseFunction for the scoring function.
void enableAllComponents_()
double neighbor_cutoff_2_
virtual int getNoNeighboringReceptorAtoms()
void setName(String name)
ScoringComponent * getComponent(const Size index) const
void setFlexibleResidues(const std::set< Residue * > &flexible_residues)
bool getCoefficient(const String &name, float &coefficient) const
void setupFlexibleResidues_()
ScoringFunction(AtomContainer &receptor, Vector3 &hashgrid_origin, Options &options)
vector< StaticLigandFragment * > static_ligand_fragments_
AtomContainer * receptor_
virtual void createAllLigandNonBondedPairs()
const Vector3 & getLigandCenter() const
vector< Bond * > rotatable_ligand_bonds_
Size countNeighboringReceptorAtoms(const Atom *atom, double distance_threshold, bool onePerCell=0, int *number_of_overlaps=0) const
AtomPairVector * createNonbondedPairVector(HashGrid3< Atom * > *hashgrid, int &overlaps, bool rec_lig, bool check_fragments=0, bool intra_fragment=0)
Size max_number_of_errors_
void enableStoreInteractions(bool b=true)
virtual double updateScore()
double getLigandRadius() const
void removeComponent(const ScoringComponent *component)
bool store_interactions_phC_only_
void setCoefficient(const ScoringComponent *component, float coefficient)
bool storeInteractionsEnabled()
int neighboring_target_atoms_
AtomContainer * getFirstMolecule() const
static HashGrid3< Atom * > * initializeHashGrid(AtomContainer *sys, Vector3 ¢er, double &resolution, int hashgrid_size)
void setLigand(AtomContainer &ligand)
static void getDefaultOptions(Options &options)
bool hasFlexibleResidues()
void setMaximumNumberOfErrors(Size nr)
ScoringFunction(AtomContainer &receptor, AtomContainer &ligand, Options &options)
bool setup(AtomContainer &receptor, AtomContainer &ligand)
friend class SideChainOptimizer
virtual double calculateStaticLigandFragmentEnergy()
friend class PharmacophoreConstraint
HashSet< const Atom * > unassigned_atoms_
ScoringFunction(AtomContainer &receptor, AtomContainer &ligand)
HashGrid3< Atom * > * all_residues_hashgrid_
void setNormalizationParameters(double stddev, double mean)
void setFirstMolecule(AtomContainer &molecule1)
AtomContainer * getLigand() const
double allowed_intramolecular_overlap_
std::map< Atom *, int > atoms_to_fragments_
int checkForAtomOverlaps(const AtomPairVector *pair_vector)
String convertTime(double seconds)
double calculateMoleculeRadius(AtomContainer *sys, Vector3 ¢er)
int countCovalentBonds(const Atom *atom, int threshold=-1)
ScoringComponent * getComponent(const String &name) const
void insertComponent(ScoringComponent *component, float coefficient)
std::set< Residue * > flexible_residues_
const HashGrid3< Atom * > * getHashGrid()
double getIntercept() const
double calculateConstraintsScore()
AtomPairVector * all_ligand_nonbonded_
Size getMaximumNumberOfErrors() const
ScoringFunction(const ScoringFunction &sf)
bool assignRotamer(Residue *residue, ResidueRotamerSet *rotamer_set, const Rotamer *rotamer)
void clearStoredInteractions_()
void resetFlexibleResidues()
void getScoreContributions(vector< double > &score_contributions, vector< String > &names)
bool isPeptideBond(const Bond *bond) const
const std::map< Atom *, int > * getAtomFragmentMap()
int getBurialDepthScale()
bool setup(AtomContainer &receptor, AtomContainer &ligand, const Options &options)
void setSecondMolecule(AtomContainer &molecule2)
virtual ~ScoringFunction()
virtual void printResult(bool detail=0)
double exp_energy_stddev_
void resetResiduePositions(Residue *residue, list< Vector3 > &old_positions)
AtomPairVector * createLigandNonbondedPairVector(bool intra_fragment, int &overlaps)
void enableStoreInteractionsOnlyForPhContraints()
const HashSet< const Atom * > & getUnassignedAtoms() const
double getExpEnergyStddev()
const vector< StaticLigandFragment * > * getStaticLigandFragments() const
double nonbonded_cutoff_2_
void removeComponent(const String &name)
void fetchStaticLigandFragment(Atom *a1, int index)
virtual void setupReferenceLigand()
void setIntercept(double intercept)
ScoringBaseFunction * getBaseFunction() const
int misplaced_ligand_atoms_
ScoringFunction(AtomContainer &receptor, AtomContainer &ligand, const Options &options)
std::vector< std::pair< Atom *, Atom * > > AtomPairVector
TVector3< float > Vector3
std::list< std::pair< Atom *, Atom * > > AtomPairList
static double ALLOWED_INTERMOL_OVERLAP
static bool USE_STATIC_LIG_FRAGMENTS
static double HASHGRID_RESOLUTION
static const Size BASE_FUNCTION_TYPE
static int BURIAL_DEPTH_SCALE
static bool IGNORE_H_CLASHES
static double NONBONDED_CUTOFF
static const Size VERBOSITY
static double ALLOWED_INTRAMOL_OVERLAP
static double CONFORMATION_SCALE
static bool ALL_LIG_NONB_PAIRS
static const char * HASHGRID_RESOLUTION
static const char * IGNORE_H_CLASHES
static const char * HASHGRID_SIZE
static const char * BASE_FUNCTION_TYPE
static const char * BURIAL_DEPTH_SCALE
static const char * CONFORMATION_SCALE
static const char * ALLOWED_INTRAMOL_OVERLAP
static const char * ALL_LIG_NONB_PAIRS
static const char * USE_STATIC_LIG_FRAGMENTS
static const char * ALLOWED_INTERMOL_OVERLAP
static const char * VERBOSITY
static const char * NONBONDED_CUTOFF
vector< double > refArea_penalties
double ligand_conformation