Table 1:
Comparison of Watchdog with 4 other commonly used WMSs.
Category | No. | Feature | Watchdog | Galaxy | KNIME | Snakemake | Nextflow |
---|---|---|---|---|---|---|---|
Reusability | F1 | Support for tool creation | Command-line/GUI | Command-line1 | Eclipse Wizard | No | NA |
F2 | Tool documentation | XML based | XML based | XML based | YAML based2 | NA | |
F3 | Tool reference book | Web page generator | Part of GUI | Part of GUI | Web page generator | NA | |
F4 | Tool versioning | Yes | Yes | Yes | Yes | NA | |
F5 | Sharing of tools | Repository3 | ToolShed4 | KNIME Hub5/NodePit6,* | Repository7 | NA | |
F6 | Sharing of workflows | Repository3 | ToolShed4 | KNIME Hub5/NodePit6,* | Repository8 | nf-core9,* | |
F7 | Repurposing of workflows | XML edit/GUI | GUI | GUI | Copy Snakefile | Command-line | |
Reproducibility | F8 | Software version logging | Yes | No | No | Yes | No |
F9 | Software deployment | Execution wrappers, Conda, Docker | Conda, Docker | No | Conda, Docker | Conda, Docker | |
F10 | Creation of workflow report | Yes | List via history | Static description10 | HTML report | HTML report | |
F11 | Citation export | Yes | Yes | No | No | No | |
Execution | F12 | Resume workflow | Yes | No | Yes | Yes | Yes |
F13 | Process only updated tasks | Yes | No | Yes | Yes11 | Yes | |
F14 | Process only new replicates | Yes | No | No | Yes11 | Yes | |
F15 | Detach/reattach | Yes | Yes12 | Non-free feature13 | Yes14 | No |
The selected WMSs are compared against Watchdog based on features grouped broadly into the categories reusability, reproducibility, and execution. NA: not applicable. 1Python-based command-line program (Planemo). 2No explicit documentation of parameters but example Snakefile and wrapper source code is part of the documentation. 3[18]. 4[28]. 5[29]. 6[30]. 7[31]. 8[32]. 9[33.] 10A description that was manually created for a specific workflow can be displayed but is not dynamically created. 11Flag "--list-params-changes" or "--list-input-changes" in combination with the "--forcerun" flag. 12Client: anytime/server: if jobs are not executed locally on the server. 13Non-free SGE extension or KNIME server required. 14Sending of a TERM signal stops scheduling of new jobs and waits for all running jobs to finish; Ctrl+C kills all jobs running on the local computer, while jobs running on a computing cluster continue to run. *Community project.