Workflow based systems provide explicit representation of the structure of the experiments, automation of repetitive tasks and computations, and transparently capture provenance information.
Provenance in workflow systems include:
Prospective provenance - description of the experiment workflow structure such as modules, connections, and inputs.
Retrospective provenance – information on the execution of workflow and what happened when it was run.
Workflow evolution –history and versions of workflow (especially when data is iteratively refined)
To capture research provenance, 3 classes of tools need to be install: a shell or terminal program for access to command line, a plain text editor or a development environment and software allowing the user to write and execute code in a chosen programming language
Examples of Workflow Management tools include:
For more information on registration. Please check the following links:
Data Cleanup and Processing are key components of replicability and reproducibility.
Here are some best practices:
.
Best practices for Acquisition of data include:
Electronic Lab Notebooks are frequently used to encourage reproducible data acquisition practices.
File versioning is a great way to maintain order in your research computations as well as to allow for better collaboration. There are many collaborative tools that support file versioning.
Check our guide for information on principles of good file naming, versioning and maintenance.
Code documentation provides human readable elements embedded in your code to allow other users to follow your code.
Many of these documentation tools will also allow you to create runnable code within a text. You can also make complete documents and even books!
Packaging tools allow you to collect multiple files (data, text, etc.) into...well...packages for easier portability. They are very helpful in moving files to and from a computer to a cloud environment.
Some packaging systems are being developed to also provide the appropriate software that is needed to run analyses within the code packages. CodeOcean is one of these systems.