Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Translate.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 core/pack/task/ResfileReader.hh
11 /// @brief header of classes for resfile options
12 /// @author Gordon Lemmon
13 
14 #ifndef INCLUDED_protocols_ligand_docking_Translate_hh
15 #define INCLUDED_protocols_ligand_docking_Translate_hh
16 
17 // Unit Headers
18 #include <protocols/moves/Mover.hh>
21 
22 // Scripter Headers
23 #include <utility/tag/Tag.fwd.hh>
26 
27 //// Scoring grid headers
28 // AUTO-REMOVED #include <protocols/qsar/scoring_grid/GridManager.fwd.hh>
29 
30 //// Project Headers
31 // AUTO-REMOVED #include <core/pose/Pose.hh>
32 // AUTO-REMOVED #include <core/grid/CartGrid.hh>
33 #include <utility/vector1.hh>
34 
35 #include <set>
36 
38 
39 
40 ///////////////////////////////////////////////////////////////////////
41 
42 namespace protocols {
43 namespace ligand_docking {
44 
45 struct Translate_info{ // including default values
46 
47 public:
53  bool force;
55 };
56 
58 {
59 public:
60  Translate();
61  Translate(Translate_info translate_info);
62  virtual ~Translate();
63  Translate(Translate const & that);
64 
65  virtual protocols::moves::MoverOP clone() const;
67  virtual std::string get_name() const;
68 
69  void parse_my_tag(
70  utility::tag::TagPtr const tag,
71  protocols::moves::DataMap & data_map,
74  core::pose::Pose const &
75  );
76 
77  void apply(core::pose::Pose & pose);
78 
81  std::set<core::Size>::const_iterator begin,
82  std::set<core::Size>::const_iterator end
83  );
84 
85 private:
88  utility::vector1<core::Size> chain_ids_to_exclude_; // these are invisible the translation grid, so ligand can land on top.
89  std::vector<core::Size> tag_along_jumps_; // these guys tag along, such as waters and metals
90 
91  void translate_ligand(
93  core::Size const jump_id,
94  core::pose::Pose & pose
95  );
96 
97  void translate_ligand(core::Size const jump_id,core::pose::Pose & pose, core::Size const & residue_id);
98 
101  const core::Size jump_id,
102  core::pose::Pose & pose
103  );
104 
107  const core::Size jump_id,
108  core::pose::Pose & pose
109  );
110 
111 };
112 
113 } //namespace ligand_docking
114 } //namespace protocols
115 
116 #endif