31 #include <basic/Tracer.hh>
33 #include <utility/exit.hh>
40 #include <utility/vector1.hh>
51 static basic::Tracer
TR(
"protocols.simple_moves.ReturnSidechainMover" );
55 namespace simple_moves {
67 dynamic_cast<core::conformation::symmetry::SymmetricConformation &> ( pose.
conformation()) );
72 utility_exit_with_message(
"ReturnSidechainMover used with poses of different length; aborting");
75 bool copy_this_residue(
false );
78 copy_this_residue =
true;
81 copy_this_residue =
true;
84 if (symm_info && !symm_info->bb_is_independent( i ))
continue;
87 if( copy_this_residue ) {
92 if( rsd_type.name3() != saved_rsd_type.name3() )
93 utility_exit_with_message(
"ReturnSidechainMover used with poses of different sequence; aborting");
96 if ( ! rsd_type.variants_match( saved_rsd_type) ) {
101 it_end=variant_types.end(); it != it_end; ++it ) {
102 if ( !saved_rsd_type.has_variant_type( *it ) ) missing_variant_types.push_back( *it );
106 it_end=missing_variant_types.end(); it != it_end; ++it ) {
121 return "ReturnSidechainMover";
136 protocols::moves::
Mover(), remembered_pose_(pose_in)
152 protocols::moves::
Mover(),
153 allow_chi_copy_( allow_chi_in ),
154 remembered_pose_(pose_in)
177 os <<
" start\tend" << std::endl;