28 #include <basic/message_listening/MessageListenerFactory.hh>
39 #include <basic/Tracer.hh>
41 #include <basic/options/keys/out.OptionKeys.gen.hh>
42 #include <basic/options/keys/in.OptionKeys.gen.hh>
44 #include <basic/options/keys/run.OptionKeys.gen.hh>
47 #include <basic/options/option_macros.hh>
49 #include <utility/mpi_util.hh>
50 #include <utility/assert.hh>
57 #include <utility/vector1.hh>
66 using namespace basic::options::OptionKeys;
67 OPT( in::file::silent );
70 OPT( in::file::native );
71 OPT( in::file::silent_read_through_errors );
72 OPT( out::file::silent );
73 OPT( out::file::scorefile );
79 static basic::Tracer
TR(
"protocols.jd2.JobDistributor");
94 TR.Warning <<
"can't output intermediate pose if not running with jobdistributor ( jd2 / 2008 )" << std::endl;
103 }
else return "NoTag";
111 }
else return "NoJD2";
128 return "JD2_OUTPUT_FILE_UNKNOWN";
133 static basic::Tracer tr_score(
"protocols.jd2.score", basic::t_info,
true );
135 if ( !tr_score.visible() )
return;
141 tr_score.Warning <<
"can't output intermediate pose if not running with jobdistributor ( jd2 / 2008 )" << std::endl;
150 ss->fill_struct( pose_in, tag );
156 ss->add_string_value(
"tracer_point", tracer_point );
159 if ( !basic::options::option[ basic::options::OptionKeys::out::file::silent_print_all_score_headers ]() ) {
160 ss->print_header( tr_score );
189 using namespace core::pose;
191 typedef Job::StringStringPairs::const_iterator str_iter;
192 for ( str_iter iter = job_op->output_string_string_pairs_begin(),
193 end = job_op->output_string_string_pairs_end();
196 ss->add_string_value(iter->first, iter->second );
199 typedef Job::StringRealPairs::const_iterator real_iter;
200 for ( real_iter iter = job_op->output_string_real_pairs_begin(),
201 end = job_op->output_string_real_pairs_end();
204 ss->add_energy( iter->first, iter->second, 1.0 );
210 using namespace basic::options;
211 using namespace basic::options::OptionKeys;
213 if ( option[ in::file::native ].user() ) {
216 if ( option[ in::file::fullatom ]() ) {
221 std::string native_pdb_file = option[ in::file::native ]();
230 MPI_Comm
const& current_mpi_comm() {
234 MPIMultiCommJobDistributor* mpi_jd =
dynamic_cast< MPIMultiCommJobDistributor*
>( jd );
236 return mpi_jd->current_mpi_comm();
241 TR.Trace <<
"Requested jd2::current_mpi_comm() but apparently flag -run:n_replica was not set.";
242 TR.Trace <<
"Returning MPI_COMM_WORLD" << std::endl;
243 static MPI_Comm my_mpi_comm_world = MPI_COMM_NULL;
244 MPI_Comm_dup( MPI_COMM_WORLD, &my_mpi_comm_world );
245 return my_mpi_comm_world;