Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
core
scoring
geometric_solvation
DatabaseOccSolEne.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// This file is part of the Rosetta software suite and is made available under license.
5
// The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6
// (C) 199x-2009 Rosetta Commons participating institutions and developers.
7
// For more information, see http://www.rosettacommons.org/.
8
9
/// @file core/scoring/geometric_solvation/DatabaseOccSolEne.hh
10
/// @brief Database containing params for OccludedHbondSolEnergy
11
/// @author John Karanicolas
12
13
14
#ifndef INCLUDED_core_scoring_geometric_solvation_DatabaseOccSolEne_hh
15
#define INCLUDED_core_scoring_geometric_solvation_DatabaseOccSolEne_hh
16
17
// Unit Headers
18
//#include <core/scoring/AtomVDW.fwd.hh>
19
20
// Package headers
21
#include <
core/chemical/AtomTypeSet.fwd.hh
>
22
23
// Project headers
24
#include <
core/types.hh
>
25
26
// Utility headers
27
#include <utility/vector1.hh>
28
#include <utility/pointer/ReferenceCount.hh>
29
30
#include <string>
31
32
33
namespace
core {
34
namespace
scoring {
35
namespace
geometric_solvation {
36
37
enum
OccFitParam
{
38
OccFitParam_amp
= 1,
39
OccFitParam_dist_mu
,
40
OccFitParam_twice_dist_sigma_sq
,
41
OccFitParam_cos_angle_mu
,
42
OccFitParam_twice_cos_angle_sigma_sq
,
43
OccFitParam_max_sq_dist
,
44
OccFitParam_min_cos_angle
,
45
OccFitParam_num_params
=
OccFitParam_min_cos_angle
46
};
47
48
49
class
DatabaseOccSolEne
:
public
utility::pointer::ReferenceCount
{
50
51
public
:
52
53
/// @brief ctor, reads data file
54
DatabaseOccSolEne
(
std::string
const
& etable_name,
Real
const
& min_occ_energy );
55
56
Real
const
&
57
operator()
(
bool
const
polar_atom_donates,
Size
const
polar_atom_type_index,
Size
const
occ_atom_type_index,
OccFitParam
des_param )
const
58
{
59
// note: min cos_angle can be negative
60
if
( polar_atom_donates ) {
61
assert (
donor_occ_data_
[ polar_atom_type_index][occ_atom_type_index][des_param] > -1.1 );
62
return
donor_occ_data_
[ polar_atom_type_index][occ_atom_type_index][des_param];
63
}
64
assert (
acc_occ_data_
[ polar_atom_type_index][occ_atom_type_index][des_param] > -1.1 );
65
return
acc_occ_data_
[ polar_atom_type_index][occ_atom_type_index][des_param];
66
}
67
68
Real
const
&
atomic_interaction_cutoff
()
const
{
return
atomic_interaction_cutoff_
; }
69
70
private
:
71
72
void
read_datafile
(
chemical::AtomTypeSet
const
& atom_set,
std::string
const
& database_name,
73
utility::vector1
<
utility::vector1
<
utility::vector1< Real >
> > & occ_data_,
bool
const
process_donors );
74
75
Real
compute_jumpout_diff
(
Real
const
& amp,
Real
const
& twice_sigma_sq );
76
77
private
:
78
79
// hold all data here, indexed by 1) polar_atom_type_index, 2) occ_atom_type_index, 3) parameter type
80
// jk note: we don't want to change the first index to donor/acceptor hybridization, since then we'd lose atomic charge info from the fits
81
// jk note: we could switch the second index to element type / radius, it's just that at present we can only look this up via a string compare
82
// jk note: at the moment we have two tables, because we're indexing on polar_atom_type_index and Ser/Thr/Tyr can be donor or acceptor
83
utility::vector1< utility::vector1< utility::vector1< Real >
> >
donor_occ_data_
;
84
utility::vector1< utility::vector1< utility::vector1< Real >
> >
acc_occ_data_
;
85
86
// energies below this can be neglected, used in determining jumpout geometry conditions
87
Real
const
min_occ_energy_
;
88
89
// max distance between interacting atoms (computed from min_occ_energy)
90
Real
atomic_interaction_cutoff_
;
91
92
};
93
94
}
// geometric_solvation
95
}
// scoring
96
}
// core
97
98
#endif // INCLUDED_core_scoring_geometric_solvation_DatabaseOccSolEne_HH
99
Generated on Sat Jun 1 2013 11:36:54 for Rosetta 3.5 by
1.8.4