Data Workflow Documentation Best Practices
Objective
This documents aims to highlight the best practices around the miniminimal information to be provided as data workflow/pipeline documentation as defined in the Data & Workflows Engineering Capability Circle.
-
The documentation of the workflow should be readable by end-users without having to access the code
-
It needs to be accessible by everyone, not only by users of the code (findability)
-
In-scope of this best practice are automated or semi-automated computational workflows such as data processing/transformation pipelines
-
Out-of-scope are manual or business workflows (e.g. assay/experiment protocols, etc.)
| Information | Purpose | Mandatory vs. Optional |
|---|---|---|
Title → Comprehensive but crisp and unambiguous title |
M |
|
Version → Current version of the Workflow using Semantic Versioning Scheme (https://semver.org/) |
E.g. first release v1, small change v1.1., larger change v2… for versions that are made available to other users |
M |
Version History/Changelog |
O |
|
Workflow Owner/Maintainer ((team) name and email) |
M |
|
Description → Brief abstract about the purpose of the workflow extending the title (e.g. modalities, types of data, outputs of the workflow) |
M |
|
Steps of workflow including description (component/software tool used, version of tool, command line executed, including manual steps) |
In brief, this can be a more holistic and detailed description. It should inform the reader what is used. |
M |
Diagram of the workflow |
O |
|
Tags or keywords (e.g. data types) |
For searching in case a workflow registry is available, independent of the used platform |
O |
Workflow Category/Type of Analysis → (type (preprocessing, QC), technology (single cell, rnaseq, image processing)) |
Existing in RTS, genomic, transcriptomic, single-cell, imaging, other/to be defined → as drop-down/selection? |
M |
Tools/programming language (Python, Pipeline Pilot, KNIME, etc) |
If a user wants to search for workflows created in a tool he/she already knows |
O |
Source code location or external documentation (“How to” of workflow) |
Link or link to Wiki page |
M |
Inputs including type (e.g. type of data or file format etc.) and description |
M |
|
Outputs including description/type |
M |
|
Is workflow non-restricted or requires access? (if requires access, how to apply for access) |
M |
|
Any licensing regarding the tools used |
O |
|
Any licensing regarding the data (for which the workflow was created; if this is unclear reach out to DWE circle) |
O |