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
star
Extender.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/star/Extender.hh
11
/// @author Christopher Miles (cmiles@uw.edu)
12
13
#ifndef INCLUDED_PROTOCOLS_STAR_EXTENDER_HH
14
#define INCLUDED_PROTOCOLS_STAR_EXTENDER_HH
15
16
// External headers
17
#include <boost/utility.hpp>
18
19
// Utility headers
20
#include <utility/vector1.hh>
21
22
// Project headers
23
#include <
core/fragment/SecondaryStructure.hh
>
24
#include <
core/pose/Pose.fwd.hh
>
25
#include <
core/sequence/SequenceAlignment.fwd.hh
>
26
#include <
protocols/loops/Loops.hh
>
27
28
namespace
protocols {
29
namespace
star {
30
31
class
Extender
:
private
boost::noncopyable {
32
public
:
33
Extender
(
core::sequence::SequenceAlignmentCOP
alignment,
int
num_residues);
34
35
/// @detail Sets unaligned residues' torsion angles to their extended values
36
/// and idealizes bond lengths and angles. The placement of unaligned residues
37
/// depends on the number of residues separating the adjacent aligned regions.
38
///
39
/// Given aligned regions a_1 and a_2 with (a_1.start < a_2.start):
40
///
41
/// If (a_2.start - a_1.stop) <= -abinitio:star:short_loop_len, the unaligned
42
/// residues are grown off a_1.stop. Otherwise, a stochastically selected
43
/// portion of the residues are grown off a_1.stop and the remainder grown off
44
/// a_2.start. In both cases, the method is responsible for noting the interior
45
/// cutpoints it selected.
46
void
extend_unaligned
(
core::pose::Pose
* pose);
47
48
/// @brief Returns the unaligned regions in increasing order of start position
49
protocols::loops::LoopsCOP
unaligned
()
const
{
50
return
unaligned_
;
51
}
52
53
/// @brief Returns the aligned regions in increasing order of start position
54
protocols::loops::LoopsCOP
aligned
()
const
{
55
return
aligned_
;
56
}
57
58
/// @brief Returns a set of suggested cutpoints for star fold tree construction
59
/// based on information gathered during extend_unaligned().
60
const
utility::vector1<int>
&
cutpoints
()
const
{
61
return
cutpoints_
;
62
}
63
64
/// @brief Updates predicted secondary structure, improving cutpoint selection
65
void
set_secondary_structure
(
core::fragment::SecondaryStructureCOP
pred_ss) {
66
pred_ss_
= pred_ss;
67
}
68
69
protected
:
70
/// @detail Selects a cutpoint on the closed interval [start, stop] using
71
/// weighted reservoir sampling. Each residue's weight is proportional to its
72
/// likelihood of being a loop.
73
int
choose_cutpoint
(
int
start
,
int
stop
)
const
;
74
75
private
:
76
core::sequence::SequenceAlignmentCOP
alignment_
;
77
protocols::loops::LoopsOP
unaligned_
;
78
protocols::loops::LoopsOP
aligned_
;
79
int
num_residues_
;
80
81
core::fragment::SecondaryStructureCOP
pred_ss_
;
82
utility::vector1<int>
cutpoints_
;
83
};
84
85
}
// namespace star
86
}
// namespace protocols
87
88
#endif // PROTOCOLS_ABINITIO_STAR_EXTENDER_HH_
Generated on Sat Jun 1 2013 12:18:31 for Rosetta 3.5 by
1.8.4