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
simple_moves
carbohydrates
RingConformationMover.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 RingConformationMover.hh
11
/// @brief Declarations and simple accessor/mutator definitions for RingConformationMover.
12
/// @author labonte
13
14
#ifndef INCLUDED_protocols_simple_moves_carbohydrates_RingConformationMover_HH
15
#define INCLUDED_protocols_simple_moves_carbohydrates_RingConformationMover_HH
16
17
// Unit headers
18
#include <
protocols/simple_moves/carbohydrates/RingConformationMover.fwd.hh
>
19
#include <
protocols/moves/Mover.hh
>
20
21
// Project headers
22
#include <
core/types.hh
>
23
#include <
core/id/types.hh
>
24
#include <
core/kinematics/MoveMap.fwd.hh
>
25
26
// Utility headers
27
#include <utility/vector1.fwd.hh>
28
29
// C++ headers
30
#include <string>
31
#include <iostream>
32
33
namespace
protocols {
34
namespace
simple_moves {
35
namespace
carbohydrates {
36
37
/// @details Based on a given MoveMap, this mover selects movable carbohydrate residues and flips their rings to an
38
/// idealized energy minimum ring conformer. Six-membered rings sample chair and twist-boat conformations; five-
39
/// membered rings sample envelope and half-chair. The sampling is biased towards ideally lower-energy conformers.
40
/// @remarks This class is a work in progress....
41
class
RingConformationMover
:
public
moves::Mover
{
42
public
:
43
// Type definitions ////////////////////////////////////////////////////////
44
// A pair defining a ring conformer:
45
// first: the name of the conformer (e.g., 1C4, 1,4B, etc.)
46
// second: a list of torsion angle values defining that conformation
47
// A conformer can be defined by two fewer torsion angles than the size of the ring.
48
typedef
std::pair<std::string, utility::vector1<core::Angle> >
ring_conf_def
;
49
50
// Standard methods ////////////////////////////////////////////////////////
51
/// @brief Default constructor
52
RingConformationMover
();
53
54
/// @brief Copy constructor
55
RingConformationMover
(
RingConformationMover
const
& object_to_copy);
56
57
/// @brief Constructor with MoveMap input option
58
RingConformationMover
(
core::kinematics::MoveMapOP
input_movemap);
59
60
// Assignment operator
61
RingConformationMover
&
operator=
(
RingConformationMover
const
& object_to_copy);
62
63
// Destructor
64
virtual
~RingConformationMover
();
65
66
67
// Standard Rosetta methods ////////////////////////////////////////////////
68
// General methods
69
/// @brief Register options with the option system.
70
static
void
register_options
();
71
72
/// @brief Generate string representation of RingConformationMover for debugging purposes.
73
void
show
(std::ostream & output=std::cout)
const
;
74
75
// Insertion operator (overloaded so that RingConformationMover can be "printed" in PyRosetta).
76
friend
std::ostream &
operator<<
(std::ostream & output,
RingConformationMover
const
& object_to_output);
77
78
79
// Mover methods
80
/// @brief Return the name of the Mover.
81
virtual
std::string
get_name
()
const
;
82
83
virtual
protocols::moves::MoverOP
clone
()
const
;
84
85
virtual
protocols::moves::MoverOP
fresh_instance
()
const
;
86
87
/// @brief Apply the corresponding move to <input_pose>.
88
virtual
void
apply
(
core::pose::Pose
& input_pose);
89
90
91
// Accessors/Mutators
92
/// @brief Get the current MoveMap.
93
core::kinematics::MoveMapCOP
movemap
()
const
;
94
95
/// @brief Set the MoveMap.
96
void
movemap
(
core::kinematics::MoveMapOP
new_movemap);
97
98
private
:
99
// Private methods /////////////////////////////////////////////////////////
100
// Initialize data members from arguments.
101
void
init
(
core::kinematics::MoveMapOP
movemap
);
102
103
// Copy all data members from <object_to_copy_from> to <object_to_copy_to>.
104
void
copy_data
(
RingConformationMover
object_to_copy_to,
RingConformationMover
object_to_copy_from);
105
106
// Setup list of movable carbohydrate residues from MoveMap.
107
void
setup_residue_list
(
core::pose::Pose
& pose);
108
109
110
// Private data ////////////////////////////////////////////////////////////
111
core::kinematics::MoveMapOP
movemap_
;
112
utility::vector1<core::Size>
residue_list_
;
// list of movable carbohydrate residues by residue number
113
114
// Lists of conformation defintions
115
utility::vector1<ring_conf_def>
five_membered_ring_conformers_
;
116
utility::vector1<ring_conf_def>
six_membered_ring_conformers_
;
117
118
};
// class RingConformationMover
119
120
}
// namespace carbohydrates
121
}
// namespace simple_moves
122
}
// namespace protocols
123
124
#endif // INCLUDED_simple_moves_protocols_carbohydrates_RingConformationMover_HH
Generated on Sat Jun 1 2013 12:15:16 for Rosetta 3.5 by
1.8.4