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_infoswith the required input file/list parameters together with their valid types.  More... | |
| void | getOutputParameters (QVector< IOInfo > &output_infos) const | 
| Fills output_infoswith 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_infoswith the required input/output file/list parameters. Ifinput_paramsis true, input params are returned, otherwise output params.  More... | |
| void | writeParam_ (const Param ¶m, const QString &ini_file) | 
| Writes paramto theini_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 |