Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
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 
46 
47  public:
48 
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 ); }
54 
55  private:
56 
58 
59  };
60 
62 
63 
64  /////////////////////////////////////////////////////////////////////////////////////////////////
66  public:
67 
68  //Constructor -- needs vall_torsions_file to get started.
69  // CoarseRNA_Fragments();
71  virtual ~CoarseRNA_Fragments();
72 
73  virtual void
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
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
96 
97  Size
99  std::string const RNA_string,
100  std::string const RNA_secstruct_string,
101  Size const type /* = MATCH_YR */);
102 
103  Size
105  core::pose::Pose & pose,
106  Size const position,
107  Size const size,
108  Size const type );
109 
110  void
112 
114 
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