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
loops
util.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
#ifndef INCLUDED_protocols_loops_util_hh
11
#define INCLUDED_protocols_loops_util_hh
12
13
// Project headers
14
#include <
core/types.hh
>
15
#include <
core/fragment/FragSet.fwd.hh
>
16
#include <
core/fragment/SecondaryStructure.fwd.hh
>
17
#include <
core/pose/Pose.fwd.hh
>
18
#include <
core/scoring/ScoreFunction.fwd.hh
>
19
20
// Package headers
21
#include <
protocols/loops/Loops.fwd.hh
>
22
23
#include <utility/vector1.hh>
24
#include <string>
25
26
namespace
protocols {
27
namespace
loops {
28
29
//@brief adds coord constraints for the atoms that are not in the loops structure
30
void
fix_with_coord_cst
(
loops::Loops
const
& rigid,
core::pose::Pose
& pose,
bool
bCstAllAtom,
utility::vector1< core::Real >
& );
31
32
///@brief get frags that are fully within the Loop --- shorten(=true/false) frags that are close to the end of loops.
33
extern
void
select_loop_frags
(
34
loops::Loops
const
& loops,
35
core::fragment::FragSet
& source,
36
core::fragment::FragSet
& loop_frags,
37
core::Size
min_size = 1
/* set to 0 if you don't want to shorten at all */
38
);
39
40
void
set_extended_torsions_and_idealize_loops
(
core::pose::Pose
& pose,
loops::Loops
loops );
41
42
/// @brief Identical to set_extended_torsions_and_idealize_loops() without the irrational
43
/// behavior surrounding empty loops.
44
void
safe_set_extended_torsions_and_idealize_loops
(
const
protocols::loops::Loops
& loops,
45
core::pose::Pose
* pose);
46
47
void
addScoresForLoopParts
(
48
core::pose::Pose
& pose,
49
loops::Loops
loops,
50
const
core::scoring::ScoreFunction
&scorefxn,
51
core::pose::Pose
& native_pose,
core::Size
nloops
52
);
53
54
loops::Loops
compute_ss_regions
(
55
core::Real
max_loop_frac,
56
core::Size
min_length,
57
core::fragment::SecondaryStructure
const
& ss
58
);
59
60
core::scoring::ScoreFunctionOP
get_fa_scorefxn
();
61
core::scoring::ScoreFunctionOP
get_cen_scorefxn
();
62
63
void
add_coordinate_constraints_to_pose
(
core::pose::Pose
& pose,
const
core::pose::Pose
&constraint_target_pose,
protocols::loops::Loops
&exclude_regions );
64
65
/// loop_str has the format: start:end:cut,start:end:cut and can use rosetta or pdb numbering. The return value is an owning pointer to a Loops object encoding that loop
66
LoopsOP
67
loops_from_string
(
std::string
const
loop_str,
core::pose::Pose
const
& pose );
68
69
// this function will return a bunch of "loops" that refer to residues that are considered part of the core:
70
// not scored are loops with 4 or more residues, short helices (<=5) that terminate a loop are not scored, too
71
void
define_scorable_core_from_secondary_structure
(
core::fragment::SecondaryStructure
const
&,
protocols::loops::Loops
& score_core );
72
73
/// @brief Extract secondary structure chunks from the pose, using multiple secondary structure types
74
/// this function requires that the pose object already have secstruct information
75
/// to get this information from structure (DSSP), call
76
/// protocols::jumping::Dssp dssp_obj( *pose ); dssp_obj.insert_ss_into_pose( *pose );
77
/// or from secondary structure prediction (psipred_ss2 file), call
78
/// core::pose::read_psipred_ss2_file(pose);
79
protocols::loops::Loops
extract_secondary_structure_chunks
(
core::pose::Pose
const
& pose,
80
std::string
extracted_ss_types =
"HE"
,
81
core::Size
gap_size = 1,
82
core::Size
minimum_length_of_chunk_helix = 5,
83
core::Size
minimum_length_of_chunk_strand = 3,
84
core::Real
CA_CA_distance_cutoff = 4);
85
86
/// @brief Extract secondary structure chunks from the pose, using a given secondary structure type
87
protocols::loops::Loops
extract_secondary_structure_chunks
(
core::pose::Pose
const
& pose,
88
char
const
extracted_ss_type);
89
90
protocols::loops::Loops
split_by_resSeq
(
core::pose::Pose
const
& pose);
91
protocols::loops::Loops
split_by_resSeq
(
core::pose::Pose
const
& pose,
92
protocols::loops::Loops
const
& input_chunks);
93
94
protocols::loops::Loops
find_non_protein_chunks
(
core::pose::Pose
const
& pose);
95
96
// TODO(cmiles) deduplicate
97
/// @brief Split into separate chunks if CA-CA distance is over the cutoff
98
protocols::loops::Loops
split_by_ca_ca_dist
(
core::pose::Pose
const
& pose,
99
protocols::loops::Loops
const
& input_chunks,
100
core::Real
const
CA_CA_distance_cutoff = 4);
101
102
/// @brief If two chunks are separated by a small gap of size <= <gap_size>, combine them
103
protocols::loops::Loops
remove_small_gaps
(
protocols::loops::Loops
const
& input_chunks,
core::Size
gap_size = 1);
104
105
/// @brief Remove small chunks
106
protocols::loops::Loops
remove_short_chunks
(
protocols::loops::Loops
const
& input_chunks,
core::Size
min_length = 3);
107
108
protocols::loops::Loops
extract_continuous_chunks
(
core::pose::Pose
const
& pose,
109
core::Size
const
minimum_size = 3,
110
core::Real
const
CA_CA_distance_cutoff = 4);
111
112
}
//loops
113
}
//protocols
114
115
#endif
Generated on Sat Jun 1 2013 11:32:20 for Rosetta 3.5 by
1.8.4