Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Ab_TemplateInfo.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 protocls/antibody2/Ab_TemplateInfo.cc
11 /// @brief grafts a cdr onto the template of an antibody framework
12 /// @detailed
13 /// @author Jianqing Xu (xubest@gmail.com)
14 
15 
16 #ifndef INCLUDED_protocols_antibody2_Ab_TemplateInfo_hh
17 #define INCLUDED_protocols_antibody2_Ab_TemplateInfo_hh
18 
19 
21 #include <map>
22 #include <core/pose/Pose.hh>
23 #include <iostream>
24 
25 
26 ///////////////////////////////////////////////////////////////////////////////
27 namespace protocols {
28 namespace antibody2 {
29 using namespace core;
30 
31 /// antibody2 definition
33 
34 public:
35  typedef std::map <std::string, core::pose::Pose> TemplatePoseMap;
36 
37  /// constructors
39  Ab_TemplateInfo(bool load_L1, bool load_L2, bool load_L3,
40  bool load_H1, bool load_H2, bool load_H3) ;
41 
42  Ab_TemplateInfo(bool load_L1, bool load_L2, bool load_L3,
43  bool load_H1, bool load_H2, bool load_H3, bool camelid);
44 
45  void load_templates_from_pdbs(bool load_L1, bool load_L2, bool load_L3,
46  bool load_H1, bool load_H2, bool load_H3, bool camelid);
47 
48  pose::Pose get_one_template_pose(std::string cdr_name);
49  bool is_camelid() { return camelid_; }
50 
51  void show( std::ostream & out=std::cout );
52 // void show( std::ostream & out );
53  friend std::ostream & operator<<(std::ostream& out, const Ab_TemplateInfo & ab_t_info );
54 
55 
56 
57 private:
58  bool load_L1_, load_L2_, load_L3_,
59  load_H1_, load_H2_, load_H3_;
60 
62  pose::Pose L1_t_pose_, L2_t_pose_, L3_t_pose_,
63  H1_t_pose_, H2_t_pose_, H3_t_pose_;
64 // pose::Pose Lfr_t_pose_, Hfr_t_pose_, LightHeavy_t_pose_;
65 
66  void set_default( bool camelid );
67 
68  std::string LightHeavy_t_name_, Lfr_t_name_, Hfr_t_name_;
69  std::string L1_t_name_, L2_t_name_, L3_t_name_,
70  H1_t_name_, H2_t_name_, H3_t_name_;
71 
72  void obtain_templates_names();
73 
74 
75  bool camelid_;
76 
77 
78 
79 
80 
81 };
82 
83 
84 
85 
86 
87 
88 
89 
90 } //namespace antibody2
91 } //namespace protocols
92 
93 
94 
95 
96 
97 #endif
98 
99 
100