17 #include <protocols/boinc/boinc.hh>
18 #include "boinc_zip.h"
22 #include <core/io/silent/util.hh>
23 #include <protocols/abinitio/AbrelaxApplication.hh>
24 #include <protocols/abinitio/IterativeAbrelax.hh>
25 #include <protocols/cyclic_peptide_predict/SimpleCycpepPredictApplication.hh>
26 #include <protocols/jd2/archive/ArchiveManager.hh>
27 #include <protocols/abinitio/BrokerMain.hh>
28 #include <protocols/boinc/util.hh>
29 #include <protocols/comparative_modeling/cm_main.hh>
30 #include <protocols/medal/MedalMain.hh>
31 #include <protocols/symmetric_docking/SymDockProtocol.hh>
32 #include <protocols/rbsegment_relax/RBSegmentRelax_main.hh>
33 #include <protocols/loop_build/LoopBuild.hh>
34 #include <protocols/loophash/Mover_LoopHashRefine.hh>
35 #include <protocols/abinitio/vs_test.hh>
36 #include <protocols/jd2/JobDistributor.hh>
37 #include <protocols/ligand_docking/ligand_dock_impl.hh>
38 #include <protocols/flxbb/FlxbbDesign_main.hh>
39 #include <protocols/ddg/ddG_main.hh>
40 #include <protocols/canonical_sampling/CanonicalSamplingApplication.hh>
41 #include <protocols/canonical_sampling/CanonicalSamplingMover.hh>
42 #include <protocols/frag_picker/nonlocal/NonlocalFragsMain.hh>
43 #include <protocols/star/StarAbinitioMain.hh>
46 #include <protocols/boinc/boinc.hh>
47 #include <protocols/init/init.hh>
51 #include <protocols/init/init.hh>
52 #include <core/import_pose/import_pose.hh>
53 #include <core/io/pdb/pdb_writer.hh>
56 #include <core/types.hh>
65 #include <core/pose/Pose.hh>
66 #include <core/import_pose/import_pose.hh>
67 #include <core/io/pdb/pdb_writer.hh>
68 #include <core/io/silent/util.hh>
69 #include <core/pose/util.hh>
82 #include <protocols/checkpoint/Checkpoint.hh>
83 #include <protocols/jd2/BOINCJobDistributor.hh>
84 #include <protocols/relax/relax_main.hh>
93 std::cerr <<
"DummyMover::apply() should never have been called!"
94 <<
" (JobDistributor/Parser should have replaced DummyMover.)" << std::endl;
97 virtual std::string
get_name()
const {
return "DummyMover"; }
101 main(
int argc,
char * argv [] )
106 using namespace basic::options::OptionKeys;
110 #ifdef BOINC // BOINC STUFF
114 Boinc boinc_wu = Boinc::instance();
115 boinc_wu.initialize_worker();
118 for (
int i=0; i<argc; ++i) {
119 if (!strcmp(argv[i],
"-use_filters")) {
120 std::cerr <<
"Fixing ambiguous flag " << argv[i];
121 char tmpstr[] =
"-abinitio::use_filters";
123 std::cerr <<
" to " << argv[i] << std::endl;
128 for (
int i=0; i< argc; ++i ) {
136 #ifdef BOINC // BOINC STUFF
147 #ifdef BOINC // BOINC STUFF
150 protocols::abinitio::register_options_broker();
152 #ifdef BOINC // BOINC STUFF
170 #ifdef BOINC // BOINC STUFF
172 #ifdef BOINC_GRAPHICS
175 Boinc::set_wu_desc();
176 Boinc::set_randomly_cycle_appearance(
option[
run::protocol]() !=
"simple_cycpep_predict" );
182 bool is_database =
false;
183 if (resolvedfile ==
"minirosetta_database.zip") {
189 utility::boinc::resolve_filename( resolvedfile );
195 boinc_zip(UNZIP_IT, resolvedfile,
"./");
208 std::string resolvedfile = *it;
209 utility::boinc::resolve_filename( resolvedfile );
212 *it +
" does not exist!"
216 boinc_zip(UNZIP_IT, resolvedfile,
"./");
232 #ifdef BOINC_GRAPHICS
237 core::import_pose::pose_from_file( *native_pose_,
option[
in::file::native ]() , core::import_pose::PDB_file);
238 if ( native_pose_->total_residue() <= protocols::boinc::MAX_NATIVE_POSE_RESIDUES ) {
239 core::pose::set_ss_from_phipsi( *native_pose_ );
240 protocols::boinc::Boinc::set_graphics_native_pose( *native_pose_ );
244 protocols::boinc::Boinc::set_shared_memory_fully_initialized();
252 protocols::abinitio::AbrelaxApplication
abrelax;
255 protocols::cyclic_peptide_predict::SimpleCycpepPredictApplication peppredict;
258 protocols::symmetric_docking::SymDock_main();
260 protocols::abinitio::Broker_main();
262 protocols::loophash::loophash_main();
266 protocols::relax::Relax_main(
true );
268 protocols::loop_build::LoopBuild_main(
true );
270 protocols::comparative_modeling::cm_main();
272 protocols::medal::Medal_main(NULL);
274 protocols::medal::MedalExchange_main(NULL);
276 protocols::star::StarAbinitio_main(NULL);
278 protocols::RBSegmentRelax_main( );
280 protocols::abinitio::run_boinc_debug();
282 protocols::flxbb::FlxbbDesign_main();
284 protocols::moves::MoverOP mover(
new DummyMover );
287 protocols::jd2::BOINCJobDistributor::get_instance()->go( mover );
289 protocols::ddG_main();
291 protocols::canonical_sampling::canonical_sampling_main();
293 protocols::frag_picker::nonlocal::NonlocalFrags_main();
302 double runtime = protocols::boinc::Boinc::get_boinc_wu_cpu_time();
307 double minTimePerModel = 61;
308 protocols::boinc::boincOutputFilter(runtime,minTimePerModel);
313 std::cerr <<
"reached end of minirosetta::main()" << std::endl;
318 protocols::boinc::Boinc::worker_finish_summary( protocols::boinc::Boinc::decoy_count() + 2 , protocols::boinc::Boinc::decoy_count() + 2 , 2 );
319 protocols::boinc::Boinc::worker_shutdown();
323 std::cerr <<
"std::cerr: Exception was thrown: " << std::endl;
325 std::cout <<
"std::cout: Exception was thrown: " << std::endl;
328 MPI_Abort( MPI_COMM_WORLD, 911 );
334 std::cout <<
"caught exception " << e.
msg() << std::endl;
348 int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst,
349 LPSTR Args,
int WinMode)
355 command_line = GetCommandLine();
356 argc = parse_command_line( command_line, argv );
357 return main(argc, argv);
ocstream cerr(std::cerr)
Wrapper around std::cerr.
#define utility_exit_with_message(m)
Exit with file + line + message.
basic::options::OptionKeys collection
FileOptionKey const native
virtual std::string const msg() const
utility::keys::KeyLookup< KeyType >::const_iterator const_iterator
Key collection iterators.
BooleanOptionKey const checkpoint
vector0: std::vector with assert-checked bounds
Wrappers to make BOINC work.
StringOptionKey const protocol
void init(int argc, char *argv[])
Command line init() version.
FileVectorOptionKey const boinc_wu_zip
Platform independent operations on files (except I/O)
#define runtime_assert(_Expression)
Assert that the condition holds. Evaluated for both debug and release builds.
RealOptionKey const score_cut_pct
long gzip(std::string const &uncompressedfile, bool overwrite)
gzip: file compression
int main(int argc, char *argv[])
common derived classes for thrown exceptions
BooleanOptionKey const boinc
virtual void show(std::ostream &) const =0
IntegerOptionKey const end
BooleanOptionKey const abrelax
Program exit functions and macros.
virtual std::string get_name() const
basic::options::OptionKeys collection
std::vector with 1-based indexing
BooleanOptionKey const dd_parser
basic::options::OptionKeys collection
rule< Scanner, options_closure::context_t > options
PathVectorOptionKey const database
Permanent solution, add the .params to the minirosetta_database of PyRosetta.
utility::options::OptionCollection option
OptionCollection global.
Output file stream wrapper for uncompressed and compressed files.
virtual void apply(core::pose::Pose &)
ocstream cout(std::cout)
Wrapper around std::cout.
IntegerOptionKey const checkpoint_interval
StringOptionKey const zip
vector1: std::vector with 1-based indexing
bool file_exists(std::string const &path)
Does File Exist?
ozstream: Output file stream wrapper for uncompressed and compressed files
Must have this after BOINC stuff to avoid windows build error.
void init()
set global 'init_was_called' to true
Program options global and initialization function.
ocstream & flush()
Flush the stream.
StringOptionKey const user
basic::options::OptionKeys collection