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
hybridization
InsertChunkMover.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
11
/// @brief Align a random jump to template
12
/// @detailed
13
/// @author Yifan Song
14
15
#ifndef INCLUDED_protocols_hybridization_InsertChunkMover_hh
16
#define INCLUDED_protocols_hybridization_InsertChunkMover_hh
17
18
#include <
core/id/AtomID.hh
>
19
#include <
core/id/AtomID_Map.hh
>
20
#include <
core/util/kinematics_util.hh
>
21
#include <
core/fragment/Frame.hh
>
22
#include <
core/fragment/FrameIterator.hh
>
23
#include <
core/pose/Pose.hh
>
24
#include <
core/pose/Pose.fwd.hh
>
25
26
#include <
protocols/moves/Mover.hh
>
27
28
#include <numeric/xyz.functions.hh>
29
30
#include <basic/Tracer.hh>
31
32
#include <set>
33
34
namespace
protocols {
35
namespace
hybridization {
36
37
using namespace
core;
38
39
class
InsertChunkMover
:
public
protocols::moves::Mover
40
{
41
42
public
:
43
44
InsertChunkMover
();
45
~
InsertChunkMover
();
46
47
void
set_bb_xyz_aligned(
core::pose::Pose
& pose);
48
49
bool
success
() {
50
return
success_;
51
}
52
53
void
set_template(
core::pose::PoseCOP
template_pose,
core::Size
template_id,
54
std::map <core::Size, core::Size>
const
& sequence_alignment);
55
56
void
set_aligned_chunk(
core::pose::Pose
const
& pose,
Size
const
jump_number,
bool
anchor_insert_only_in);
57
58
bool
get_local_sequence_mapping(
core::pose::Pose
& pose,
59
int
registry_shift = 0,
60
Size
MAX_TRIAL = 100 );
61
62
void
check_overlap(
core::pose::Pose
& pose);
63
64
void
set_registry_shift(
int
registry_shift);
65
66
Size
trial_counter(
Size
ires);
67
68
void
apply(
core::pose::Pose
& pose);
69
70
std::string
get_name()
const
;
71
72
private
:
73
core::pose::PoseCOP
template_pose_
;
74
core::Size
template_id_
;
75
std::map <core::Size, core::Size>
sequence_alignment_
;
76
int
registry_shift_
;
77
bool
anchor_insert_only_
;
78
79
Size
jump_number_
;
// the jump to be realigned
80
Size
seqpos_start_
;
// start and end seqpose of the chunk, downstream of the jump
81
Size
seqpos_stop_
;
82
Size
seqpos_aligned_start_
;
// start and end seqpose of the aligned piece
83
Size
seqpos_aligned_stop_
;
84
85
bool
success_
;
86
87
// parameters of the protocol
88
bool
align_to_ss_only_
;
// only use the secondary structure portion to align to the template
89
bool
copy_ss_torsion_only_
;
// only copy the secondary structure information from the template
90
91
char
secstruct_
;
92
93
std::map <core::Size, core::Size>
sequence_alignment_local_
;
// with registry shift of the aligned chunk
94
core::id::AtomID_Map< core::id::AtomID >
atom_map_
;
// atom map for superposition
95
utility::vector1 <Size>
align_trial_counter_
;
96
97
};
98
99
}
// hybridization
100
}
// protocols
101
102
#endif
Generated on Sat Jun 1 2013 11:53:59 for Rosetta 3.5 by
1.8.4