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
protocols
scoring
methods
InterchainPairEnergy.cc
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
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file core/scoring/methods/InterchainPairEnergy.cc
11
/// @brief Statistically derived rotamer pair potentials
12
/// @detailed For docking (or between chains) only those residues at the interface
13
/// and between the two interfaces need to be evaluated
14
/// @author Monica Berrondo
15
16
17
// Unit headers
18
#include <
protocols/scoring/methods/InterchainPairEnergy.hh
>
19
#include <
protocols/scoring/methods/InterchainPairEnergyCreator.hh
>
20
21
// Package headers
22
#include <
protocols/scoring/InterchainPotential.hh
>
23
// AUTO-REMOVED #include <core/scoring/EnergyGraph.hh>
24
25
// Project headers
26
#include <
core/pose/Pose.hh
>
27
// AUTO-REMOVED #include <core/conformation/Residue.hh>
28
29
#include <
core/scoring/EnergyMap.hh
>
30
#include <utility/vector1.hh>
31
32
33
34
// Utility headers
35
36
37
38
// C++
39
40
namespace
protocols {
41
namespace
scoring {
42
namespace
methods {
43
44
45
/// @details This must return a fresh instance of the InterchainPairEnergy class,
46
/// never an instance already in use
47
core::scoring::methods::EnergyMethodOP
48
InterchainPairEnergyCreator::create_energy_method
(
49
core::scoring::methods::EnergyMethodOptions
const
&
50
)
const
{
51
return
new
InterchainPairEnergy
;
52
}
53
54
core::scoring::ScoreTypes
55
InterchainPairEnergyCreator::score_types_for_method
()
const
{
56
using namespace
core::scoring;
57
ScoreTypes
sts;
58
sts.push_back(
interchain_pair
);
59
sts.push_back(
interchain_vdw
);
60
return
sts;
61
}
62
63
64
/// c-tor
65
InterchainPairEnergy::InterchainPairEnergy
() :
66
parent
( new
InterchainPairEnergyCreator
),
67
potential_(
InterchainPotential
::get_instance() )
68
{}
69
70
71
/// clone
72
core::scoring::methods::EnergyMethodOP
73
InterchainPairEnergy::clone
()
const
74
{
75
return
new
InterchainPairEnergy
();
76
}
77
78
///
79
void
80
InterchainPairEnergy::setup_for_scoring
(
core::pose::Pose
& pose,
core::scoring::ScoreFunction
const
& )
const
81
{
82
// compute interpolated number of neighbors at various distance cutoffs
83
potential_
->
compute_centroid_environment
( pose );
84
potential_
->
compute_interface
( pose );
85
pose.
update_residue_neighbors
();
86
}
87
88
/////////////////////////////////////////////////////////////////////////////
89
// scoring
90
/////////////////////////////////////////////////////////////////////////////
91
92
//////////////////////////////////////////////////////////////////////////////////
93
/// @brief calculate the pair_score between chains
94
void
95
InterchainPairEnergy::residue_pair_energy
(
96
core::conformation::Residue
const
& rsd1,
97
core::conformation::Residue
const
& rsd2,
98
core::pose::Pose
const
& pose,
99
core::scoring::ScoreFunction
const
&,
100
core::scoring::EnergyMap
& emap
101
)
const
102
{
103
using namespace
core;
104
using namespace
core::scoring;
105
Real
pair_score ( 0.0 ), vdw_score ( 0.0 );
106
107
/// this is probably really slow, interface should probably be kept track of in the interaction graph
108
potential_
->
evaluate_pair_and_vdw_score
( pose, rsd1, rsd2, pair_score, vdw_score );
109
110
/// divide by two to account for double counting that will occur
111
emap[
interchain_pair
] += pair_score;
112
emap[
interchain_vdw
] += vdw_score;
113
}
114
115
// is there a better way to get the contact score??
116
void
117
InterchainPairEnergy::finalize_total_energy
(
118
core::pose::Pose
& pose,
119
core::scoring::ScoreFunction
const
&,
120
core::scoring::EnergyMap
&
// emap
121
)
const
122
{
123
// sets calculated from the CenPairInfo to false
124
potential_
->
finalize
( pose );
125
}
126
127
/// @brief Energy distance cutoff
128
core::Distance
129
InterchainPairEnergy::atomic_interaction_cutoff
()
const
130
{
131
return
6.0;
/// now subtracted off 6.0 from cutoffs in centroid params files
132
// return 0.0; /// since all the cutoffs for centroid mode are rolled into the cendist check
133
}
134
core::Size
135
InterchainPairEnergy::version
()
const
136
{
137
return
1;
// Initial versioning
138
}
139
140
}
141
}
142
}
Generated on Sat Jun 1 2013 12:10:34 for Rosetta 3.5 by
1.8.4