Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NoesyModule.hh
Go to the documentation of this file.
1 // (c) This file is part of the Rosetta software suite and is made available under license.
2 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
3 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
4 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
5 
6 /// @file NoesyModule.hh
7 /// @brief main hook-up for the automatic NOESY assignment module
8 /// @detailed
9 /// handling of input-output options
10 /// provides class NoesyModule
11 ///
12 /// @author Oliver Lange
13 
14 #ifndef INCLUDED_protocols_noesy_assign_NoesyModule_HH
15 #define INCLUDED_protocols_noesy_assign_NoesyModule_HH
16 
17 
18 // Unit Header
20 
21 // Package Headers
22 // AUTO-REMOVED #include <protocols/noesy_assign/CrossPeak.hh>
23 // AUTO-REMOVED #include <protocols/noesy_assign/PeakFileFormat.fwd.hh>
24 // AUTO-REMOVED #include <protocols/noesy_assign/PeakAssignmentResidueMap.hh>
25 // AUTO-REMOVED #include <protocols/noesy_assign/PeakAssignmentParameters.hh>
26 //#include <devel/noesy_assign/ResonanceList.fwd.hh>
27 
28 // Project Headers
29 #include <core/types.hh>
30 
31 // Utility headers
32 // AUTO-REMOVED #include <utility/exit.hh>
33 #include <utility/vector1.hh>
34 #include <utility/pointer/ReferenceCount.hh>
35 
36 #include <core/pose/Pose.fwd.hh>
39 #include <string>
40 
41 
42 //// C++ headers
43 // #include <cstdlib>
44 // #include <string>
45 // #include <list>
46 // #include <map>
47 
48 namespace protocols {
49 namespace noesy_assign {
50 
51 class NoesyModule : public utility::pointer::ReferenceCount {
52 
53 private:
54  static bool options_registered_;
55 
56 public:
57  ///@brief Automatically generated virtual destructor for class deriving directly from ReferenceCount
58  virtual ~NoesyModule();
59  ///@brief register options
60  static void register_options();
61 
62 public:
63 
64  ///@brief constructor -- initialize with fast-sequence
65  NoesyModule( std::string const& fasta_sequence );
66 
67  ///@brief assign NOE data, use models provided by DecoyIterator for scoring and restraint exclusion, if cycle=0 read cycle from cmd-line
68  template< class DecoyIterator >
69  void assign( DecoyIterator const& begin, DecoyIterator const& end );
70 
71  ///@brief same as above, but decoy file will be determined from commandline and read directly
72  void assign ();
73 
74  ///@brief after assignment --> create appropriate constraints
76  core::pose::Pose const& pose,
77  std::string const& cst_fa_file,
78  std::string const& cst_centroid_file,
79  core::Size min_seq_separation,
80  core::Size min_quali = 0,
81  core::Size max_quali = 4,
82  bool ignore_elimination_candidates = true,
83  bool elimination_candidates = false
84  ) const;
85 
86  ///@brief write assignments into peak-file...
87  void write_assignments( std::string file = "use_cmd_line" );
88 
89  ///@brief reset assignments... -- call before re-assigning peaks
90  void reset();
91 
92  ///@brief returns true if -noesy::in::resonances and -noesy::in::peaks are in cmd-line
93  static bool cmdline_options_activated();
94 
95 
96  ///@brief return (cross)peak-list (peak-file)
97  CrossPeakList const& crosspeaks() const { return *crosspeaks_; }
98 
99  ///@brief return resonance assignments (prot-file)
100  ResonanceList const& resonances() const { return *main_resonances_; }
101 
103 
104 private:
105 
106  ///@brief return all input files
107  void read_input_files();
108 
109  // bool skip_network_analysis_; //moved to PeakAssignmentParameters
110  ///@brief private data, peak-list and master-resonances (sometimes different resonances for different peak-lists, thus the name)
113 
114 };
115 
116 }
117 }
118 
119 #endif