IMP  2.2.1
The Integrative Modeling Platform
Dope.h
Go to the documentation of this file.
1 /**
2  * \file IMP/score_functor/Dope.h
3  * \brief A Score on the distance between a pair of particles.
4  *
5  * Copyright 2007-2014 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPSCORE_FUNCTOR_DOPE_H
9 #define IMPSCORE_FUNCTOR_DOPE_H
10 
11 #include <IMP/score_functor/score_functor_config.h>
12 #include "Score.h"
13 #include <IMP/base/file.h>
14 #include "Statistical.h"
15 #include <IMP/algebra/utility.h>
16 IMPSCOREFUNCTOR_BEGIN_NAMESPACE
17 #ifdef SWIG
18 class DopeType;
19 #else
20 /** The type of atoms for Dope.*/
21 typedef Key<6453462, false> DopeType;
23 #endif
24 
25 /** Score pair of atoms based on DOPE.
26 
27  See M.-y. Shen and A. Sali. Statistical potential for assessment and
28  prediction of protein structures. Protein Science 15, 2507–2524, 2006.
29 
30  DOPE should not be applied to two atoms from the same residue.
31  You may need to use the SameResiduePairFilter to filter these out.
32 
33  You need to use IMP::atom::add_dope_score_data() to add the requisite
34  atom type data to the particles being scored.
35 */
36 class Dope : public Statistical<DopeType, false, true> {
38 
39  public:
40  Dope(double threshold = std::numeric_limits<double>::max())
41  : P(get_dope_type_key(), threshold, get_data_path("dope_score.lib")) {}
42  Dope(double threshold, base::TextInput data_file)
43  : P(get_dope_type_key(), threshold, data_file) {}
44  static IntKey get_dope_type_key() {
45  static const IntKey ik("dope atom type");
46  return ik;
47  }
48 };
49 
50 IMPSCOREFUNCTOR_END_NAMESPACE
51 
52 #endif /* IMPSCORE_FUNCTOR_DOPE_H */
A base class for Keys.
Definition: kernel/Key.h:46
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
Functions to deal with very common math operations.
A Score on the distance between a pair of particles.
Key< 6453462, false > DopeType
Definition: Dope.h:21
Handling of file input/output.
A Score on the distance between a pair of particles.