Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NoesyModule.impl.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 /// @author Oliver Lange
8 
9 #ifndef INCLUDED_protocols_noesy_assign_NoesyModule_impl_hh
10 #define INCLUDED_protocols_noesy_assign_NoesyModule_impl_hh
11 
12 
13 // Unit Header
15 // AUTO-REMOVED #include <protocols/noesy_assign/CrossPeakList.impl.hh>
16 // Package Headers
17 
18 // Project Headers
19 #include <core/types.hh>
20 
21 // Utility headers
22 #include <utility/exit.hh>
23 #include <utility/vector1.hh>
24 #include <utility/pointer/ReferenceCount.hh>
25 
26 #include <basic/prof.hh>
27 
30 
31 
32 //// C++ headers
33 // #include <cstdlib>
34 // #include <string>
35 // #include <list>
36 // #include <map>
37 
38 namespace protocols {
39 namespace noesy_assign {
40 
41 
42 template< class DecoyIterator >
43 void NoesyModule::assign( DecoyIterator const& decoys_begin, DecoyIterator const& decoys_end ) {
44  using namespace core;
45  // if ( cycle != 0 ) PeakAssignmentParameters::set_cycle( cycle );
46  // using namespace basic::options;
47  // using namespace basic::options::OptionKeys::noesy;
48 
49  //PROF_START( basic::NOESY_ASSIGN_INITIAL );
50  crosspeaks_->find_assignments();
51  //PROF_STOP( basic::NOESY_ASSIGN_INITIAL );
52 
53  // if ( !option[ no_remove_diagonal ]() )
54  //PROF_START( basic::NOESY_ASSIGN_DIAGONAL );
55  crosspeaks_->delete_diagonal_peaks();
56  //PROF_STOP( basic::NOESY_ASSIGN_DIAGONAL );
57 
58  //if ( !option[ no_cs ]() )
59  //PROF_START( basic::NOESY_ASSIGN_CHEMSHIFT );
60  crosspeaks_->update_chemshiftscore();
61  //PROF_STOP( basic::NOESY_ASSIGN_CHEMSHIFT );
62 
63  //PROF_START( basic::NOESY_ASSIGN_DISTANCE );
64  //covalent compliance
65  crosspeaks_->update_upperdistance_score();
66  //PROF_STOP( basic::NOESY_ASSIGN_DISTANCE );
67 
68  //PROF_START( basic::NOESY_ASSIGN_DECOY_COMP );
69  if ( decoys_begin != decoys_end ) {
70  crosspeaks_->update_decoy_compatibility_score( decoys_begin, decoys_end );
71  } else {
72  crosspeaks_->set_trivial_decoy_compatibility_score();
73  }
74  //PROF_STOP( basic::NOESY_ASSIGN_DECOY_COMP );
75  crosspeaks_->update_peak_volumina();
76 
78  Real const min_sym_cont( params.min_contribution_symmetric_peaks_ );
79  for ( Size ct_repeat=1; ct_repeat <= 3; ct_repeat++ ) {
80  // if ( !option[ no_symm ]() )
81  if ( min_sym_cont < 0.99 || ct_repeat == 1 ) {
82  //PROF_START( basic::NOESY_ASSIGN_SYMMETRY );
83  crosspeaks_->update_symmetry_score();
84  crosspeaks_->update_peak_volumina();
85  //PROF_STOP( basic::NOESY_ASSIGN_SYMMETRY );
86  // if ( !option[ no_upper ]() )
87  }
88  //PROF_START( basic::NOESY_ASSIGN_NETWORK_TOTAL );
89  if ( !params.no_network_ ) {
90  crosspeaks_->network_analysis( resonances() );
91  }
92  crosspeaks_->update_peak_volumina();
93  //PROF_STOP( basic::NOESY_ASSIGN_NETWORK_TOTAL );
94  }
95 
96  // if ( !option[ no_calibrate ] () )
97  //PROF_START( basic::NOESY_ASSIGN_CALIBRATE );
98  crosspeaks_->calibrate( decoys_begin, decoys_end );
99  //PROF_STOP( basic::NOESY_ASSIGN_CALIBRATE );
100 
101  //PROF_START( basic::NOESY_ASSIGN_ELIMINATE );
102  crosspeaks_->eliminate_spurious_peaks();
103  //PROF_STOP( basic::NOESY_ASSIGN_ELIMINATE );
104 }
105 
106 }
107 }
108 
109 #endif