IMP  2.0.0
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-2013 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 
18 /** The type of atoms for Dope.*/
19 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
20  IMP_DECLARE_CONTROLLED_KEY_TYPE(DopeType, 6453462);
21 #elif defined(SWIG)
22 class 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 public:
39  Dope(double threshold = std::numeric_limits<double>::max()):
40  P(get_dope_type_key(), threshold, get_data_path("dope_score.lib")){}
41  Dope(double threshold,
42  base::TextInput data_file): P(get_dope_type_key(), threshold,
43  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 */