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
core
fragment
BBTorsionAndAnglesSRFD.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
// :noTabs=false:tabSize=4:indentSize=4:
4
//
5
// (c) Copyright Rosetta Commons Member Institutions.
6
// (c) This file is part of the Rosetta software suite and is made available under license.
7
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
8
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
9
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
10
11
/// @file core/fragments/BBTorsionandAnglesSRFD.hh
12
/// @brief SRFD that remembers torsion angles as well as arbitrary bond angles
13
/// SO LONG AS THOSE ANGLES ARE ONLY THE N-CA-C BOND ANGLE. CANNOT REPRESENT
14
/// BOND ANGLES TO PREVIOUS OR NEXT RESIDUES.
15
/// @author Florian Richter (floric@u.washington.edu)
16
/// @date all time machine buttons are stuck
17
///
18
#ifndef INCLUDED_core_fragment_BBTorsionAndAnglesSRFD_HH
19
#define INCLUDED_core_fragment_BBTorsionAndAnglesSRFD_HH
20
21
// Unit Headers
22
#include <
core/fragment/BBTorsionSRFD.hh
>
23
24
// Package Headers
25
//#include <core/fragment/Frame.fwd.hh>
26
// AUTO-REMOVED #include <core/id/AtomID.hh>
27
28
// Project Headers
29
//#include <core/pose/Pose.hh>
30
//#include <core/kinematics/MoveMap.fwd.hh>
31
//#include <core/types.hh>
32
33
//#include <core/conformation/Residue.hh> // for ResidueSRFD
34
35
//#include <core/kinematics/types.hh>
36
//#include <core/id/TorsionID.hh>
37
38
// ObjexxFCL Headers
39
40
// Utility headers
41
#include <utility/vector1.hh>
42
//#include <utility/pointer/ReferenceCount.hh>
43
44
// C/C++ headers
45
#include <vector>
46
47
//Auto Headers
48
namespace
core {
49
namespace
fragment {
50
51
//
52
class
BBTorsionAndAnglesSRFD
:
public
BBTorsionSRFD
{
53
typedef
BBTorsionSRFD
Parent
;
54
typedef
std::pair<std::vector<Size>,
Real
>
AngleInfo
;
55
public
:
56
/// @brief default constructor
57
BBTorsionAndAnglesSRFD
() {}
58
59
BBTorsionAndAnglesSRFD
(
utility::vector1< AngleInfo >
& angles_in,
Size
const
nbb_in = 3,
char
secstruct
=
'X'
,
char
sequence
=
'X'
)
60
:
BBTorsionSRFD
(nbb_in,
secstruct
,
sequence
),
angles_
(angles_in)
61
{};
62
63
//
64
SingleResidueFragDataOP
clone
()
const
{
65
return
new
BBTorsionAndAnglesSRFD
( *
this
);
66
};
67
68
/// @brief create a new instance of this object
69
virtual
70
SingleResidueFragDataOP
create
()
const
{
71
return
new
BBTorsionAndAnglesSRFD
();
72
}
73
74
virtual
bool
apply
(
pose::Pose
&,
Size
seq_pos )
const
;
75
76
/// @brief insert backbone torsions and angles into pose at position seqpos
77
/// if all bb torsions are moveable in MoveMap
78
/// @return True if *all* torsions and angles are inserted and superclass apply()
79
/// is successful, otherwise False.
80
/// @remarks This is currently all or nothing -- all torsions for seqpos
81
/// must be moveable because it's not entirely clear what the behavior
82
/// of partial angle insertion is. In addition, DOF_IDs are not made
83
/// explicitly available within this class, meaning there is no way to
84
/// look them up within the MoveMap; the implementation in this class
85
/// must be changed if this is desired.
86
virtual
bool
apply
(
kinematics::MoveMap
const
& movemap,
pose::Pose
& pose,
Size
const
seqpos )
const
;
87
88
virtual
bool
steal
(
pose::Pose
const
&,
Size
seq_pos );
89
virtual
bool
is_compatible
(
SingleResidueFragData
const
& )
const
;
90
virtual
bool
is_applicable
(
kinematics::MoveMap
const
&,
Size
seq_pos )
const
;
91
92
virtual
93
void
show
( std::ostream &out )
const
;
94
95
virtual
96
void
read
( std::istream &in );
97
98
virtual
99
std::string
type
()
const
{
100
// return "BBTorsion";
101
return
_static_type_name
();
102
}
103
104
static
std::string
_static_type_name
() {
105
return
"BBTorsionAndAngles"
;
106
}
107
108
core::Size
109
nangles
()
const
{
110
return
angles_
.size(); }
111
112
private
:
113
utility::vector1< AngleInfo >
angles_
;
114
115
};
116
117
}
//fragment
118
}
//core
119
120
#endif
Generated on Sat Jun 1 2013 11:32:33 for Rosetta 3.5 by
1.8.4