Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CrossPeakList.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 CrossPeakList.hh
7 /// @author Oliver Lange
8 
9 #ifndef INCLUDED_protocols_noesy_assign_CrossPeakList_HH
10 #define INCLUDED_protocols_noesy_assign_CrossPeakList_HH
11 
12 
13 // Unit Header
15 
16 // Package Headers
17 // AUTO-REMOVED #include <protocols/noesy_assign/CrossPeak.hh>
21 //#include <devel/noesy_assign/PeakAssignment.hh>
22 //#include <devel/noesy_assign/ResonanceList.fwd.hh>
23 
24 // Project Headers
25 #include <core/types.hh>
26 #include <core/pose/Pose.fwd.hh>
27 // AUTO-REMOVED #include <core/id/NamedAtomID.fwd.hh>
28 // AUTO-REMOVED #include <core/chemical/AA.hh>
29 // AUTO-REMOVED #include <core/io/silent/SilentFileData.fwd.hh>
31 
32 // Utility headers
33 // AUTO-REMOVED #include <utility/exit.hh>
34 // #include <utility/excn/Exceptions.hh>
35 #include <utility/vector1.hh>
36 #include <utility/pointer/ReferenceCount.hh>
37 // #include <numeric/numeric.functions.hh>
38 // #include <core/util/prof.hh>
39 //#include <core/util/Tracer.hh>
40 // #include <core/options/option.hh>
41 // #include <core/options/keys/abinitio.OptionKeys.gen.hh>
42 // #include <core/options/keys/run.OptionKeys.gen.hh>
43 //#include <core/options/keys/templates.OptionKeys.gen.hh>
44 
45 //// C++ headers
46 // AUTO-REMOVED #include <cstdlib>
47 // AUTO-REMOVED #include <string>
48 #include <list>
49 // AUTO-REMOVED #include <map>
50 
53 
54 
55 namespace protocols {
56 namespace noesy_assign {
57 
59 public:
60  typedef std::list< CrossPeakOP > CrossPeaks;
61  typedef CrossPeaks::const_iterator const_iterator;
62  typedef CrossPeaks::iterator iterator;
63  CrossPeakList();
64  virtual ~CrossPeakList();
65 
66  void read_from_stream( std::istream&, PeakFileFormat& input_adaptor, ResonanceListOP resonances );
67  void write_to_stream( std::ostream&, PeakFileFormat& output_adaptor ) const;
68  void write_peak_files( std::string const& prefix, PeakFileFormat& output_adaptor ) const;
69  void find_assignments();
70  void update_chemshiftscore();
71  void update_symmetry_score();
73 
74  template < class DecoyIterator >
75  void update_decoy_compatibility_score( DecoyIterator const& begin, DecoyIterator const& end ); //core::io::silent::SilentFileData const& sfd
76 
78 
79  template < class DecoyIterator >
80  void calibrate( DecoyIterator const& begin, DecoyIterator const& end );
81  // void calibrate( core::io::silent::SilentFileData const& decoys );
82 
83 #if 0
84  core::scoring::constraints::ConstraintSetOP generate_constraints( core::pose::Pose const& pose, bool centroid = false, core::Size min_seq_separation = 2 ) const;
85 #endif
86 
90  core::pose::Pose const& pose,
91  core::pose::Pose const& centroid_pose,
92  core::Size min_seq_separation,
93  core::Size min_quali,
94  core::Size max_quali,
95  core::Real padding = 0.0,
96  bool ignore_elimination_candidates = true,
97  bool elimination_candidates = false
98  ) const;
99 
101  return *assignments_;
102  }
103 
105  return *assignments_;
106  }
107 
108 // ResonanceList const& resonances() const {
109 // return *resonances_;
110 // }
111 
113  void delete_diagonal_peaks();
114  void update_peak_volumina();
115  void network_analysis( ResonanceList const& );
117  CrossPeaks const& peaks() const { return peaks_; }
118  const_iterator begin() const { return peaks_.begin(); }
119  const_iterator end() const { return peaks_.end(); }
120  iterator begin() { return peaks_.begin(); }
121  core::Size size() const { return peaks_.size(); }
122 private:
123  void update_assignment_list(); //after find_assignments or delete_diagonal_peaks()
124 
125  ///@brief return average upper distance bound
126  core::Real calibrate( PeakCalibrator const& calibrator );
128  //probably good to have all things in this class?
129  // ResonanceListOP resonances_;
131 };
132 
133 }
134 }
135 
136 #endif