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
noesy_assign
Resonance.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 CrossPeakList.hh
11
/// @author Oliver Lange
12
13
#ifndef INCLUDED_protocols_noesy_assign_Resonance_hh
14
#define INCLUDED_protocols_noesy_assign_Resonance_hh
15
16
17
// Unit Headers
18
#include <
protocols/noesy_assign/Resonance.fwd.hh
>
19
20
// Package Headers
21
#include <
protocols/noesy_assign/FoldResonance.fwd.hh
>
22
#include <
protocols/noesy_assign/PeakCalibrator.fwd.hh
>
23
24
// Project Headers
25
#include <utility/pointer/ReferenceCount.hh>
26
#include <
core/chemical/AA.hh
>
27
#include <
core/types.hh
>
28
#include <
core/id/NamedAtomID.hh
>
29
30
// Utility headers
31
#include <utility/vector1.hh>
32
33
//// C++ headers
34
#include <deque>
35
36
namespace
protocols {
37
namespace
noesy_assign {
38
/*! @detail
39
Resonance combines resonanceID (label), chemical shift (freq), tolerance (error), and the assigned atom (atom, name, resid)
40
(provided accessor methods of "Resonance": label, atom, resid, name, freq, error, tolerance, calibration_atom_type )
41
*/
42
43
class
Resonance
:
public
utility::pointer::ReferenceCount
{
44
public
:
45
Resonance
();
46
Resonance
(
core::Size
label
,
core::Real
freq
,
core::Real
error
,
core::id::NamedAtomID
const
&
id
,
core::chemical::AA
,
core::Real
intensity
= 1.0 );
47
~Resonance
();
48
49
virtual
ResonanceOP
clone
() {
50
return
new
Resonance
( *
this
);
51
}
52
53
///@brief output
54
virtual
void
write_to_stream
( std::ostream& )
const
;
55
56
virtual
void
write_to_stream
( std::ostream&,
core::chemical::AA
aa
)
const
;
57
58
///@brief ResonanceID
59
core::Size
label
()
const
{
return
label_
; }
60
61
///@brief Atom
62
core::id::NamedAtomID
const
&
atom
()
const
{
return
atom_
; }
63
core::Size
resid
()
const
{
return
atom_
.
rsd
(); }
64
std::string
const
&
name
()
const
{
return
atom_
.
atom
(); }
65
bool
is_proton
()
const
{
return
is_proton_
; }
66
///@brief resonance frequency (chemical shift)
67
core::Real
freq
()
const
{
return
freq_
; }
68
core::Real
error
()
const
{
return
error_
; }
69
core::Real
tolerance
()
const
{
return
error_
; }
70
71
///@brief Resonance matches the given cross-peaks frequency
72
bool
match
(
core::Real
freq,
core::Real
error,
FoldResonance
const
& folder )
const
{
73
return
pmatch
( freq, error, folder ) <= 1.0;
74
}
75
76
virtual
core::Real
pmatch
(
core::Real
freq,
core::Real
error,
FoldResonance
const
& folder )
const
;
77
78
void
combine
( std::deque< ResonanceOP >& last_resonances,
bool
drain );
79
80
core::chemical::AA
aa
()
const
{
return
aa_
; }
81
///@brief in ILV-labelled proteins, the both LV methyls are labelled randomly with 50% probability,
82
/// whereas I delta methyls are labelled 100%
83
core::Real
intensity
()
const
{
return
intensity_
; }
84
void
set_intensity
(
core::Real
setting ) {
85
intensity_
= setting;
86
}
87
88
///@brief classification for calibration... e.g., Backbone, sidechain, etc..
89
CALIBRATION_ATOM_TYPE
calibration_atom_type
()
const
{
return
calibration_atom_type_
; }
90
91
core::Real
_pmatch
(
core::Real
freq,
core::Real
error,
FoldResonance
const
& folder )
const
;
92
93
private
:
94
void
_write_to_stream
( std::ostream& )
const
;
95
core::Size
label_
;
96
core::Real
freq_
;
97
core::Real
error_
;
98
bool
is_proton_
;
99
core::id::NamedAtomID
atom_
;
100
core::chemical::AA
aa_
;
101
core::Real
intensity_
;
102
CALIBRATION_ATOM_TYPE
calibration_atom_type_
;
103
};
104
105
}
106
}
107
#endif
Generated on Sat Jun 1 2013 12:01:36 for Rosetta 3.5 by
1.8.4