home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
atom
version 20241221.develop.63b38c487d
protein_ligand_score.h
Go to the documentation of this file.
1
/**
2
* \file IMP/atom/protein_ligand_score.h
3
* \brief Functions to score protein-ligand interactions
4
*
5
* Copyright 2007-2022 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPATOM_PROTEIN_LIGAND_SCORE_H
10
#define IMPATOM_PROTEIN_LIGAND_SCORE_H
11
12
#include <IMP/atom/atom_config.h>
13
#include "
Hierarchy.h
"
14
#include <
IMP/core/StatisticalPairScore.h
>
15
#include <
IMP/Model.h
>
16
#include <
IMP/Particle.h
>
17
#include <
IMP/Restraint.h
>
18
#include <
IMP/PairScore.h
>
19
#include <
IMP/container/PairsRestraint.h
>
20
#include <
IMP/algebra/Vector3D.h
>
21
#include <
IMP/file.h
>
22
#include <limits>
23
24
IMPATOM_BEGIN_NAMESPACE
25
26
/** \name Protein-ligand scoring
27
\anchor protein_ligand
28
29
\imp provides a statistical scoring function for scoring
30
protein-ligand complexes. See the
31
[Ligand Score application](@ref impligand_score) for more information.
32
@{
33
*/
34
class
ProteinLigandRestraint
;
35
36
#ifndef SWIG
37
/** The marker to identify the atom types.*/
38
typedef
Key<783462>
ProteinLigandType
;
39
IMP_VALUES
(
ProteinLigandType
,
ProteinLigandTypes
);
40
#else
41
class
ProteinLigandType
;
42
#endif
43
44
/** add_protein_ligand_score_data() must be called on the molecules
45
containing the atoms before the PairScore is used in order
46
to properly initialize the particles.
47
48
The default library to use is \c protein_ligand_rank_score.lib.
49
\imp also provides \c protein_ligand_pose_score.lib which can be
50
found at IMP::atom::get_data_path("protein_ligand_pose_score.lib").
51
*/
52
class
IMPATOMEXPORT
ProteinLigandAtomPairScore
53
:
public
core::StatisticalPairScore
<ProteinLigandType, true, false> {
54
friend
class
ProteinLigandRestraint
;
55
typedef
core::StatisticalPairScore<ProteinLigandType, true, false>
P
;
56
double
threshold_;
57
58
public
:
59
ProteinLigandAtomPairScore
(
double
threshold =
60
std::numeric_limits<double>::max());
61
ProteinLigandAtomPairScore
(
double
threshold,
TextInput
data_file);
62
double
get_maximum_distance()
const
{
return
threshold_; }
63
};
64
65
IMP_OBJECTS
(
ProteinLigandAtomPairScore
,
ProteinLigandAtomPairScores
);
66
67
//! Score a pair of molecules.
68
/** \see ProteinLigandAtomPairScore for simply scoring the atom pairs.
69
*/
70
class
IMPATOMEXPORT
ProteinLigandRestraint
:
public
container::PairsRestraint
{
71
void
initialize(
Hierarchy
protein,
Hierarchy
ligand);
72
73
public
:
74
ProteinLigandRestraint
(
Hierarchy
protein,
Hierarchy
ligand,
75
double
threshold = std::numeric_limits<double>::max());
76
ProteinLigandRestraint
(
Hierarchy
protein,
Hierarchy
ligand,
double
threshold,
77
TextInput
data_file);
78
};
79
80
IMP_OBJECTS
(
ProteinLigandRestraint
,
ProteinLigandRestraints
);
81
82
/** Add the data needed to use ProteinLigandAtomPairScore with the passed
83
Hierarchy.*/
84
IMPATOMEXPORT
void
add_protein_ligand_score_data
(
Hierarchy
h);
85
86
/** @} */
87
IMPATOM_END_NAMESPACE
88
89
#endif
/* IMPATOM_PROTEIN_LIGAND_SCORE_H */
PairsRestraint.h
Apply a PairScore to each Pair in a list.
Model.h
Storage of a model, its restraints, constraints and particles.
IMP::atom::ProteinLigandAtomPairScore
Definition:
protein_ligand_score.h:52
file.h
Handling of file input/output.
IMP::core::StatisticalPairScore
Definition:
StatisticalPairScore.h:59
IMP::TextInput
Definition:
file.h:89
IMP::Vector
A more IMP-like version of the std::vector.
Definition:
Vector.h:50
IMP::atom::ProteinLigandRestraint
Score a pair of molecules.
Definition:
protein_ligand_score.h:70
Hierarchy.h
Decorator for helping deal with a hierarchy of molecules.
IMP_VALUES
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
Definition:
value_macros.h:23
IMP::atom::Hierarchy
The standard decorator for manipulating molecular structures.
Definition:
atom/Hierarchy.h:192
PairScore.h
Define PairScore.
IMP::Key
A base class for Keys.
Definition:
Key.h:45
IMP::atom::add_protein_ligand_score_data
void add_protein_ligand_score_data(Hierarchy h)
Particle.h
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
IMP_OBJECTS
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition:
object_macros.h:44
IMP::atom::ProteinLigandType
Key< 783462 > ProteinLigandType
Definition:
protein_ligand_score.h:34
Vector3D.h
Simple 3D vector class.
Restraint.h
Abstract base class for all restraints.
StatisticalPairScore.h
Functions to read mol2s.
IMP::container::PairsRestraint
Applies a PairScore to each Pair in a list.
Definition:
PairsRestraint.h:36