Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RemodelData.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_forge_remodel_RemodelData_hh
11 #define INCLUDED_protocols_forge_remodel_RemodelData_hh
12 
13 
14 #include <protocols/loops/Loops.hh>
15 #include <core/pose/Pose.hh>
17 #include <core/chemical/AA.hh>
18 
19 #include <ObjexxFCL/FArray1D.fwd.hh>
20 
21 #include <utility/vector1.hh>
22 
23 
24 
25 namespace protocols{
26 namespace forge{
27 namespace remodel{
28 
29  struct LineObject
30  {
31  int index;
38  std::vector<std::string> constraint_definition;
39  std::vector<core::chemical::AA> aminoAcidList;
40  };
41 
42  // this class stores information in the blueprint file
44  {
45  public:
46 
47  //constructor
48  RemodelData();
49 
52 
53  // need this for "." switch to find remodel regions
55 
57 
58  // merge the dssp assignment with ss string, exclude ".",
59  // gets the final dssp_updated_ss for fragment pick
61 
62  // 1 is fully auto, 2 is semi-auto (only design rebuilt and no neighbors,
63  // 3 is manual which require resfile like assignments
64  bool has_design_info_; //essential
65 
66  int pdb_start;
67  int pdb_stop;
68 
69  int design_mode; // maybe defunct
70 
71  bool auto_design; // maybe defunct
72  bool design_neighbor; // maybe defunct
73 
75 
76  std::vector<protocols::forge::remodel::LineObject> blueprint;
77 
78  std::vector<core::Size> disulfMobileRange;
79  std::vector<core::Size> disulfLandingRange;
80 
82 
83  //insertion related below
87 
91  void splitString(std::string str, std::string delim, std::vector<std::string> & results);
92  void updateWithDsspAssignment(ObjexxFCL::FArray1D_char & dsspSS);
93 
94  void collectInsertionPose();
95  };
96 }
97 }
98 }
99 
100 #endif