19 #include <basic/options/option.hh>
35 #include <basic/options/keys/membrane.OptionKeys.gen.hh>
36 #include <basic/options/keys/in.OptionKeys.gen.hh>
41 #include <basic/datacache/BasicDataCache.hh>
42 #include <basic/Tracer.hh>
43 #include <numeric/random/random.hh>
45 #include <utility/vector0.hh>
46 #include <utility/vector1.hh>
49 static basic::Tracer
TR(
"protocols.topo_broker.membrane_topology",basic::t_info);
50 static numeric::random::RandomGenerator
RG(786137);
53 namespace topology_broker {
61 input_pose_(input_pose)
73 if ( basic::options::option[basic::options::OptionKeys::membrane::fixed_membrane] ) {
79 core::Real membrane_center_perturbation_weight(2.0);
80 random_mover.
add_mover( membrane_center_perturbation_mover, membrane_center_perturbation_weight );
86 core::Real membrane_normal_perturbation_weight(5.0);
87 random_mover.
add_mover( membrane_normal_perturbation_mover, membrane_normal_perturbation_weight);
104 using basic::options::option;
105 using namespace basic::options;
106 using namespace basic::options::OptionKeys;
109 runtime_assert ( option[in::file::spanfile].user() );
111 std::string const spanfile = option[ in::file::spanfile ]();
117 if ( basic::options::option[basic::options::OptionKeys::membrane::fixed_membrane] ) {
138 TR.Warning <<
"addVirtualResAsRootMembrane() called with empty pose!" << std::endl;
157 if ( basic::options::option[basic::options::OptionKeys::membrane::membrane_center].user() ) {
159 mem_center.x() = basic::options::option[basic::options::OptionKeys::membrane::membrane_center]()[1];
160 mem_center.y() = basic::options::option[basic::options::OptionKeys::membrane::membrane_center]()[2];
161 mem_center.z() = basic::options::option[basic::options::OptionKeys::membrane::membrane_center]()[3];
163 for (
Size j=1; j<= new_res->natoms(); ++j ) {
164 new_res->atom(j).xyz( new_res->atom(j).xyz() + mem_center );
177 TR <<
"addVirtualResAsRoot() setting new fold tree to " << newF << std::endl;
178 TR <<
" jump_res = " << jump_res << std::endl;