MCPcopy Create free account
hub / github.com/OpenMS/OpenMS / runPipeline

Method runPipeline

src/openms_gui/source/VISUAL/TOPPASScene.cpp:607–673  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

605 }
606
607 void TOPPASScene::runPipeline()
608 {
609 error_occured_ = false;
610 resume_source_ = nullptr; // we are not resuming, so reset the resume node
611
612 // reset all nodes
613 for (VertexIterator it = verticesBegin(); it != verticesEnd(); ++it)
614 {
615 (*it)->reset(true);
616 }
617 update(sceneRect());
618
619 // check if pipeline OK
620 if (!sanityCheck_(gui_))
621 {
622 if (!gui_)
623 {
624 emit pipelineExecutionFailed(); // the user cannot interact. End processing.
625 }
626 return;
627 }
628
629 // ask for output directory
630 if (!askForOutputDir(true))
631 {
632 return;
633 }
634
635 std::vector<bool> runs;
636 runs.push_back(true); // iterate through dry run and normal run
637 runs.push_back(false);
638
639 foreach(bool dry_run_state, runs)
640 {
641 this->dry_run_ = dry_run_state;
642 setPipelineRunning();
643
644 std::cout << "current dry-run state: " << dry_run_state << "\n";
645
646 // reset all nodes
647 for (VertexIterator it = verticesBegin(); it != verticesEnd(); ++it)
648 {
649 (*it)->reset(true);
650 }
651 update(sceneRect());
652
653 // reset logfile
654 QFile logfile(out_dir_ + QDir::separator() + "TOPPAS.log");
655 if (logfile.exists())
656 logfile.remove();
657
658 // reset processes
659 topp_processes_queue_.clear();
660
661 // start at input nodes
662 for (VertexIterator it = verticesBegin(); it != verticesEnd(); ++it)
663 {
664 if (error_occured_) break; // someone raised an error

Callers 1

main_Method · 0.45

Calls 2

resetMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected