25 #include <utility/vector1.hh>
30 namespace rotamer_set {
33 :
parent(), existing_residue_( 0 ), owner_( 0 )
55 utility_exit_with_message(
"ERROR: FlexbbRotamerSet does not support build_dependent_rotamers");
72 bool use_neighbor_context
77 packer_neighbor_graph, use_neighbor_context );
96 using namespace core::scoring;
97 using namespace core::conformation;
102 ir = packer_neighbor_graph->get_node(
resid() )->const_edge_list_begin(),
103 ire = packer_neighbor_graph->get_node(
resid() )->const_edge_list_end();
108 int const neighbor_id( (*ir)->get_other_ind(
resid() ) );
110 core::Size bbconfs_this_neighbor(
owner_->nbbconfs_for_res( neighbor_id ) );
112 typedef Residue const & resconstref;
116 if( bbconfs_this_neighbor == 1 ) check_residues.push_back( & pose.
residue( neighbor_id ) );
119 for(
core::Size bbconf = 1; bbconf <= bbconfs_this_neighbor ; ++bbconf) {
120 check_residues.push_back( &
owner_->backbone_for_resid_bbconf( neighbor_id, bbconf ) );
124 for(
core::Size check_res = 1; check_res <= check_residues.size(); ++check_res) {
129 sf.
bump_check_full( *rotamer, *check_residues[ check_res ], pose, emap);
135 if( check_res == 1 || cur_bumpE < smallest_neighbor_bumpE ) smallest_neighbor_bumpE = cur_bumpE;
139 bumpE += smallest_neighbor_bumpE;