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.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
// (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/InterchainEnergy.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
#ifndef INCLUDED_protocols_scoring_InterfaceInfo_hh
17
#define INCLUDED_protocols_scoring_InterfaceInfo_hh
18
19
#include <
core/types.hh
>
20
21
// Unit headers
22
// AUTO-REMOVED #include <core/scoring/AtomVDW.fwd.hh>
23
#include <
protocols/scoring/InterfaceInfo.fwd.hh
>
24
25
// Package headers
26
#include <
protocols/scoring/Interface.hh
>
27
#include <
core/conformation/Residue.fwd.hh
>
28
29
#include <basic/datacache/CacheableData.hh>
30
31
#include <ObjexxFCL/FArray1D.hh>
32
// AUTO-REMOVED #include <ObjexxFCL/FArray2D.hh>
33
// AUTO-REMOVED #include <ObjexxFCL/FArray3D.hh>
34
35
#include <utility/vector1.hh>
36
37
38
namespace
protocols {
39
namespace
scoring {
40
41
////////////////////////////////////////////////////////////////////////////////////////////////////
42
/// @brief Keep track of the interface information
43
44
class
InterfaceInfo
:
public
basic::datacache::CacheableData {
45
public
:
46
47
///@brief Default constructor with rb jump = 1
48
InterfaceInfo
():
calculated_
(false)
49
{
50
rb_jump_
.push_back( 1 );
51
distance_
= 6.0;
//default
52
initialize
();
53
}
54
55
///@brief Constructor with arguments for non-default rb jump
56
InterfaceInfo
(
core::Size
rb_jump_in ):
calculated_
(false),
distance_
(6.0)
57
{
58
rb_jump_
.push_back( rb_jump_in );
59
distance_
= 6.0;
//default
60
initialize
();
61
}
62
63
///@brief Constructor with arguments for multiple jumps
64
InterfaceInfo
( utility::vector1_size rb_jump_in ):
calculated_
(false)
65
{
66
rb_jump_
= rb_jump_in;
67
distance_
= 6.0;
//default
68
initialize
();
69
}
70
71
InterfaceInfo
(
InterfaceInfo
const
& src );
72
73
basic::datacache::CacheableDataOP
74
clone
()
const
75
{
76
return
new
InterfaceInfo
( *
this
);
77
}
78
79
///@brief Removes all jumps from the interface calculation
80
void
clear_jumps
(){
rb_jump_
.clear(); }
81
82
///@brief Adds another jump to the interface calculation, for example
83
///for multi-body docking
84
void
add_jump
(
core::Size
jump_in ){
rb_jump_
.push_back( jump_in ); }
85
86
///@brief Sets the distance cutoff for interface calculations
87
void
distance
(
core::Real
distance_in ){
distance_
= distance_in; }
88
89
///@brief Returns if interface calculation is up to date
90
bool
calculated
()
const
{
return
calculated_
; }
91
92
///@brief Returns if interface calculation is up to date
93
bool
&
calculated
() {
return
calculated_
; }
94
95
///@brief Returns the number of jumps that are being used
96
/// in interface calculations
97
core::Size
num_jump
()
const
{
return
num_jump_
; }
98
99
///@brief Sets up InterfaceInfo members such as interface_list_
100
///based on variables from construction
101
void
102
initialize
();
103
104
///@brief Returns whether a residue is at any of the interfaces
105
bool
106
is_interface
(
core::conformation::Residue
rsd )
const
;
107
108
///@brief Returns whether the two residues are considered a
109
///residue pair at any of the interfaces
110
bool
111
is_pair
(
112
core::conformation::Residue
rsd1,
113
core::conformation::Residue
rsd2
114
)
const
;
115
116
///@brief Returns the number of resides at the interface defined
117
///by jump_num
118
core::Size
119
interface_nres
(
core::Size
jump_num )
const
;
120
121
///@brief Calculates the interface for all jumps specified in
122
///rb_jump_
123
void
124
calculate
(
core::pose::Pose
const
& pose);
125
126
core::Size
127
closest_interface_residue
(
core::pose::Pose
const
& pose,
core::Size
src_rsd,
core::Real
&
distance
)
const
;
128
129
InterfaceCOP
interface
(
core::Size
interface_num )
const
;
130
131
private
:
132
bool
calculated_
;
133
core::Size
num_jump_
;
134
core::Real
distance_
;
135
136
utility::vector1_size
rb_jump_
;
137
138
utility::vector1< InterfaceOP >
interface_list_
;
139
};
140
141
}
// ns scoring
142
}
// ns protocols
143
144
#endif
Generated on Sat Jun 1 2013 12:10:29 for Rosetta 3.5 by
1.8.4