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
ResidualDipolarCouplingRigidSegments.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/ResidualDipolarCouplingRigidSegments.hh
11
/// @brief Creates, stores and manages a list of individual RDC objects for Rigid Segment-based RDC scoring
12
/// @author Nikolas Sgourakis
13
14
#ifndef INCLUDED_protocols_scoring_ResidualDipolarCouplingRigidSegments_hh
15
#define INCLUDED_protocols_scoring_ResidualDipolarCouplingRigidSegments_hh
16
17
#include <
protocols/scoring/ResidualDipolarCouplingRigidSegments.fwd.hh
>
18
// AUTO-REMOVED #include <core/scoring/methods/ResidualDipolarCouplingRigidSegmentsEnergy.fwd.hh>
19
#include <
core/types.hh
>
20
#include <numeric/xyzVector.hh>
21
22
#include <basic/datacache/CacheableData.hh>
23
#include <numeric/numeric.functions.hh>
24
// AUTO-REMOVED #include <utility/vector1.hh>
25
#include <
core/pose/Pose.fwd.hh
>
26
27
#include <
core/scoring/ResidualDipolarCoupling.hh
>
28
#include <
protocols/loops/Loops.hh
>
29
#include <utility/vector1.hh>
30
31
namespace
protocols {
32
namespace
scoring {
33
34
void
store_RDC_segments_in_pose
(
ResidualDipolarCouplingRigidSegmentsOP
,
core::pose::Pose
&);
35
ResidualDipolarCouplingRigidSegmentsOP
retrieve_RDC_segments_from_pose
(
core::pose::Pose
&);
36
ResidualDipolarCouplingRigidSegmentsCOP
retrieve_RDC_segments_from_pose
(
core::pose::Pose
const
&);
37
38
///@brief ResidualDipolarCouplingRigidSegmentss are mainly handled by this class
39
///@detail related classed: RDC --- a single line in an RDC file - representing a single dipolar coupling
40
/// ResidualDipolarCouplingRigidSegmentsEnergy -- an energy method which triggers computations handled by this class.
41
///
42
///
43
class
ResidualDipolarCouplingRigidSegments
:
public
basic::datacache::CacheableData {
44
// friend class ResidualDipolarCouplingRigidSegmentsEnergy;
45
public
:
46
// typedefs
47
typedef
core::Real
Real
;
48
typedef
core::Size
Size
;
49
typedef
core::scoring::ResidualDipolarCoupling::RDC_lines
RDC_lines
;
50
typedef
utility::vector1< core::scoring::ResidualDipolarCouplingOP >
RDC_Segments
;
51
52
public
:
53
/// @brief standard c'stor -- will access option -in:file:rdc to read RDC data
54
// ResidualDipolarCouplingRigidSegments() :
55
// nex_(0), nrows_(0) {
56
// reserve_buffers();
57
// read_RDC_file();
58
// }
59
60
ResidualDipolarCouplingRigidSegments
() {
61
// std::cout << "Calling Constructor" << std::endl;
62
read_RDC_segment_file_from_cmdline
();
63
sort_into_segments
(
read_RDCs_from_cmdline
() );
64
}
65
66
/// @brief alternative c'stor if you have a list of RDC lines
67
/* ResidualDipolarCouplingRigidSegments( RDC_lines data_in, Loops segments ) :
68
All_RDC_lines_(data_in) {
69
// preprocess_data();
70
// reserve_buffers();
71
}*/
72
73
//explicit copy c'stor to initialize buffers
74
// ResidualDipolarCouplingRigidSegments(ResidualDipolarCouplingRigidSegments const& other);
75
76
//explicit assignment operator to initialize buffers
77
// ResidualDipolarCouplingRigidSegments& operator=(ResidualDipolarCouplingRigidSegments const & other);
78
79
//explicit destructor because we use raw pointers for buffers
80
// virtual ~ResidualDipolarCouplingRigidSegments();
81
82
//this class lives in the PoseCache.... need to provide clone()
83
basic::datacache::CacheableDataOP
clone
()
const
{
84
return
new
ResidualDipolarCouplingRigidSegments
(*
this
);
85
}
86
87
///@brief compute dipolar score for given segment definition
88
/// alignment tensor optimization will be performed for each segment individually
89
core::Real
compute_total_score
(
core::pose::Pose
const
& pose)
const
;
90
core::Real
compute_pairwise_score
()
const
;
///total score must have been evaluated before calls to this method are made.
91
///@brief read RDC data from file
92
// void read_RDC_file();
93
94
// do you need accessor for individual Tensors... do it like this
95
//Tensor tensor_of_segment( Size i );
96
97
void
show
(std::ostream&)
const
;
98
99
private
:
100
///@brief read RDC data from file
101
void
sort_into_segments
(
RDC_lines
all_rdcs);
102
RDC_lines
read_RDCs_from_cmdline
()
const
;
103
void
read_RDC_segment_file_from_cmdline
();
104
void
read_RDC_segment_file
(
std::string
const
& );
105
Size
find_segid_from_RDC_line
(
core::scoring::RDC
const
& line)
const
;
106
Size
find_effective_plane
(
core::scoring::RDC
const
& line)
const
;
107
108
private
:
109
RDC_Segments
rdc_segments_
;
110
protocols::loops::Loops
segment_definitions_
;
111
};
112
113
extern
std::ostream&
operator<<
(std::ostream&,
ResidualDipolarCouplingRigidSegments
const
&);
114
115
}
//scoring
116
}
//core
117
118
#endif
Generated on Sat Jun 1 2013 12:11:53 for Rosetta 3.5 by
1.8.4