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
nonlocal
SheetTranslate.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 protocols/nonlocal/SheetTranslate.hh
11
/// @author Christopher Miles (cmiles@uw.edu)
12
13
#ifndef INCLUDED_protocols_nonlocal_SheetTranslate_HH
14
#define INCLUDED_protocols_nonlocal_SheetTranslate_HH
15
16
// Unit header
17
#include <
protocols/nonlocal/SheetTranslate.fwd.hh
>
18
19
// C/C++ headers
20
#include <string>
21
22
// Project headers
23
#include <
core/pose/Pose.fwd.hh
>
24
#include <
protocols/loops/Loop.hh
>
25
// AUTO-REMOVED #include <protocols/loops/Loops.hh>
26
27
// Package headers
28
#include <
protocols/moves/Mover.hh
>
29
30
//Auto Headers
31
#include <
protocols/loops/Loops.fwd.hh
>
32
#include <utility/vector1.hh>
33
34
35
namespace
protocols {
36
namespace
nonlocal {
37
38
/// @class A simple protocol for translating a contiguous stretch of residues along
39
/// the axis defined by its first and last residues. Makes no assumptions about the
40
/// kinematics of the system.
41
///
42
/// TODO(cmiles) Consider having the user define the axis of translation.
43
/// TODO(cmiles) Improved handling of curved sheets
44
class
SheetTranslate
:
public
moves::Mover
{
45
public
:
46
SheetTranslate
();
47
SheetTranslate
(
const
protocols::loops::Loop
&
sheet
,
double
distance_ang);
48
49
/// @brief Translates the sheet by the specified distance (in Angstroms)
50
void
apply
(
core::pose::Pose
& pose);
51
52
/// @brief Returns the protocol's name
53
std::string
get_name
()
const
;
54
55
/// @brief Creates a new instance with the copy constructor
56
moves::MoverOP
clone
()
const
;
57
58
/// @brief Creates a new instance with the default constructor
59
moves::MoverOP
fresh_instance
()
const
;
60
61
/// @brief Returns the sheet to be modified
62
const
protocols::loops::Loop
&
get_sheet
()
const
;
63
64
/// @brief Returns the distance (in Angstroms) to translate the sheet
65
double
get_distance
()
const
;
66
67
/// @brief Updates the sheet to be modified
68
void
set_sheet
(
const
protocols::loops::Loop
& sheet);
69
70
/// @brief Updates the distance (in Angstroms) to translate the sheet
71
void
set_distance
(
double
distance_ang);
72
73
private
:
74
/// @brief Shared initialization routine
75
void
initialize
(
const
protocols::loops::Loop
& sheet,
double
distance
);
76
77
/// @brief Returns true if this instance is valid and fully configured
78
bool
is_valid
()
const
;
79
80
/// @brief Partitions the structure such that the sheet to be translated
81
/// belongs to its own chunk, which will be subsequently connected to the
82
/// star fold tree by its own jump
83
void
decompose_structure
(
unsigned
num_residues,
protocols::loops::Loops
* chunks)
const
;
84
85
/// @brief Searches chunks for the member representing the sheet, returning its index
86
unsigned
jump_containing_sheet
(
const
protocols::loops::Loops
& chunks)
const
;
87
88
/// @brief Stretch of contiguous residues representing the sheet to be rotated
89
protocols::loops::Loop
sheet_
;
90
91
/// @brief Distance to translate the sheet in Angstroms
92
double
distance_
;
93
};
94
95
}
// namespace nonlocal
96
}
// namespace protocols
97
98
#endif
Generated on Sat Jun 1 2013 12:01:44 for Rosetta 3.5 by
1.8.4