A vertex representing a TOPP tool. More...
#include <OpenMS/VISUAL/TOPPASToolVertex.h>
Classes | |
| struct | IOInfo |
| Stores the information for input/output files/lists. More... | |
Public Types | |
| enum | TOOLSTATUS { TOOL_READY, TOOL_SCHEDULED, TOOL_RUNNING, TOOL_SUCCESS, TOOL_CRASH, TOOLSTATUS_SIZE } |
| current status of the vertex More... | |
Public Types inherited from TOPPASVertex | |
| enum | DFS_COLOR { DFS_WHITE, DFS_GRAY, DFS_BLACK } |
| The color of a vertex during depth-first search. More... | |
| enum | SUBSTREESTATUS { TV_ALLFINISHED, TV_UNFINISHED, TV_UNFINISHED_INBRANCH } |
| The color of a vertex during depth-first search. More... | |
| typedef QList< TOPPASEdge * > | EdgeContainer |
| The container for in/out edges. More... | |
| typedef EdgeContainer::iterator | EdgeIterator |
| A mutable iterator for in/out edges. More... | |
| typedef EdgeContainer::const_iterator | ConstEdgeIterator |
| A const iterator for in/out edges. More... | |
| typedef std::map< Int, VertexRoundPackage > | RoundPackage |
| typedef RoundPackage::const_iterator | RoundPackageConstIt |
| typedef RoundPackage::iterator | RoundPackageIt |
| typedef std::vector< RoundPackage > | RoundPackages |
| all information a node needs to process all rounds More... | |
Public Slots | |
| void | executionFinished (int ec, QProcess::ExitStatus es) |
| Called when the execution of this tool has finished. More... | |
| void | forwardTOPPOutput () |
| Called when the running TOPP tool produces output. More... | |
| void | toolStartedSlot () |
| Called when the tool is started. More... | |
| void | toolFinishedSlot () |
| Called when the tool has finished. More... | |
| void | toolCrashedSlot () |
| Called when the tool has crashed. More... | |
| void | toolFailedSlot () |
| Called when the tool has failed. More... | |
| virtual void | toolScheduledSlot () |
| Called when the tool was scheduled for running. More... | |
| virtual void | inEdgeHasChanged () |
| Called by an incoming edge when it has changed. More... | |
| virtual void | outEdgeHasChanged () |
| Called by an outgoing edge when it has changed. More... | |
Public Slots inherited from TOPPASVertex | |
| virtual void | inEdgeHasChanged () |
| Called by an incoming edge when it has changed. More... | |
| virtual void | outEdgeHasChanged () |
| Called by an outgoing edge when it has changed. More... | |
Signals | |
| void | toolStarted () |
| Emitted when the tool is started. More... | |
| void | toolFinished () |
| Emitted when the tool is finished. More... | |
| void | toolCrashed () |
| Emitted when the tool crashes. More... | |
| void | toolFailed (const QString &message="") |
| Emitted when the tool execution fails. More... | |
| void | toppOutputReady (const QString &out) |
| Emitted from forwardTOPPOutput() to forward the signal outside. More... | |
Signals inherited from TOPPASVertex | |
| void | clicked () |
| Emitted when this item is clicked. More... | |
| void | released () |
| Emitted when this item is released. More... | |
| void | hoveringEdgePosChanged (const QPointF &new_pos) |
| Emitted when the position of the hovering edge changes. More... | |
| void | newHoveringEdge (const QPointF &pos) |
| Emitted when a new out edge is supposed to be created. More... | |
| void | finishHoveringEdge () |
| Emitted when the mouse is released after having dragged a new edge somewhere. More... | |
| void | somethingHasChanged () |
| Emitted when something has changed. More... | |
| void | itemDragged (qreal dx, qreal dy) |
| Emitted when the item is dragged. More... | |
| void | parameterChanged (const bool invalidates_running_pipeline) |
Public Member Functions | |
| TOPPASToolVertex () | |
| Default constructor. More... | |
| TOPPASToolVertex (const String &name, const String &type="") | |
| Constructor. More... | |
| TOPPASToolVertex (const TOPPASToolVertex &rhs) | |
| Copy constructor. More... | |
| virtual | ~TOPPASToolVertex () |
| Destructor. More... | |
| TOPPASToolVertex & | operator= (const TOPPASToolVertex &rhs) |
| Assignment operator. More... | |
| virtual String | getName () const |
| returns the name of the TOPP tool More... | |
| const String & | getType () const |
| Returns the type of the tool. More... | |
| void | getInputParameters (QVector< IOInfo > &input_infos) const |
Fills input_infos with the required input file/list parameters together with their valid types. More... | |
| void | getOutputParameters (QVector< IOInfo > &output_infos) const |
Fills output_infos with the required output file/list parameters together with their valid types. More... | |
| virtual void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) |
| Paints the item. More... | |
| virtual QRectF | boundingRect () const |
| Returns the bounding rectangle of this item. More... | |
| virtual QPainterPath | shape () const |
| Returns a more precise shape. More... | |
| virtual void | setTopoNr (UInt nr) |
| Sets the topological sort number (overridden in tool and output vertices) More... | |
| virtual void | reset (bool reset_all_files=false) |
| Resets the status. More... | |
| void | setParam (const Param ¶m) |
| Sets the Param object of this tool. More... | |
| const Param & | getParam () |
| Returns the Param object of this tool. More... | |
| void | run () |
| Checks if all parent nodes have finished the tool execution and, if so, runs the tool. More... | |
| bool | updateCurrentOutputFileNames (const RoundPackages &pkg, String &error_message) |
| TOOLSTATUS | getStatus () const |
| return if tool failed or is ready etc. More... | |
| void | editParam () |
| Lets the user edit the parameters of the tool. More... | |
| int | numIterations () |
| Returns the number of iterations this tool has to perform. More... | |
| String | getFullOutputDirectory () const |
| Returns the full directory (including preceding tmp path) More... | |
| String | getOutputDir () const |
| Returns the directory where this tool stores its output files. More... | |
| void | createDirs () |
| Creates all necessary directories. More... | |
| void | openContainingFolder () |
| Opens the folder where the file is contained. More... | |
| void | openInTOPPView () |
| Opens the files in TOPPView. More... | |
| bool | refreshParameters () |
| Refreshes the parameters of this tool, returns if their has been a change. More... | |
| bool | isToolReady () const |
| underlying TOPP tool found and parameters fetched?! (done in C'Tor) More... | |
| void | toggleBreakpoint () |
| Toggle breakpoint. More... | |
| virtual void | emitToolStarted () |
| Called when the QProcess in the queue is called: emits 'toolStarted()'. More... | |
| virtual bool | invertRecylingMode () |
| invert status of recycling (overriding base class) More... | |
Public Member Functions inherited from TOPPASVertex | |
| TOPPASVertex () | |
| Default Constructor. More... | |
| TOPPASVertex (const TOPPASVertex &rhs) | |
| Copy constructor. More... | |
| virtual | ~TOPPASVertex () |
| Destructor. More... | |
| TOPPASVertex & | operator= (const TOPPASVertex &rhs) |
| Assignment operator. More... | |
| bool | buildRoundPackages (RoundPackages &pkg, String &error_msg) |
| bool | isUpstreamFinished () const |
| check if all upstream nodes are ready to go ( 'finished_' is true) More... | |
| ConstEdgeIterator | outEdgesBegin () const |
| Returns begin() iterator of outgoing edges. More... | |
| ConstEdgeIterator | outEdgesEnd () const |
| Returns end() iterator of outgoing edges. More... | |
| ConstEdgeIterator | inEdgesBegin () const |
| Returns begin() iterator of incoming edges. More... | |
| ConstEdgeIterator | inEdgesEnd () const |
| Returns end() iterator of incoming edges. More... | |
| Size | incomingEdgesCount () |
| Returns the number of incoming edges. More... | |
| Size | outgoingEdgesCount () |
| Returns the number of outgoing edges. More... | |
| void | addInEdge (TOPPASEdge *edge) |
| Adds an incoming edge. More... | |
| void | addOutEdge (TOPPASEdge *edge) |
| Adds an outgoing edge. More... | |
| void | removeInEdge (TOPPASEdge *edge) |
| Removes an incoming edge. More... | |
| void | removeOutEdge (TOPPASEdge *edge) |
| Removes an outgoing edge. More... | |
| DFS_COLOR | getDFSColor () |
| Returns the DFS color of this node. More... | |
| void | setDFSColor (DFS_COLOR color) |
| Sets the DFS color of this node. More... | |
| TOPPASVertex * | getDFSParent () |
| Returns the DFS parent of this node. More... | |
| void | setDFSParent (TOPPASVertex *parent) |
| Sets the DFS parent of this node. More... | |
| TOPPASVertex::SUBSTREESTATUS | getSubtreeStatus () const |
| Checks if all tools in the subtree below this node are finished. More... | |
| bool | isTopoSortMarked () |
| Returns whether the vertex has been marked already (during topological sort) More... | |
| void | setTopoSortMarked (bool b) |
| (Un)marks the vertex (during topological sort) More... | |
| UInt | getTopoNr () |
| Returns the topological sort number. More... | |
| virtual void | markUnreachable () |
| Marks this node (and everything further downstream) as unreachable. Overridden behavior in mergers. More... | |
| bool | isReachable () |
| Returns whether this node is reachable. More... | |
| bool | isFinished () const |
| Returns whether this node has already been processed during the current pipeline execution. More... | |
| bool | isRecyclingEnabled () const |
| get status of recycling More... | |
| void | setRecycling (const bool is_enabled) |
| set status of recycling More... | |
| QStringList | getFileNames (int param_index, int round) const |
| gets filenames for a certain output parameter (from this vertex), for a certain TOPPAS round More... | |
| QStringList | getFileNames () const |
| get all output files for all parameters for all rounds More... | |
| const RoundPackages & | getOutputFiles () const |
| bool | allInputsReady () |
| check if all upstream nodes are finished More... | |
Protected Member Functions | |
| bool | doesParamChangeInvalidate_ () |
| determines if according to current status_, a parameter change would invalidate the pipeline status (e.g., because this node was already processed) More... | |
| bool | renameOutput_ () |
| renames SUFFICES of the output files created by the TOPP tool by inspecting file content More... | |
| bool | initParam_ (const QString &old_ini_file="") |
| Initializes the parameters with standard values (from -write_ini), uses the parameters from the old_ini_file if given, returns if parameters have changed (if old_ini_file was given) More... | |
| void | getParameters_ (QVector< IOInfo > &io_infos, bool input_params) const |
Fills io_infos with the required input/output file/list parameters. If input_params is true, input params are returned, otherwise output params. More... | |
| void | writeParam_ (const Param ¶m, const QString &ini_file) |
Writes param to the ini_file. More... | |
| QString | toolnameWithWhitespacesForFancyWordWrapping_ (QPainter *painter, const QString &str) |
| Helper method for finding good boundaries for wrapping the tool name. Returns a string with whitespaces at the preferred boundaries. More... | |
| void | smartFileNames_ (std::vector< QStringList > &filenames) |
reimplemented Qt events | |
| void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *e) |
Protected Member Functions inherited from TOPPASVertex | |
| virtual void | moveNewEdgeTo_ (const QPointF &pos) |
Moves the target pos of the edge which is just being created to pos. More... | |
| String | get3CharsNumber_ (UInt number) const |
Returns a three character string (i.e. 001 instead of 1) for the given number. More... | |
| void | debugOut_ (const String &) const |
Displays the debug output message, if TOPPAS_DEBUG is defined. More... | |
| void | mouseReleaseEvent (QGraphicsSceneMouseEvent *e) |
| void | mousePressEvent (QGraphicsSceneMouseEvent *e) |
| void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *e) |
| void | mouseMoveEvent (QGraphicsSceneMouseEvent *e) |
| void | contextMenuEvent (QGraphicsSceneContextMenuEvent *event) |
Protected Attributes | |
| String | name_ |
| The name of the tool. More... | |
| String | type_ |
| The type of the tool, or "" if it does not have a type. More... | |
| String | tmp_path_ |
| The temporary path. More... | |
| Param | param_ |
| The parameters of the tool. More... | |
| TOOLSTATUS | status_ |
| current status of the tool More... | |
| bool | tool_ready_ |
| tool initialization status: if C'tor was successful in finding the TOPP tool, this is set to 'true' More... | |
| bool | breakpoint_set_ |
| Breakpoint set? More... | |
Protected Attributes inherited from TOPPASVertex | |
| EdgeContainer | in_edges_ |
| The list of incoming edges. More... | |
| EdgeContainer | out_edges_ |
| The list of outgoing edges. More... | |
| bool | edge_being_created_ |
| Indicates whether a new out edge is currently being created. More... | |
| QColor | pen_color_ |
| The color of the pen. More... | |
| QColor | brush_color_ |
| The color of the brush. More... | |
| DFS_COLOR | dfs_color_ |
| The DFS color of this node. More... | |
| TOPPASVertex * | dfs_parent_ |
| The DFS parent of this node. More... | |
| bool | topo_sort_marked_ |
| "marked" flag for topological sort More... | |
| UInt | topo_nr_ |
| The number in a topological sort of the entire graph. More... | |
| RoundPackages | output_files_ |
| Stores the current output file names for each output parameter. More... | |
| int | round_total_ |
| number of rounds this node will do ('Merge All' nodes will pass everything, thus do only one round) More... | |
| int | round_counter_ |
| currently finished number of rounds (TODO: do we need that?) More... | |
| bool | finished_ |
| Stores whether this node has already been processed during the current pipeline execution. More... | |
| bool | reachable_ |
| Indicates whether this node is reachable (i.e. there is an input node somewhere further upstream) More... | |
| bool | allow_output_recycling_ |
| shall subsequent tools be allowed to recycle the output of this node to match the number of rounds imposed by other parent nodes? More... | |
Static Protected Attributes | |
| static UInt | uid_ |
| UID for output files. More... | |
A vertex representing a TOPP tool.
Besides TOPPASScene, this class contains most of the remaining functionality of TOPPAS regarding the execution of pipelines. Once a pipeline run is started from TOPPASScene, the execution is propagated from tool to tool and the TOPP tools are actually called from here.
| enum TOOLSTATUS |
| TOPPASToolVertex | ( | ) |
Default constructor.
| TOPPASToolVertex | ( | const String & | name, |
| const String & | type = "" |
||
| ) |
Constructor.
| TOPPASToolVertex | ( | const TOPPASToolVertex & | rhs | ) |
Copy constructor.
|
virtual |
Destructor.
|
virtual |
Returns the bounding rectangle of this item.
Implements TOPPASVertex.
| void createDirs | ( | ) |
Creates all necessary directories.
|
protected |
determines if according to current status_, a parameter change would invalidate the pipeline status (e.g., because this node was already processed)
| void editParam | ( | ) |
Lets the user edit the parameters of the tool.
|
virtual |
Called when the QProcess in the queue is called: emits 'toolStarted()'.
|
slot |
Called when the execution of this tool has finished.
|
slot |
Called when the running TOPP tool produces output.
| String getFullOutputDirectory | ( | ) | const |
Returns the full directory (including preceding tmp path)
| void getInputParameters | ( | QVector< IOInfo > & | input_infos | ) | const |
Fills input_infos with the required input file/list parameters together with their valid types.
|
virtual |
returns the name of the TOPP tool
Implements TOPPASVertex.
Referenced by TOPPASBase::toolCrashed(), TOPPASBase::toolFailed(), TOPPASBase::toolFinished(), and TOPPASBase::toolStarted().
| String getOutputDir | ( | ) | const |
Returns the directory where this tool stores its output files.
| void getOutputParameters | ( | QVector< IOInfo > & | output_infos | ) | const |
Fills output_infos with the required output file/list parameters together with their valid types.
|
protected |
Fills io_infos with the required input/output file/list parameters. If input_params is true, input params are returned, otherwise output params.
| TOOLSTATUS getStatus | ( | ) | const |
return if tool failed or is ready etc.
| const String& getType | ( | ) | const |
Returns the type of the tool.
Referenced by TOPPASBase::toolCrashed(), TOPPASBase::toolFailed(), TOPPASBase::toolFinished(), and TOPPASBase::toolStarted().
|
virtualslot |
Called by an incoming edge when it has changed.
|
protected |
Initializes the parameters with standard values (from -write_ini), uses the parameters from the old_ini_file if given, returns if parameters have changed (if old_ini_file was given)
|
virtual |
invert status of recycling (overriding base class)
Reimplemented from TOPPASVertex.
| bool isToolReady | ( | ) | const |
underlying TOPP tool found and parameters fetched?! (done in C'Tor)
Referenced by TOPPASBase::insertNewVertex_().
|
protected |
| int numIterations | ( | ) |
Returns the number of iterations this tool has to perform.
| void openContainingFolder | ( | ) |
Opens the folder where the file is contained.
| void openInTOPPView | ( | ) |
Opens the files in TOPPView.
| TOPPASToolVertex& operator= | ( | const TOPPASToolVertex & | rhs | ) |
Assignment operator.
|
virtualslot |
Called by an outgoing edge when it has changed.
|
virtual |
Paints the item.
Implements TOPPASVertex.
| bool refreshParameters | ( | ) |
Refreshes the parameters of this tool, returns if their has been a change.
|
protected |
renames SUFFICES of the output files created by the TOPP tool by inspecting file content
|
virtual |
Resets the status.
Reimplemented from TOPPASVertex.
|
virtual |
Checks if all parent nodes have finished the tool execution and, if so, runs the tool.
Reimplemented from TOPPASVertex.
|
virtual |
Sets the topological sort number (overridden in tool and output vertices)
Reimplemented from TOPPASVertex.
|
virtual |
Returns a more precise shape.
Implements TOPPASVertex.
|
protected |
smart naming of round-based filenames when basename is not unique we take the preceding directory name
| void toggleBreakpoint | ( | ) |
Toggle breakpoint.
|
signal |
Emitted when the tool crashes.
|
slot |
Called when the tool has crashed.
|
signal |
Emitted when the tool execution fails.
|
slot |
Called when the tool has failed.
|
signal |
Emitted when the tool is finished.
|
slot |
Called when the tool has finished.
|
protected |
Helper method for finding good boundaries for wrapping the tool name. Returns a string with whitespaces at the preferred boundaries.
|
virtualslot |
Called when the tool was scheduled for running.
|
signal |
Emitted when the tool is started.
|
slot |
Called when the tool is started.
|
signal |
Emitted from forwardTOPPOutput() to forward the signal outside.
| bool updateCurrentOutputFileNames | ( | const RoundPackages & | pkg, |
| String & | error_message | ||
| ) |
Updates the vector containing the lists of current output files for all output parameters using the input files as guidance Returns true on success, on failure the error_message is filled
|
protected |
Writes param to the ini_file.
|
protected |
Breakpoint set?
|
protected |
The name of the tool.
|
protected |
The parameters of the tool.
|
protected |
current status of the tool
|
protected |
The temporary path.
|
protected |
tool initialization status: if C'tor was successful in finding the TOPP tool, this is set to 'true'
|
protected |
The type of the tool, or "" if it does not have a type.
|
staticprotected |
UID for output files.
| OpenMS / TOPP release 1.11.1 | Documentation generated on Thu Nov 14 2013 11:19:36 using doxygen 1.8.5 |