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
HybridizeProtocol.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 Add constraints to the current pose conformation.
12
/// @author Yifan Song
13
14
#ifndef INCLUDED_protocols_hybridization_HybridizeProtocol_hh
15
#define INCLUDED_protocols_hybridization_HybridizeProtocol_hh
16
17
#include <
protocols/hybridization/HybridizeProtocol.fwd.hh
>
18
#include <
protocols/hybridization/FoldTreeHybridize.hh
>
19
20
#include <
protocols/moves/Mover.hh
>
21
22
#include <
protocols/loops/Loops.hh
>
23
24
#include <
core/pose/Pose.fwd.hh
>
25
#include <
core/scoring/constraints/ConstraintSet.fwd.hh
>
26
#include <
core/fragment/FragSet.fwd.hh
>
27
#include <
core/sequence/SequenceAlignment.fwd.hh
>
28
#include <
core/sequence/SequenceAlignment.hh
>
29
#include <
core/pack/task/TaskFactory.fwd.hh
>
30
31
#include <utility/file/FileName.hh>
32
33
namespace
protocols {
34
namespace
hybridization {
35
36
class
HybridizeProtocol
:
public
protocols::moves::Mover
{
37
38
public
:
39
HybridizeProtocol
();
40
//HybridizeProtocol(std::string template_list_file);
41
42
void
init
();
43
44
void
read_template_structures
(
utility::file::FileName
template_list);
45
void
read_template_structures
(
utility::vector1 < utility::file::FileName >
const
& template_filenames);
46
void
add_template
(
47
std::string
template_fn,
48
std::string
cst_fn,
49
std::string
symmdef_file,
50
core::Real
weight = 1.,
51
core::Real
domain_assembly_weight = 0.,
52
core::Size
cluster_id = 1,
53
utility::vector1<core::Size>
cst_reses =
utility::vector1<core::Size>
(0) );
54
55
void
pick_starting_template
(
core::Size
& initial_template_index,
56
core::Size
& initial_template_index_icluster,
57
utility::vector1 < core::Size >
& template_index_icluster,
58
utility::vector1 < core::pose::PoseOP >
& templates_icluster,
59
utility::vector1 < core::Real >
& weights_icluster,
60
utility::vector1 < protocols::loops::Loops >
& template_chunks_icluster,
61
utility::vector1 < protocols::loops::Loops >
& template_contigs_icluster);
62
63
utility::vector1 <Loops>
64
expand_domains_to_full_length
(
utility::vector1
<
utility::vector1 < Loops >
> all_domains,
Size
ref_domains_index,
Size
n_residues);
65
66
void
67
align_by_domain
(
utility::vector1<core::pose::PoseOP>
& poses,
utility::vector1 < Loops >
domains,
core::pose::PoseOP
& ref_pose);
68
69
void
70
align_by_domain
(
core::pose::Pose
& pose,
core::pose::Pose
const
& ref_pose,
utility::vector1 <Loops>
domains);
71
72
//fpd optionally do not hybridize in stage 1
73
void
74
initialize_and_sample_loops
(
75
core::pose::Pose
&pose,
76
core::pose::PoseOP
chosen_templ,
77
protocols::loops::Loops
template_contigs_icluster,
78
core::scoring::ScoreFunctionOP
scorefxn);
79
80
// check fragments ... if they do not exist dynamically allocate them
81
void
check_and_create_fragments
(
Pose
& );
82
83
virtual
void
apply
(
Pose
& );
84
virtual
std::string
get_name
()
const
;
85
86
virtual
protocols::moves::MoverOP
clone
()
const
;
87
virtual
protocols::moves::MoverOP
fresh_instance
()
const
;
88
89
virtual
void
90
parse_my_tag
(
TagPtr
const
,
DataMap
&,
Filters_map
const
&,
Movers_map
const
&,
Pose
const
& );
91
92
private
:
93
// parsible options
94
utility::vector1 < core::Size >
starting_templates_
;
95
core::Real
stage1_probability_
,
stage1_increase_cycles_
,
stage2_increase_cycles_
;
96
core::Size
stage1_1_cycles_
,
stage1_2_cycles_
,
stage1_3_cycles_
,
stage1_4_cycles_
;
97
// 1mer fragment insertion weight where fragments are not allowed (across anchors) , vs. chunk insertion + big and small frags
98
core::Real
frag_1mer_insertion_weight_
;
99
// small fragment insertion weight where big fragments are not allowed (across anchors) , vs. chunk insertion + big frags
100
core::Real
small_frag_insertion_weight_
;
101
core::Real
big_frag_insertion_weight_
;
// fragment insertion weight, vs. chunk insertion + small gap frags
102
core::Real
frag_weight_aligned_
;
// fragment insertion to the aligned region, vs. unaligned region
103
bool
auto_frag_insertion_weight_
;
// automatically set fragment insertion weights
104
core::Size
max_registry_shift_
;
105
bool
domain_assembly_
,
add_hetatm_
,
realign_domains_
,
realign_domains_stage2_
,
add_non_init_chunks_
,
no_global_frame_
,
linmin_only_
;
106
core::Real
hetatm_cst_weight_
;
107
core::scoring::ScoreFunctionOP
stage1_scorefxn_
,
stage2_scorefxn_
,
fa_scorefxn_
;
108
std::string
fa_cst_fn_
;
109
std::string
disulf_file_
;
110
core::Size
cartfrag_overlap_
;
111
112
// ddomain options
113
core::Real
pcut_
,
hcut_
;
114
core::Size
length_
;
115
116
// relax
117
core::Size
batch_relax_
,
relax_repeats_
;
118
119
// abinitio frag9,frag3 flags
120
utility::vector1 <core::fragment::FragSetOP>
fragments_big_
;
// 9mers/fragA equivalent in AbrelaxApplication
121
utility::vector1 <core::fragment::FragSetOP>
fragments_small_
;
// 3mers/fragB equivalent in AbrelaxApplication
122
123
// native pose, aln
124
core::pose::PoseOP
native_
;
125
core::sequence::SequenceAlignmentOP
aln_
;
126
127
// template information (all from hybrid.config)
128
utility::vector1 < core::pose::PoseOP >
templates_
;
129
utility::vector1 < std::string >
template_fn_
;
130
utility::vector1 < std::string >
template_cst_fn_
;
131
utility::vector1 < std::string >
symmdef_files_
;
132
utility::vector1 < core::Real >
template_weights_
;
133
utility::vector1 < core::Real >
domain_assembly_weights_
;
134
utility::vector1 < core::Size >
template_clusterID_
;
135
utility::vector1 < protocols::loops::Loops >
template_chunks_
;
136
utility::vector1 < protocols::loops::Loops >
template_contigs_
;
137
utility::vector1 < utility::vector1<core::Size>
>
template_cst_reses_
;
138
core::Real
template_weights_sum_
;
139
std::map< Size, utility::vector1 < Size > >
clusterID_map_
;
140
141
utility::vector1< protocols::loops::Loops >
domains_
;
142
143
// strand pairings
144
std::string
pairings_file_
;
145
utility::vector1<core::Size>
sheets_
;
146
utility::vector1<core::Size>
random_sheets_
;
147
bool
filter_templates_
;
148
utility::vector1< std::pair< core::Size, core::Size >
>
strand_pairs_
;
149
150
};
151
152
}
// hybridization
153
}
// protocols
154
155
#endif
Generated on Sat Jun 1 2013 11:53:56 for Rosetta 3.5 by
1.8.4