Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FastaInputter.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=1 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/inputter/FastaInputter.hh
11 /// @brief An inputter that takes a list of fastas
12 /// @author Ken Jung
13 
14 #ifndef INCLUDED_protocols_inputter_FastaInputter_hh
15 #define INCLUDED_protocols_inputter_FastaInputter_hh
16 
17 // Unit Headers
20 
21 // Project headers
22 #include <core/types.hh>
23 #include <core/pose/Pose.fwd.hh>
24 #include <deque>
25 
26 
27 namespace protocols {
28 namespace inputter {
29 
30 #ifdef USELUA
31 void lregister_FastaInputter( lua_State * lstate );
32 #endif
33 
34 class FastaInputter : public Inputter {
35 
36  public:
38  virtual ~FastaInputter();
39 
40  // throw away n-1 poses and return the nth one
41  // necessary to prevent duplication of input across different masters
42  // of course, default is 1 for non-mpi scenarios
44  bool has_nth_pose( int n=1 );
45 
46 #ifdef USELUA
47  // need to pass in a map of the previous inputters, as inputters will call inputters
48  // not a huge fan of this, but implementing it correctly and more extensibly will be a lot more work
49  // and fpd doesn't think there will be much customizing requested in inputters
50  void parse_def( utility::lua::LuaObject const & def,
51  utility::lua::LuaObject const & tasks,
52  utility::lua::LuaObject & inputters );
53  virtual void lregister( lua_State * lstate );
54 #endif
55 
56  // factory functions
58  static std::string name() {
59  return "FastaInputter";
60  }
61 
62 
63  private:
64  std::deque< std::pair< int, std::string> > file_names_;
69 
70 }; // end FastaInputter
71 
72 } // inputter
73 } // protocols
74 
75 
76 #endif //INCLUDED_protocols_inputter_Inputter_HH