45 #include <basic/options/option.hh>
48 #include <basic/options/keys/mc.OptionKeys.gen.hh>
51 #include <basic/options/keys/in.OptionKeys.gen.hh>
53 #include <basic/options/keys/canonical_sampling.OptionKeys.gen.hh>
55 #include <basic/Tracer.hh>
59 #include <utility/vector0.hh>
60 #include <utility/vector1.hh>
71 using namespace basic::options;
76 namespace canonical_sampling {
81 basic::Tracer
tr(
"src.apps.pilot.liz.test_canonical_mover");
83 using namespace protocols::moves;
84 using namespace basic;
85 using namespace basic::options;
86 using namespace basic::options::OptionKeys;
87 using namespace core::pack::task;
90 tr <<
"resetting clock" << std::endl;
96 bool MPI_bcast = options::option[ options::OptionKeys::canonical_sampling::probabilities::MPI_bcast ];
97 bool use_fast_sc_moves = options::option[ options::OptionKeys::canonical_sampling::probabilities::fast_sc_moves ];
98 bool no_jd2_output = options::option[options::OptionKeys::canonical_sampling::probabilities::no_jd2_output];
99 bool use_hierarchy = options::option[options::OptionKeys::canonical_sampling::probabilities::use_hierarchical_clustering];
103 if( use_hierarchy ) {}
108 csm->set_scorefunction(sfxn);
110 if( !use_fast_sc_moves ){
115 main_task_factory->push_back( rtrop );
117 scm->set_task_factory(main_task_factory);
119 if( options::option[ OptionKeys::canonical_sampling::probabilities::sc_prob_uniform ].user() ) {
120 scm->set_prob_uniform(options::option[ options::OptionKeys::canonical_sampling::probabilities::sc_prob_uniform ]);
122 if( options::option[ options::OptionKeys::canonical_sampling::probabilities::sc_prob_withinrot ].user() ){
123 scm->set_prob_withinrot(options::option[ options::OptionKeys::canonical_sampling::probabilities::sc_prob_withinrot ]);
125 if( options::option[ options::OptionKeys::canonical_sampling::probabilities::sc_prob_perturbcurrent ].user() ){
126 scm->set_prob_random_pert_current(options::option[ options::OptionKeys::canonical_sampling::probabilities::sc_prob_perturbcurrent ]);
128 scm->set_preserve_detailed_balance( csm->detailed_balance() );
130 csm->add_mover(scm,options::option[options::OptionKeys::canonical_sampling::probabilities::sc]);
136 main_task_factory->push_back( rtrop );
137 scm->set_temperature( csm->get_temp() );
138 scm->set_scorefunction( *sfxn );
140 scm->set_task_factory(main_task_factory);
141 scm->set_prob_uniform(options::option[ options::OptionKeys::canonical_sampling::probabilities::sc_prob_uniform ]);
142 scm->set_prob_withinrot(options::option[ options::OptionKeys::canonical_sampling::probabilities::sc_prob_withinrot ]);
143 scm->set_prob_random_pert_current(options::option[ options::OptionKeys::canonical_sampling::probabilities::sc_prob_perturbcurrent ]);
144 scm->set_preserve_detailed_balance( csm->detailed_balance() );
145 scm->set_ntrials( options::option[ options::OptionKeys::canonical_sampling::probabilities::fast_sc_moves_ntrials ] );
147 csm->add_mover(scm,options::option[options::OptionKeys::canonical_sampling::probabilities::sc]);
152 if( options::option[in::file::movemap].user() ){
155 movemap->set_bb(
true );
156 movemap->set_chi(
true );
159 bbg8t3mover->movemap(movemap);
160 tr <<
"probability of executing bbg move: " << (options::option[options::OptionKeys::canonical_sampling::probabilities::localbb]*
161 (1-options::option[options::OptionKeys::canonical_sampling::probabilities::backrub]-options::option[options::OptionKeys::canonical_sampling::probabilities::conrot]())) << std::endl;
162 runtime_assert(1-options::option[options::OptionKeys::canonical_sampling::probabilities::backrub]-options::option[options::OptionKeys::canonical_sampling::probabilities::conrot] >= 0);
163 csm->add_mover( bbg8t3mover, options::option[options::OptionKeys::canonical_sampling::probabilities::localbb]*(1-options::option[options::OptionKeys::canonical_sampling::probabilities::backrub]-options::option[options::OptionKeys::canonical_sampling::probabilities::conrot]()) );
166 if( options::option[options::OptionKeys::canonical_sampling::probabilities::conrot]() > 0 ) {
168 conrotmover->movemap( movemap );
169 csm->add_mover( conrotmover, options::option[options::OptionKeys::canonical_sampling::probabilities::localbb]*options::option[options::OptionKeys::canonical_sampling::probabilities::conrot]());
174 if( options::option[options::OptionKeys::canonical_sampling::probabilities::backrub]() > 0 ) {
177 if (energymethodoptions.bond_angle_residue_type_param_set()) {
178 backrubmover->branchopt().bond_angle_residue_type_param_set(energymethodoptions.bond_angle_residue_type_param_set());
180 backrubmover->set_preserve_detailed_balance( csm->detailed_balance() );
181 backrubmover->init_with_options();
186 tr <<
"probability of executing backrub move: " << (options::option[options::OptionKeys::canonical_sampling::probabilities::localbb]*(options::option[options::OptionKeys::canonical_sampling::probabilities::backrub])) << std::endl;
187 csm->add_mover((
MoverOP)(backrubmover),(
core::Real)(options::option[options::OptionKeys::canonical_sampling::probabilities::localbb]*options::option[options::OptionKeys::canonical_sampling::probabilities::backrub]));
191 tr.Info <<
"using regular pool-rmsd" << std::endl;
195 csm->set_poolrmsd(pool_ptr);
196 if( no_jd2_output ) {