Homogenization of workflow metadata without restriction and user reeducation
Data PLANT
DataPLANT
2
knowledge
notes
digital information
Annotated Research Context (ARC)
3
experimental data
annotation
computation
Workflow FAIRness
4
How can CWL homogenize workflows?
5
Approach 1 �Write translators or CWL exporters for every workflow language or system
✗
CWL workflow
Galaxy to CWL�translator
Galaxy workflow
CWL workflow
NextFlow to CWL�translator
NextFlow workflow
Approach 2 �Use CWL to delegate the data to the workflow system in question
✓
Input Data
CWL
Inputs
Pure CWL workflow
Galaxy delegation workflow
NextFlow delegation workflow
Parent CWL Workflow
Step 1
Step 2
Step 3
Outputs
Executing Galaxy workflows with CWL
Be able to…
7
(ARC)
workflow.ga
Galaxy history
1. Create and download a Galaxy workflow
8
Be able to…
9
(ARC)
workflow.ga
Galaxy history
3. + 4.: Planemo to the rescue!
10
workflow.ga
galaxyInput.yml
„run“
Galaxy history
The complete workflow
11
planemo-run
(CommandLineTool)
galaxy-workflow.cwl
galaxyInputParams
history
cwl-galaxy-parser
(CommandLineTool)
Input1:
- class: File
path: sampletxt1.txt
- class: File
path: sampletxt2.txt
Input1
run.yml (cwl job file)
workflow.ga
Be able to…
12
(ARC)
workflow.ga
Galaxy history
Using Galaxy workflow metadata to autogenerate the process
Using Galaxy workflow metadata to autogenerate the process
🡪 Read inputs in the .ga file and generate the nececessary CWL files
14
{
"a_galaxy_workflow": "true",
"annotation": "",
"format-version": "0.1",
"name": "CWL-Galaxy Example",
"steps": {
"0": {
"annotation": "",
"content_id": null,
"errors": null,
"id": 0,
"input_connections": {},
"inputs": [
{
"description": "",
"name": "Input1"
}
],
"label": "Input1",
"name": "Input dataset collection",
"outputs": [],
"tool_id": null,
"tool_version": null,
"type": "data_collection_input",
"workflow_outputs": [
{
"label": null,
"output_name": "output",
"uuid": "3d82ba3c-a83f-45fb-b652-dcd3f0817c7b"
}
workflow.ga
cwl-ts-auto
15
galaxy-workflow-to-arc example
16
Input1:
- class: File
location: enter location
- class: File
location: enter location
run.yml
Executing the workflow using cwltool
17
ARC_GALAXY_URL="https://usegalaxy.eu" ARC_GALAXY_API_KEY="<YOUR_API_KEY>" cwltool --preserve-environment ARC_GALAXY_URL --preserve-environment ARC_GALAXY_API_KEY --outdir runs/run1 runs/run1/run.cwl runs/run1/run.yml
Summary
All the user needs to do:
18
Code repositories:
19
Thank You!