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
InterfaceInfo.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/InterfaceInfo.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
// AUTO-REMOVED #include <protocols/scoring/InterchainPotential.hh>
19
20
// AUTO-REMOVED #include <core/scoring/AtomVDW.hh>
21
#include <
core/scoring/EnvPairPotential.hh
>
22
// AUTO-REMOVED #include <core/scoring/ScoringManager.hh>
23
24
// Package headers
25
26
// AUTO-REMOVED #include <core/scoring/EnergyGraph.hh>
27
28
// Project headers
29
#include <
core/chemical/AA.hh
>
30
// AUTO-REMOVED #include <core/chemical/VariantType.hh>
31
// AUTO-REMOVED #include <core/chemical/ChemicalManager.hh>
32
#include <
core/conformation/Residue.hh
>
33
// AUTO-REMOVED #include <core/kinematics/FoldTree.hh>
34
// AUTO-REMOVED #include <basic/database/open.hh>
35
// AUTO-REMOVED #include <core/pose/Pose.hh>
36
// AUTO-REMOVED #include <core/pose/datacache/CacheableDataType.hh>
37
// AUTO-REMOVED #include <basic/datacache/BasicDataCache.hh>
38
39
// Utility headers
40
// AUTO-REMOVED #include <utility/io/izstream.hh>
41
// AUTO-REMOVED #include <utility/utility.functions.hh>
42
43
// just for debugging
44
//#include <ObjexxFCL/format.hh>
45
46
#include <basic/Tracer.hh>
47
48
#include <
protocols/scoring/InterfaceInfo.hh
>
49
#include <utility/vector1.hh>
50
51
using
basic::T
;
52
using
basic::Error;
53
using
basic::Warning;
54
55
56
// C++
57
58
namespace
protocols {
59
namespace
scoring {
60
61
InterfaceInfo::InterfaceInfo
(
InterfaceInfo
const
& src ) :
62
CacheableData(), calculated_(false)
63
{
64
rb_jump_
= src.
rb_jump_
;
65
num_jump_
= src.
num_jump_
;
66
distance_
= src.
distance_
;
67
68
interface_list_
= src.
interface_list_
;
69
initialize
();
70
}
71
72
void
73
//InterfaceInfo::initialize( pose::Pose const & pose )
74
InterfaceInfo::initialize
()
75
{
76
77
//get the number of jumps in the fold tree
78
num_jump_
=
rb_jump_
.size();
79
80
interface_list_
.resize(
num_jump_
);
81
82
//initialize interface objects for each interface in pose
83
for
(
core::Size
i = 1; i <=
num_jump_
; i++){
84
interface_list_
[i] =
new
protocols::scoring::Interface
(
rb_jump_
[i] );
85
interface_list_
[i]->distance(6.0);
86
}
87
88
}
89
90
bool
91
InterfaceInfo::is_interface
(
92
core::conformation::Residue
rsd
93
)
const
94
{
95
96
bool
is_interface
(
false
);
97
for
(
core::Size
i = 1; i <=
num_jump_
; i++){
98
if
(
interface_list_
[i]->
is_interface
( rsd )) is_interface =
true
;
99
}
100
101
return
is_interface
;
102
}
103
104
bool
105
InterfaceInfo::is_pair
(
106
core::conformation::Residue
rsd1,
107
core::conformation::Residue
rsd2
108
)
const
109
{
110
111
bool
is_pair
(
false
);
112
113
for
(
core::Size
i = 1; i<=
num_jump_
; i++){
114
if
(
interface_list_
[i]->
is_pair
(rsd1, rsd2)) is_pair =
true
;
115
}
116
117
return
is_pair
;
118
}
119
120
core::Size
121
InterfaceInfo::interface_nres
(
core::Size
jump_num )
const
122
{
123
return
interface_list_
[jump_num]->interface_nres();
124
}
125
126
InterfaceCOP
127
InterfaceInfo::interface
(
core::Size
interface_num )
const
{
128
return
interface_list_
[ interface_num ];
129
}
130
131
void
132
InterfaceInfo::calculate
(
core::pose::Pose
const
& pose )
133
{
134
for
(
core::Size
i = 1; i <=
num_jump_
; i++){
135
interface_list_
[i]->calculate( pose );
136
}
137
}
138
139
core::Size
140
InterfaceInfo::closest_interface_residue
(
core::pose::Pose
const
& pose,
core::Size
src_rsd,
core::Real
&
distance
)
const
141
{
142
core::Size
ret_rsd (0);
143
core::Real
min_distance (100000.0), temp_dist;
144
for
(
core::Size
i = 1; i <=
num_jump_
; ++i ){
145
core::Size
temp_rsd =
interface_list_
[i]->closest_interface_residue( pose, src_rsd, temp_dist );
146
if
( temp_dist < min_distance ) {
147
ret_rsd = temp_rsd;
148
min_distance = temp_dist;
149
}
150
}
151
distance = temp_dist;
152
return
ret_rsd;
153
}
154
155
}
156
}
Generated on Sat Jun 1 2013 12:10:27 for Rosetta 3.5 by
1.8.4