IMP  2.0.1
The Integrative Modeling Platform
DopePairScore.h
Go to the documentation of this file.
1 /**
2  * \file IMP/atom/DopePairScore.h
3  * \brief Dope scoring
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPATOM_DOPE_PAIR_SCORE_H
10 #define IMPATOM_DOPE_PAIR_SCORE_H
11 
12 #include <IMP/atom/atom_config.h>
13 #include "Hierarchy.h"
14 #include <IMP/score_functor/Dope.h>
17 
18 IMPATOM_BEGIN_NAMESPACE
19 
20 /** \name Dope scoring
21 
22  \imp provides the DOPE scoring function for scoring proteins.
23 
24  \note These are quite large objects as they store the whole
25  DOPE lookup table. It is much better to share them between
26  restraints than to create separate instances.
27 
28  */
29 class DopePairScore;
30 typedef score_functor::DopeType DopeType;
31 
32 /**
33  Score pair of atoms based on DOPE.
34 
35  See M.-y. Shen and A. Sali. Statistical potential for assessment and
36  prediction of protein structures. Protein Science 15, 2507–2524, 2006.
37 
38  DOPE should not be applied to two atoms from the same residue.
39  You may need to use the SameResiduePairFilter to filter these out.
40 */
42  public score_functor::DistancePairScore<score_functor::Dope> {
44  public:
45  DopePairScore(double threshold
46  = std::numeric_limits<double>::max()):
47  P(score_functor::Dope(threshold)){}
48  DopePairScore(double threshold,
49  base::TextInput data_file):
50  P(score_functor::Dope(threshold, data_file)){}
51 };
52 
53 /** Add the dope atom types to the atoms in the hierarchy.
54  */
55 IMPATOMEXPORT void add_dope_score_data(atom::Hierarchy h);
56 
57 /** @} */
58 IMPATOM_END_NAMESPACE
59 
60 #endif /* IMPATOM_DOPE_PAIR_SCORE_H */