17 #include <basic/datacache/CacheableStringFloatMap.hh>
37 #include <numeric/random/random.hh>
41 #include <basic/Tracer.hh>
43 #include <utility/io/izstream.hh>
44 #include <utility/io/ozstream.hh>
47 #include <utility/vector0.hh>
48 #include <utility/vector1.hh>
52 #include <basic/datacache/BasicDataCache.hh>
59 static numeric::random::RandomGenerator
RG(2357892);
60 static basic::Tracer
TR(
"protocols.moves.DockingEnsemble");
79 start_res_(start_res),
82 ensemble_file_path_(ensemble_file_path),
109 TR <<
"Loading Ensemble" << std::endl;
112 while( getline(file, line) ) {
114 if ( line.find(
"pdb") != std::string::npos )
117 else data.push_back( atof( line.c_str() ) );
120 if ( data.size() > 1 ) {
142 using namespace core::pose::datacache;
145 recover_mover->apply( pose );
148 if ( !pose.
data().has( ( CacheableDataType::ARBITRARY_FLOAT_DATA ) ) ){
150 CacheableDataType::ARBITRARY_FLOAT_DATA,
151 new basic::datacache::CacheableStringFloatMap()
155 basic::datacache::CacheableStringFloatMapOP data
156 =
dynamic_cast< basic::datacache::CacheableStringFloatMap *
>
157 ( pose.
data().get_raw_ptr(CacheableDataType::ARBITRARY_FLOAT_DATA) );
167 core::Real score_low = ( *scorefxn_low_ )( pose );
168 TR <<
"score_low: " << score_low << std::endl;
176 to_fullatom.
apply( conformer );
180 core::Real score_high = ( *scorefxn_high_ )( conformer );
181 TR <<
"score_high: " << score_high << std::endl;
193 utility::io::ozstream data;
207 adjustment = std::min( ref_energy, adjustment );