20 #include <ObjexxFCL/FArray1D.hh>
45 #include <basic/Tracer.hh>
53 #include <utility/vector1.hh>
56 #define foreach BOOST_FOREACH
58 namespace ligand_docking {
60 using namespace ObjexxFCL;
77 core::Real const together_score = (*scorefxn)( *after_copy );
83 trans_mover.
apply( *after_copy );
84 (*scorefxn)( *after_copy );
86 bool const are_touching = (std::abs(initial_fa_rep - push_together_fa_rep) > 1e-4);
89 std::ostringstream touching;
90 touching <<
"ligand_is_touching_"<< ligand_chain;
91 job->add_string_real_pair(touching.str(), are_touching);
97 trans_mover.
apply( *after_copy );
98 core::Real const separated_score = (*scorefxn)( *after_copy );
102 std::ostringstream delta;
103 delta<<
"interface_delta_"<< ligand_chain;
104 job->add_string_real_pair(delta.str(), together_score - separated_score);
111 if ( !scorefxn->has_nonzero_weight(ii) )
continue;
112 core::Real component_score= scorefxn->get_weight(ii) * (together_energies[ii] - separated_energies[ii]);
114 std::ostringstream if_score;
116 job->add_string_real_pair(if_score.str(), component_score);
137 std::ostringstream centroid;
138 centroid<<
"ligand_centroid_travel_"<< ligand_chain;
139 job->add_string_real_pair(centroid.str(), before_vector.distance(after_vector));
151 if (grid_manager->
size()==0){
165 foreach(qsar::scoring_grid::ScoreMap::value_type
grid_score, grid_scores){
166 std::ostringstream score_label;
167 score_label << grid_score.first <<
"_grid_" <<ligand_chain;
168 job->add_string_real_pair(score_label.str(),grid_score.second);
171 std::ostringstream score_label;
172 score_label <<
"total_score_" <<ligand_chain;
173 job->add_string_real_pair(score_label.str(),
total_score);
186 int lig_rg_natoms = 0;
191 if( is_upstream(i) )
continue;
194 lig_rg += before_vector.distance_squared( rsd.
xyz(j) );
198 lig_rg = std::sqrt( lig_rg / lig_rg_natoms );
202 std::ostringstream centroid;
203 centroid<<
"ligand_radius_of_gyration_"<< ligand_chain;
204 job->add_string_real_pair(centroid.str(), lig_rg);
217 assert(before.
num_jump() >= jump_id);
218 assert(after.
num_jump() >= jump_id);
248 after_copy->remove_constraints();
250 after_ligand= after_copy->split_by_chain(after_chain);
260 std::ostringstream rms_no_super;
261 rms_no_super<<
"ligand_rms_no_super_"<< ligand_chain;
262 job->add_string_real_pair(rms_no_super.str(), ligand_rms_no_super);
270 std::ostringstream rms_with_super;
271 rms_with_super<<
"ligand_rms_with_super_"<< ligand_chain;
272 job->add_string_real_pair(rms_with_super.str(), ligand_rms_with_super);
284 char const ligand_chain= before.
pdb_info()->chain(ligand_residue_id);
287 before.
residue(ligand_residue_id),
288 after.
residue(ligand_residue_id),
292 std::ostringstream rms_no_super;
293 rms_no_super<<
"ligand_rms_no_super_"<< ligand_chain;
294 job->add_string_real_pair(rms_no_super.str(), ligand_rms_no_super);
298 before.
residue(ligand_residue_id),
299 after.
residue(ligand_residue_id),
302 std::ostringstream rms_with_super;
303 rms_with_super<<
"ligand_rms_with_super_"<< ligand_chain;
304 job->add_string_real_pair(rms_with_super.str(), ligand_rms_with_super);