Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HedgeArchive.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 // This file is part of the Rosetta software suite and is made available under license.
5 // The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6 // (C) 199x-2009 Rosetta Commons participating institutions and developers.
7 // For more information, see http://www.rosettacommons.org/.
8 
9 ///
10 /// @author Oliver Lange
11 /// Archive class to collect structures such that variances of scores can be computed to determine normalized weights
12 
13 
14 #ifndef INCLUDED_protocols_abinitio_HedgeArchive_hh
15 #define INCLUDED_protocols_abinitio_HedgeArchive_hh
16 
17 // Unit Headers
18 //#include <protocols/abinitio/IterativeAbrelax.fwd.hh>
19 
20 // Package Headers
24 // Project Headers
25 #include <core/types.hh>
26 #include <core/pose/Pose.fwd.hh>
28 
29 // Utility headers
30 #include <utility/vector1.hh>
31 
32 // Third-party Headers
33 
34 //// C++ headers
35 
36 #include <string>
37 #include <set>
38 
39 
40 
41 namespace protocols {
42 namespace abinitio {
43 
46  typedef std::list< std::pair< core::Real, core::io::silent::SilentStructOP > > SilentStructs;
47  typedef std::map< core::Size, SilentStructs > BatchStructuresMap;
48 public:
50 
52 
53  virtual void generate_batch() {};
54  virtual void rescore() {}; //do nothing since we don't care about scores
55  ///@brief save and restore status of archive to file-system
56  virtual void save_status( std::ostream& ) const;
57  virtual void restore_status( std::istream& );
58  ///@brief overloaded to make input decoys appear the same as decoys coming from batches
61 protected:
62  void incorporate_batch( core::Size batch_id );
63 private:
64  void save_decoys( SilentStructs const& decoys, core::Size batch_id ) const;
65  void remove_decoys( core::Size batch_id ) const;
67  core::Real add_fuzzy_; //0 for strictly score based, 1 for totally random
69  typedef std::set< core::Size > BatchList;
71 };
72 
73 
74 }
75 }
76 
77 
78 #endif