Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ScoreOnlyJobOutputter.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/NoOutputJobOutputter.hh
11 /// @brief header file for ScoreOnlyJobOutputter class, allows the user to output only score files
12 /// @author Steven Lewis smlewi@gmail.com
13 
14 
15 #ifndef INCLUDED_protocols_jd2_ScoreOnlyJobOutputter_hh
16 #define INCLUDED_protocols_jd2_ScoreOnlyJobOutputter_hh
17 
18 //unit headers
21 // AUTO-REMOVED #include <protocols/jd2/Job.hh>
22 
23 //project headers
24 #include <core/pose/Pose.fwd.hh>
25 
26 //utility headers
27 //C++ headers
28 #include <string>
29 
30 #include <core/types.hh>
31 #include <utility/vector1.hh>
32 
33 
34 namespace protocols {
35 namespace jd2 {
36 
37 ///@details Joboutputter that only outputs score files, useful for screening protocols
39 public:
40 
41  //constructor -- reads cmd-line to initialize evaluators
43 
44  //////////////////////////////creating output functions/////////////////////////////////////////
45 
46  ///@brief this function takes a string and writes it to disk (separately from Tracer output).
47  ///use some sort of extention option system - default .dat? .data?
48  //virtual
49  //void file( JobCOP, std::string const & );
50 
51  ///@brief this function outputs the final result of a job.
52  virtual
53  void final_pose( JobCOP job, core::pose::Pose const & pose);
54 
55  ///@brief this function is intended for saving mid-protocol poses; for example the final centroid structure in a combined centroid/fullatom protocol.
56  virtual
57  void other_pose( JobCOP job, core::pose::Pose const & pose, std::string const & tag, int copy_count = -1, bool score_only = false);
58 
59  /////////////////////////////////state of output functions/////////////////////////////////
60 
61  ///@brief this function is not used for output, but it belongs here since it needs to check the same output locations as the class normally writes to. This class checks wherever output goes to see if the job's expected output already exists (on disk or whatever). This is the most basic form of checkpointing.
62  virtual
63  bool job_has_completed( JobCOP job ) ;
64 
65  virtual std::string output_name( JobCOP job );
66 
67 private:
68 
69  void read_done_jobs();
70 
71  // list of tags already written
73 
74 }; // ScoreOnlyJobOutputter
75 
76 } // namespace jd2
77 } // namespace protocols
78 
79 #endif //INCLUDED_protocols_jd2_NoOutputJobOutputter_HH