43 #include <basic/Tracer.hh>
46 #include <utility/exit.hh>
56 #include <utility/vector1.hh>
64 basic::Tracer
TR_PcsDataCenter(
"protocols.scoring.methods.pcs.PcsDataCenter");
67 utility_exit_with_message(
"You shouldn't call the empty constructor for PcsDataCenter class" );
77 if (
this != &other ) {
131 A_line[1] = (x2 - z2);
132 A_line[2] = (2.0 * v_x * v_y);
133 A_line[3] = (2.0 * v_x * v_z);
134 A_line[4] = (y2 - z2);
135 A_line[5] = (2.0 * v_y * v_z);
167 A_line[1] = value_1_4_PI_r5 * (x2 - z2);
168 A_line[2] = value_1_4_PI_r5 * (v_x * v_y);
169 A_line[3] = value_1_4_PI_r5 * (v_x * v_z);
170 A_line[4] = value_1_4_PI_r5 * (y2 - z2);
171 A_line[5] = value_1_4_PI_r5 * (2.0 * v_y * v_z);
267 std::cerr <<
"Error: Couldn't find residue " << res << std::endl;
268 std::cerr <<
"Numbering residue within Rosetta match the sequence provided as input" << std::endl;
269 std::cerr <<
"Make sure the numbering between the sequence and the PseudocontactShift (npc) input file match" << std::endl;
270 utility_exit_with_message(
"Check your pdb and PseudocontactShift (npc) input file");
275 std::cerr <<
"Error: Couldn't find the atom " << at <<
" in residue " << res << std::endl;
276 std::cerr <<
"Numbering residue within Rosetta match the sequence provided as input" << std::endl;
277 std::cerr <<
"Make sure the numbering between the sequence and the PseudocontactShift (npc) input file match" << std::endl;
278 std::cerr <<
"Use only PCS for the backbone for abinitio." << std::endl;
279 std::cerr <<
"only N, CA, C, O, CB, H and CEN" << std::endl;
281 utility_exit_with_message(
"Check your pdb and PseudocontactShift (npc) input file");
310 std::map< std::string, PcsInputFile >::iterator it;
321 for ( it = pcs_i_f_all.begin(); it != pcs_i_f_all.end(); ++it ) {
322 filename = it->first;
335 for ( it2 = pcs_i_l_all.begin(); it2 != pcs_i_l_all.end(); ++it2 ){
337 pcs_i_l_temp = &(*it2);
338 if(
do_I_skip(*pcs_i_l_temp, start, end)){
397 out <<
"n independent spins in total: " << me.
n_pcs_spin_ << std::endl;