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
coarse_rna
CoarseRNA_Fragments.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
// CVS information:
4
// $Revision: 1.1.2.1 $
5
// $Date: 2005/11/07 21:05:35 $
6
// $Author: rhiju $
7
// (c) Copyright Rosetta Commons Member Institutions.
8
// (c) This file is part of the Rosetta software suite and is made available under license.
9
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
10
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
11
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
12
13
#ifndef INCLUDED_protocols_coarse_rna_CoarseRNA_Fragments_HH
14
#define INCLUDED_protocols_coarse_rna_CoarseRNA_Fragments_HH
15
16
#include <
protocols/rna/RNA_Fragments.hh
>
17
#include <
protocols/toolbox/AllowInsert.fwd.hh
>
18
// AUTO-REMOVED #include <protocols/rna/RNA_MatchType.hh>
19
#include <
core/pose/Pose.fwd.hh
>
20
#include <
core/pose/MiniPose.hh
>
21
#include <
core/types.hh
>
22
#include <utility/pointer/ReferenceCount.hh>
23
#include <utility/vector1.hh>
24
25
// C++ Headers
26
#include <string>
27
#include <map>
28
#include <vector>
29
30
31
/////////////////////////////////////////////////////////////////////////////////////
32
/////////////////////////////////////////////////////////////////////////////////////
33
// Goal: to make a fragment object that can choose fragments
34
// "on the fly" for RNA ab inito folding.
35
//
36
// After reading in a set of torsions from, e.g., the ribosome crystal structure,
37
// should be able to generate fragments of size 1, 2, or 3, with
38
// exact sequence matches, partial Y/R matches, or ignoring sequence.
39
//
40
namespace
protocols{
41
namespace
coarse_rna{
42
43
typedef
std::pair< std::string, std::string >
SequenceSecStructPair
;
44
45
class
SourcePositions
:
public
utility::pointer::ReferenceCount
{
46
47
public
:
48
49
SourcePositions
(){}
50
virtual
~SourcePositions
();
51
core::Size
size
()
const
{
return
source_positions_
.size(); }
52
void
push_back
(
core::Size
const
& value ){
source_positions_
.push_back( value ); }
53
core::Size
operator[]
(
core::Size
num ){
return
source_positions_
[ num ]; }
54
55
private
:
56
57
utility::vector1< core::Size >
source_positions_
;
58
59
};
60
61
typedef
utility::pointer::owning_ptr< SourcePositions >
SourcePositionsOP
;
62
63
64
/////////////////////////////////////////////////////////////////////////////////////////////////
65
class
CoarseRNA_Fragments
:
public
protocols::rna::RNA_Fragments
{
66
public
:
67
68
//Constructor -- needs vall_torsions_file to get started.
69
// CoarseRNA_Fragments();
70
CoarseRNA_Fragments
(
std::string
const
&
filename
);
71
virtual
~CoarseRNA_Fragments
();
72
73
virtual
void
74
apply_random_fragment
(
75
core::pose::Pose
& pose,
76
core::Size
const
position,
77
core::Size
const
size
,
78
core::Size
const
type,
79
protocols::toolbox::AllowInsertOP
allow_insert );
80
81
virtual
bool
82
is_fullatom
();
83
84
private
:
85
86
void
87
insert_fragment
(
88
core::pose::Pose
& pose,
89
Size
const
& insert_res,
90
Size
const
& source_res,
91
Size
const
& frag_size,
92
protocols::toolbox::AllowInsertOP
allow_insert );
93
94
void
95
find_source_positions
(
SequenceSecStructPair
const
& key );
96
97
Size
98
pick_random_fragment
(
99
std::string
const
RNA_string,
100
std::string
const
RNA_secstruct_string,
101
Size
const
type
/* = MATCH_YR */
);
102
103
Size
104
pick_random_fragment
(
105
core::pose::Pose
& pose,
106
Size
const
position,
107
Size
const
size,
108
Size
const
type );
109
110
void
111
initialize_frag_source_pose
();
112
113
std::string
frag_source_secstruct_
;
114
115
std::string
const
frag_source_file_
;
116
core::pose::MiniPoseOP
frag_source_pose_
;
117
std::map< SequenceSecStructPair, SourcePositionsOP >
source_positions_map_
;
118
119
std::map< std::string, Size >
coarse_rna_name_to_num_
;
120
};
121
122
/////////////////////////////////////////////////////////////////////////////////////////////////
123
/////////////////////////////////////////////////////////////////////////////////////////////////
124
125
126
}
127
}
128
129
#endif
Generated on Sat Jun 1 2013 11:45:14 for Rosetta 3.5 by
1.8.4