42 #include <utility/excn/Exceptions.hh>
43 #include <basic/Tracer.hh>
50 #include <utility/vector1.hh>
55 static basic::Tracer
tr(
"protocols.topo_broker",basic::t_info);
59 namespace topology_broker {
66 bKeepJumpsFromInputPose_( true )
73 jump_def_ ( jump_def ),
75 bKeepJumpsFromInputPose_( true )
127 <<
": get jumps from input pose. use flag NO_USE_INPUT_POSE if you want to create new jumps "
131 std::set< Size > active_region;
139 if ( active_region.find( jump1 ) != active_region.end()
140 && active_region.find( jump2 ) != active_region.end() ) {
142 filtered_jumps( 1, ct ) = jump1 < jump2 ? jump1 : jump2 ;
143 filtered_jumps( 2, ct ) = jump1 < jump2 ? jump2 : jump1 ;
154 tr.Info <<
type() <<
": create new random jumps" << std::endl;
159 tr.Debug <<
"was not able to make fold-tree for " <<
current_jumps_ << std::endl;
165 throw utility::excn::EXCN_BadInput(
"not able to build valid fold-tree from a "+
jump_def_->type_name()+
" in 10 attempts in JumpClaimer");
177 for ( core::fragment::FrameList::iterator jump_frame = jump_frames.begin();
178 jump_frame != jump_frames.end(); ++jump_frame ) {
183 jump_frags->add( jump_frames );
208 jump_mover->set_check_ss(
false );
209 jump_mover->enable_end_bias_check(
false );
215 jump_frags->add( jump_frames );
220 for (
Size i = 1; i<=nr_jumps; ++i ) {
228 jump_frags->frames( up, frames );
229 jump_frags->frames( down, frames );
232 bool found_frame(
false );
233 for ( fragment::FrameList::iterator it = frames.begin(); it!=frames.end(); ++it ) {
234 if ( 2 == (*it)->nr_res_affected( jump_mm ) ) {
240 if ( 2 == (*it)->nr_res_affected( bb_mm ) ) new_claims.push_back(
new BBClaim(
this, up ) );
242 if ( 2 == (*it)->nr_res_affected( bb_mm ) ) new_claims.push_back(
new BBClaim(
this, down ) );
246 runtime_assert( found_frame );
251 if ( tag ==
"NO_USE_INPUT_POSE" ) {
253 }
else if ( tag ==
"USE_INPUT_POSE" ) {