34 #include <basic/options/option.hh>
44 #include <basic/Tracer.hh>
46 #include <numeric/random/random.hh>
58 #if defined(WIN32) || defined(__CYGWIN__)
64 #include <basic/options/keys/score.OptionKeys.gen.hh>
67 #include <utility/vector1.hh>
68 #include <ObjexxFCL/format.hh>
71 namespace ObjexxFCL {
namespace fmt { } }
using namespace ObjexxFCL::fmt;
79 static numeric::random::RandomGenerator
RG(19920);
81 static basic::Tracer
TR(
"protocols.rna.rna_relaxer" ) ;
93 rna_fragment_mover_( rna_fragment_mover ),
94 rna_minimizer_( rna_minimizer ),
97 num_find_fragment_tries_( 100 ),
98 rmsd_min_cutoff_( 1.0 ),
99 rmsd_max_cutoff_( 3.5 ),
100 simple_rmsd_cutoff_relax_( false )
102 Mover::type(
"RNA_Relaxer");
114 using namespace core::scoring;
115 using namespace core::kinematics;
116 using namespace basic::options;
117 using namespace basic::options::OptionKeys;
124 time_t pdb_start_time = time(NULL);
128 if ( option[ score::weights ].user() ) {
143 TR <<
"RNA relaxer ROUND " << r <<
" of " <<
relax_cycles_ << std::endl;
149 monte_carlo_->boltzmann( pose,
"relax" );
153 monte_carlo_->show_counters();
155 pose = monte_carlo_->lowest_score_pose();
157 time_t pdb_end_time = time(NULL);
159 scorefxn->show( std::cout, pose );
161 TR <<
"RNA relaxer finished in " << (long)(pdb_end_time - pdb_start_time) <<
" seconds." << std::endl;
167 return "RNA_Relaxer";
197 TR <<
"Testing fragment insertion --> Length: " << frag_size <<
" rmsd: " << rmsd_to_start << std::endl;
209 using namespace core::scoring;
219 Size const lores_monte_carlo_rounds( 1000 );
222 for(
Size i=1; i <= lores_monte_carlo_rounds ; ++i ) {
226 lores_monte_carlo_->boltzmann( pose,
"frag" + SS(frag_size) );
230 lores_monte_carlo_->show_counters();
236 TR <<
" LoRes MonteCarlo --> rmsd: " << rmsd_to_start << std::endl;