Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BatchJobInputter.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 protocols/jd2/BatchJobInputter.hh
11 /// @brief header file for BatchJobInputter class
12 /// @author Oliver Lange
13 
14 
15 #ifndef INCLUDED_protocols_jd2_BatchJobInputter_hh
16 #define INCLUDED_protocols_jd2_BatchJobInputter_hh
17 
18 //unit headers
21 #include <protocols/jd2/Job.hh>
22 
23 //project headers
24 #include <core/pose/Pose.fwd.hh>
25 // AUTO-REMOVED #include <protocols/moves/Mover.fwd.hh>
26 #include <utility/options/OptionCollection.hh>
27 
28 #include <utility/vector1.hh>
29 
30 
31 //utility headers
32 
33 namespace protocols {
34 namespace jd2 {
35 
36 ///@details This is the simplest implementation of JobInputter, which reads from -s/-l and Batch files.
38 {
39 public:
42 
43  virtual ~BatchJobInputter();
44 
45  /// @brief this function is responsible for filling the pose reference with
46  /// the pose indicated by the job. The Job object (within its InnerJob)
47  /// contains a PoseCOP. This function needs to either fill the pose
48  /// reference from the InnerJob or, on first demand of a pose from that
49  /// InnerJob, instantiate the pose, hand off a COP to the InnerJob, and fill
50  /// the reference. This implementation uses pose_from_pdb
51  virtual void pose_from_job( core::pose::Pose & pose, JobOP job ) {
52  check_batch();
53  this_batch_job_inputter_->pose_from_job( pose, job);
54  }
55 
56  /// @brief this function determines what jobs exist from -in::file::silent and
57  /// -in::file::tags.
58  virtual void fill_jobs( Jobs & jobs ) {
59  check_batch();
60  this_batch_job_inputter_->fill_jobs( jobs );
61  }
62 
63  /// @brief Return the type of input source that the BatchJobInputter is currently
64  /// using.
65  /// @return The input source for the current batch.
67 
68 private:
69  void read_batch();
70  void check_batch();
73  utility::options::OptionCollection const vanilla_options_; //options before batch-options were added
74 }; // BatchJobInputter
75 
76 } // namespace jd2
77 } // namespace protocols
78 
79 #endif //INCLUDED_protocols_jd2_BatchJobInputter_HH