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
InterchainEnvEnergy.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 protocols/scoring/methods/InterchainEnvEnergy.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/InterchainEnvEnergy.hh
>
19
#include <
protocols/scoring/methods/InterchainEnvEnergyCreator.hh
>
20
21
// Package headers
22
#include <
protocols/scoring/InterchainPotential.hh
>
23
// AUTO-REMOVED #include <core/scoring/ScoringManager.hh>
24
// AUTO-REMOVED #include <core/scoring/EnergyGraph.hh>
25
26
// Project headers
27
#include <
core/pose/Pose.hh
>
28
// AUTO-REMOVED #include <core/conformation/Residue.hh>
29
30
31
// Utility headers
32
33
#include <basic/Tracer.hh>
34
35
#include <
core/scoring/EnergyMap.hh
>
36
#include <utility/vector1.hh>
37
38
using
basic::T
;
39
using
basic::Error;
40
using
basic::Warning;
41
42
static
basic::Tracer
TR
(
"protocols.scoring.methods.InterchainEnvEnergy"
);
43
44
45
// C++
46
47
namespace
protocols {
48
namespace
scoring {
49
namespace
methods {
50
51
52
/// @details This must return a fresh instance of the InterchainEnvEnergy class,
53
/// never an instance already in use
54
core::scoring::methods::EnergyMethodOP
55
InterchainEnvEnergyCreator::create_energy_method
(
56
core::scoring::methods::EnergyMethodOptions
const
&
57
)
const
{
58
return
new
InterchainEnvEnergy
;
59
}
60
61
core::scoring::ScoreTypes
62
InterchainEnvEnergyCreator::score_types_for_method
()
const
{
63
using namespace
core::scoring;
64
ScoreTypes
sts;
65
sts.push_back(
interchain_env
);
66
sts.push_back(
interchain_contact
);
67
return
sts;
68
}
69
70
71
/// c-tor
72
InterchainEnvEnergy::InterchainEnvEnergy
() :
73
parent
( new
InterchainEnvEnergyCreator
),
74
potential_(
InterchainPotential
::get_instance() )
75
{}
76
77
78
/// clone
79
core::scoring::methods::EnergyMethodOP
80
InterchainEnvEnergy::clone
()
const
81
{
82
return
new
InterchainEnvEnergy
();
83
}
84
85
///
86
void
87
InterchainEnvEnergy::setup_for_scoring
(
core::pose::Pose
& pose,
core::scoring::ScoreFunction
const
& )
const
88
{
89
// compute interpolated number of neighbors at various distance cutoffs
90
potential_
->
compute_centroid_environment
( pose );
91
potential_
->
compute_interface
( pose );
92
pose.
update_residue_neighbors
();
93
}
94
95
/////////////////////////////////////////////////////////////////////////////
96
// scoring
97
/////////////////////////////////////////////////////////////////////////////
98
99
//////////////////////////////////////////////////////////////////////////////////
100
/// @brief calculate the env_score for residues at the interface
101
void
102
InterchainEnvEnergy::residue_energy
(
103
core::conformation::Residue
const
& rsd,
104
core::pose::Pose
const
& pose,
105
core::scoring::EnergyMap
& emap
106
)
const
107
{
108
using namespace
core::scoring;
109
core::Real
env_score ( 0.0 );
110
potential_
->
evaluate_env_score
( pose, rsd, env_score );
111
112
emap[
interchain_env
] += env_score;
113
}
114
115
// is there a better way to get the contact score??
116
void
117
InterchainEnvEnergy::finalize_total_energy
(
118
core::pose::Pose
& pose,
119
core::scoring::ScoreFunction
const
&,
120
core::scoring::EnergyMap
& emap
121
)
const
122
{
123
using namespace
core;
124
using namespace
core::scoring;
125
Real
contact_score ( 0.0 );
126
//int interface_residues ( 0 );
127
//interface_residues = potential_.interface_residues( pose );
128
//TR.Debug << "residues at interface: " << interface_residues << std::endl;
129
130
//contact_score = ( 20 - interface_residues ) * 0.5;
131
//if ( interface_residues == 0 ) contact_score += 2.0;
132
//if ( interface_residues == 1 ) contact_score += 1.0;
133
//if ( interface_residues == 2 ) contact_score += 0.5;
134
135
potential_
->
evaluate_contact_score
( pose, contact_score );
136
emap[
interchain_contact
] = contact_score;
137
138
// sets calculated from the CenPairInfo to false
139
potential_
->
finalize
( pose );
140
}
141
core::Size
142
InterchainEnvEnergy::version
()
const
143
{
144
return
1;
// Initial versioning
145
}
146
147
}
148
}
149
}
Generated on Sat Jun 1 2013 12:10:32 for Rosetta 3.5 by
1.8.4