9 #ifndef INCLUDED_protocols_noesy_assign_CrossPeakList_impl_HH
10 #define INCLUDED_protocols_noesy_assign_CrossPeakList_impl_HH
36 #include <utility/exit.hh>
38 #include <utility/vector1.hh>
39 #include <utility/pointer/ReferenceCount.hh>
41 #include <basic/prof.hh>
42 #include <basic/Tracer.hh>
58 namespace noesy_assign {
61 template<
class DecoyIterator >
64 using namespace basic;
65 static basic::Tracer
tr(
"devel.noesy_assign.crosspeaks");
67 if ( decoys_begin == decoys_end )
return;
69 Size ct_structures( 0 );
70 for ( DecoyIterator iss = decoys_begin; iss != decoys_end; ++iss ) {
73 tr.Info <<
"compute decoy compatibility from " << ct_structures <<
" structures" << std::endl;
79 decoys_begin->fill_pose( pose );
83 cst_tool->prepare_scoring(
false );
85 for ( DecoyIterator iss = decoys_begin; iss != decoys_end; ++iss ) {
86 PROF_START( basic::NOESY_ASSIGN_DIST_MAKE_POSE );
88 iss->fill_pose( pose );
91 PROF_STOP( basic::NOESY_ASSIGN_DIST_MAKE_POSE );
92 tr.Debug <<
"score decoys " << iss->decoy_tag() << std::endl;
93 cst_tool->apply( pose );
96 cst_tool->finalize_scoring();
97 tr.Debug <<
"finished with decoy compatibility" << std::endl;
101 template <
class DecoyIterator >
103 using namespace core;
104 using namespace basic;
105 static basic::Tracer
tr(
"protocols.noesy_assign.crosspeaks");
108 bool const structure_independent_calibration( params.
calibration_target_ > 1.0 || begin == end );
111 if ( structure_independent_calibration ) {
112 tr.Info <<
"structure independent calibration..."<<std::endl;
118 if ( !structure_independent_calibration || elimination ) {
121 for ( DecoyIterator iss = begin; iss !=
end; ++iss ) {
123 iss->fill_pose( *pose );
126 pose_cache.push_back( pose );
131 if ( !structure_independent_calibration ) {
132 tr.Info <<
"structure dependent calibration..."<<std::endl;
136 tr.Info <<
"structure dependent elimination and nudging ..."<< std::endl;