25 #include <utility/string_util.hh>
27 #include <utility/vector1.hh>
53 cst_io_ = mtask->enz_input_data();
60 std::map< core::Size, core::Size > & redundant_upstream_res
64 using namespace toolbox::match_enzdes_util;
66 redundant_upstream_res.clear();
67 std::map< Size, Size > seen_scafpos_to_geom_cst;
68 std::map< Size, Size > bb_scafpos_to_geom_cst;
74 bool bb_interaction( cur_mcfi->is_backbone( cur_mcfi->upstream_res() ) );
76 std::map< Size, Size >::iterator seen_it = seen_scafpos_to_geom_cst.find( this_scafpos );
77 std::map< Size, Size >::iterator bb_seen_it = bb_scafpos_to_geom_cst.find( this_scafpos );
81 if ( seen_it != seen_scafpos_to_geom_cst.end() ) {
82 if ( bb_interaction ) {
83 redundant_upstream_res[ i ] = seen_it->second;
86 if ( bb_seen_it != bb_scafpos_to_geom_cst.end() ) {
87 redundant_upstream_res[ bb_seen_it->second ] = i;
89 utility_exit_with_message(
"Error in matcher: two sidechains (for geomcsts "+utility::to_string( i )+
" and " +utility::to_string( seen_it->second )+
") placed at the same scaffold location ("+utility::to_string( this_scafpos)+
") considered a match. Hint: if one of these geomcsts is supposed to be a backbone only interaction, this needs to be specified in the cstfile through the \"TEMPLATE:: ATOM_MAP: <residue num> is_backbone \" tag.");
94 seen_scafpos_to_geom_cst[ this_scafpos] = i;
95 if ( bb_interaction ) {
96 bb_scafpos_to_geom_cst[ this_scafpos ] = i;