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
pcs
PseudocontactShiftInput.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
//////////////////////////////////////////////
11
/// @begin
12
///
13
/// @file protocols/scoring/PseudocontactShiftInput.hh
14
///
15
/// @brief Read input .npc input file
16
///
17
/// @detailed The following classes are responsable to read / parse the PCS input file (.npc format)
18
///
19
/// @param
20
///
21
/// @return
22
///
23
/// @remarks
24
///
25
/// @references
26
///
27
/// @authorsv Christophe Schmitz
28
///
29
/// @last_modified June 2009
30
////////////////////////////////////////////////
31
32
33
#ifndef INCLUDED_protocols_scoring_methods_pcs_PseudocontactShiftInput_hh
34
#define INCLUDED_protocols_scoring_methods_pcs_PseudocontactShiftInput_hh
35
36
// Package headers
37
38
// Project headers
39
#include <
core/types.hh
>
40
41
// Utility headers
42
43
// Numeric headers
44
45
// Objexx headers
46
47
// C++ headers
48
#include <string>
49
#include <map>
50
51
#include <utility/vector1_bool.hh>
52
53
54
namespace
protocols{
55
namespace
scoring{
56
namespace
methods{
57
namespace
pcs
{
58
59
///////////////////////////////////////////////////////////////////////////
60
/// @brief PCS_line_data class: hold a line of the input file information (.npc format)
61
/// One PCS_line_data per line in the input file
62
class
PCS_line_data
{
63
64
public
:
65
PCS_line_data
();
66
67
~PCS_line_data
();
68
69
PCS_line_data
(
PCS_line_data
const
& other);
70
71
PCS_line_data
&
72
operator=
(
PCS_line_data
const
& other );
73
74
PCS_line_data
(
75
core::Size
const
residue_num
,
76
std::string
const
atom_name
,
77
core::Real
const
PCS_experimental
,
78
core::Real
const
PCS_tolerance
79
);
80
81
core::Size
82
residue_num
()
const
;
83
84
std::string
85
atom_name
()
const
;
86
87
core::Real
88
PCS_experimental
()
const
;
89
90
core::Real
91
PCS_tolerance
()
const
;
92
93
friend
std::ostream &
94
operator<<
(std::ostream& out,
const
PCS_line_data
&PCS_l_d);
95
96
private
:
97
core::Size
const
residue_num_
;
98
std::string
const
atom_name_
;
99
core::Real
const
PCS_experimental_
;
100
core::Real
const
PCS_tolerance_
;
101
};
102
103
104
//////////////////////////////////////////////////////////
105
/// @brief PCS_file_data contain all the information of a .npc file
106
/// one per lanthanide.
107
class
PCS_file_data
{
108
private
:
109
std::string
const
filename_
;
110
utility::vector1<PCS_line_data>
PCS_data_line_all_
;
111
core::Real
const
weight_
;
112
113
void
114
read_PCS_file
();
115
116
public
:
117
private
:
118
PCS_file_data
();
119
public
:
120
~PCS_file_data
();
121
122
PCS_file_data
(
PCS_file_data
const
& other);
123
124
PCS_file_data
&
125
operator=
(
PCS_file_data
const
& other );
126
127
PCS_file_data
(
std::string
const
&
filename
,
core::Real
const
my_weight );
128
129
std::string
130
get_filename
()
const
;
131
132
core::Real
133
get_weight
()
const
;
134
135
utility::vector1<PCS_line_data>
&
136
get_PCS_data_line_all_reference
();
137
138
friend
std::ostream &
139
operator<<
(std::ostream& out,
const
PCS_file_data
&PCS_f_d);
140
};
141
142
143
//////////////////////////////////////////////////////////////
144
/// @brief PCS_data_input contain all the input information for the PCS.
145
/// This includes all the information from the .npc files
146
class
PCS_data_input
{
147
private
:
148
std::map< std::string, PCS_file_data >
PCS_filename_and_data_
;
149
150
public
:
151
PCS_data_input
();
152
153
~PCS_data_input
();
154
155
PCS_data_input
(
PCS_data_input
const
& other);
156
157
PCS_data_input
&
158
operator=
(
PCS_data_input
const
& other );
159
160
PCS_data_input
(
utility::vector1<std::string>
const
& filenames,
utility::vector1<core::Real>
const
& weight);
161
162
std::map< std::string, PCS_file_data > &
163
get_PCS_data_input_reference
();
164
165
friend
std::ostream &
166
operator<<
(std::ostream& out,
const
PCS_data_input
&PCS_d_i);
167
168
};
169
170
class
PCS_data_input_manager
{
171
172
private
:
173
PCS_data_input_manager
();
174
175
static
PCS_data_input_manager
*
instance_
;
176
std::map<std::string, PCS_data_input>
file_2_data_map_
;
177
178
public
:
179
static
180
PCS_data_input_manager
*
181
get_instance
();
182
183
PCS_data_input
184
get_input_data
(
utility::vector1<std::string>
const
& filenames,
utility::vector1<core::Real>
const
& vec_weight);
185
};
186
187
188
189
190
}
//namespace pcs
191
}
//namespace methods
192
}
//namespace scoring
193
}
//namespace protocols
194
195
#endif
Generated on Sat Jun 1 2013 12:10:50 for Rosetta 3.5 by
1.8.4