diff --git a/.cwl/README.md b/.cwl/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..c871e53701554c85298f7653a15b25b19062282b
--- /dev/null
+++ b/.cwl/README.md
@@ -0,0 +1,86 @@
+# CWL
+
+**Data analysis** in this ARC is packaged and made reusable via [Common Workflow Language (CWL)](https://www.commonwl.org).
+For details, visit the [DataPLANT knowledgebase](https://nfdi4plants.github.io/nfdi4plants.knowledgebase/cwl/).
+
+Briefly, every data analysis step (`runs`) is described with a `run.cwl` document. The `run.cwl` points (i.e. executes) one or multiple `workflows` (stored as `workflow.cwl`). The input parameters required for the `workflow.cwl` are documented in the accompanying `run.yml`. A `workflow.cwl` can be a single command line tool or a more complex workflow pipeline that references and combines other `*.cwl` documents.
+
+```bash
+...
+├── runs
+│   ├── fastqc
+│   │   ├── run.cwl
+│   │   └── run.yml
+│   ...
+├── studies
+│   ├── ...
+│
+└── workflows
+    ├── fastqc
+    │   ├── collectFilesInDir.cwl
+    │   ├── fastqc.cwl
+    │   └── workflow.cwl
+    ...
+```
+
+```mermaid
+%%{ init: {"flowchart": { "wrappingWidth": "10000" }}}%%
+
+flowchart TD
+
+workflowcwl --o runcwl
+
+subgraph r["runs/fastqc/"]
+    runcwl@{ shape: doc, label: "run.cwl" }
+    runyml@{ shape: doc, label: "run.yml" }
+end
+
+i[input: DB_097_CAMMD_CAGATC_L001_R1_001.fastq.gz] --o runyml
+r --> o[output: DB_097_CAMMD_CAGATC_L001_R1_001_fastqc.html]
+
+subgraph "workflows/fastqc"
+    workflowcwl@{ shape: doc, label: "workflow.cwl" }
+end
+```
+
+## Setup and dependencies
+
+Again, for details check the docs linked above.
+Executing cwl documents requires a cwl runner, e.g. [cwltool](https://github.com/common-workflow-language/cwltool).
+Software and package dependencies are ideally covered by Docker or Conda and described in the hints / requirements sections of cwl documents (e.g. `DockerRequirement` and / or `SoftwareRequirement`).
+
+Additional dependencies may exist for one or the other workflow (e.g. a local installation of R or F# or packages therein), if the workflow is not yet packaged perfectly reusable.
+
+## Default cwltool commands
+
+Here's a list of frequently used `cwltool` commands to validate or execute runs and workflows.
+
+### Validate document
+
+```bash
+cwltool --validate run.cwl
+```
+
+### Execute workflow in `./runs/*`
+
+```bash
+cwltool run.cwl run.yml
+```
+
+### capture log and run in bg
+
+```bash
+cwltool run.cwl run.yml > $(date +"%Y-%m-%d_%H-%M")-run.log 2>&1 &
+```
+
+### capture log, run in parallel and in bg
+
+```bash
+cwltool --parallel run.cwl run.yml > $(date +"%Y-%m-%d_%H-%M")-run.log 2>&1 &
+```
+
+### Print workflow to file
+
+```bash
+cwltool --print-dot run.cwl | dot -Tsvg > run.svg
+```
diff --git a/.cwl/cwl-notes.md b/.cwl/cwl-notes.md
deleted file mode 100644
index 61c90a92bb4d21b565c4281b2585ec6474428104..0000000000000000000000000000000000000000
--- a/.cwl/cwl-notes.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# CWL
-
-## Organisation
-
-### Runs
-
-Every run is described with a `run.cwl` workflow that points to (i.e. steps through) one or multiple workflows or tools.
-
-## Default cwltool commands
-
-### Validate document
-
-```bash
-cwltool --validate run.cwl
-```
-
-### Execute workflow in `./runs/*`
-
-```bash
-cwltool run.cwl run.yml
-```
-
-### capture log and run in bg
-
-```bash
-cwltool run.cwl run.yml > $(date +"%Y-%m-%d_%H-%M")-run.log 2>&1 &
-```
-
-### capture log, run in parallel and in bg
-
-```bash
-cwltool --parallel run.cwl run.yml > $(date +"%Y-%m-%d_%H-%M")-run.log 2>&1 &
-```
-
-### Print workflow to file
-
-```bash
-cwltool --print-dot run.cwl | dot -Tsvg > run.svg
-```
-
-### List all workflows
-
-```bash
-find ./workflows -name 'workflow.cwl' -exec zsh -c 'echo "$1" >> workflows.txt' zsh {} \;
-find ./workflows -name 'workflow.cwl' -exec zsh -c 'cwltool --validate "$1" > validate-workflows.txt' zsh {} \;
-find ./runs -name 'run.cwl' -exec zsh -c 'cwltool --validate "$1" > validate-runs.txt' zsh {} \;
-```
\ No newline at end of file
diff --git a/.cwl/cwl-plots/README.md b/.cwl/cwl-plots/README.md
deleted file mode 100644
index 5775769923097db75e5c22be238b0a40e5a5ba50..0000000000000000000000000000000000000000
--- a/.cwl/cwl-plots/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-
-```bash
-bash plot-cwls.sh "../../" "run.cwl" "runs-wfls.txt" "runs"
-```
\ No newline at end of file
diff --git a/.cwl/cwl-plots/plot-cwls.sh b/.cwl/cwl-plots/plot-cwls.sh
index dfa5660bf32ac5dbfa0adce3e995ecc5c876021d..f78df0cc1e64a97416d8a1f9b2695374df91cdb7 100644
--- a/.cwl/cwl-plots/plot-cwls.sh
+++ b/.cwl/cwl-plots/plot-cwls.sh
@@ -1,3 +1,7 @@
+
+
+# Test : `bash plot-cwls.sh "../../" "run.cwl" "runs-wfls.txt" "runs"`
+
 arcRoot=$1
 cwlPattern=$2
 outWflList=$3
@@ -8,8 +12,6 @@ find "$arcRoot"/ -name "$cwlPattern" > "$outWflList"
 mkdir -p "$outGraphs"
 
 while IFS= read -r wfl; do
-    dirname "$wfl" | xargs basename | xargs read wflname
+    read wflname < <(dirname "$wfl" | xargs basename)
     cwltool --print-dot "$wfl" | dot -Tsvg > "$outGraphs"/"$wflname".svg
-done < "$outWflList"
-
-
+done < "$outWflList"
\ No newline at end of file
diff --git a/.cwl/cwl-plots/validate-workflows.yml b/.cwl/cwl-plots/plot-workflows.yml
similarity index 72%
rename from .cwl/cwl-plots/validate-workflows.yml
rename to .cwl/cwl-plots/plot-workflows.yml
index ad62de6fdf30b07d0bd356f268fba0128bd9a315..f2eaecbb545f5bcf08a8cf91cb0de302f3174e04 100644
--- a/.cwl/cwl-plots/validate-workflows.yml
+++ b/.cwl/cwl-plots/plot-workflows.yml
@@ -3,4 +3,4 @@ arcRoot:
   path: "../../"
 cwlPattern: "workflow.cwl"
 outWflList: "workflow-wfls.txt"
-outValidation: "validate-workflows.txt"
\ No newline at end of file
+outGraphs: "workflows"
\ No newline at end of file
diff --git a/.cwl/cwl-plots/plot.cwl b/.cwl/cwl-plots/plot.cwl
index 0cab62619491814ba3e3aec560b11b7a7c081ae6..799d219932612a584bb5fcd2986e284516370e33 100644
--- a/.cwl/cwl-plots/plot.cwl
+++ b/.cwl/cwl-plots/plot.cwl
@@ -1,35 +1,85 @@
 #!/usr/bin/env cwl-runner
 cwlVersion: v1.2
-class: CommandLineTool
-requirements:
-  InitialWorkDirRequirement:
-    listing:
-      - entryname: plot-cwls.sh
-        entry:
-          $include: plot-cwls.sh
-
-baseCommand: ["bash", "plot-cwls.sh"]
+class: Workflow
 
 inputs:
-    arcRoot:
-        type: Directory
-        inputBinding:
-            position: 1
-    cwlPattern:
-        type: string
-        inputBinding:
-            position: 2
-    outWflList:
-        type: string
-        inputBinding:
-            position: 3
-    outGraphs:
-        type: string
-        inputBinding:
-            position: 4
+  arcRoot:
+    type: Directory
+  cwlPattern:
+    type: string
+  outWflList:
+    type: string
+  outGraphs:
+    type: string
 
 outputs:
-  output_files:
-    type: File[]
-    outputBinding:
-      glob: $(inputs.outGraphs)/*.svg
+  outputDir:
+    type: Directory
+    outputSource: collect_files/outDir
+
+steps:
+  plot:
+    run:
+        class: CommandLineTool
+        requirements:
+            InitialWorkDirRequirement:
+                listing:
+                    - entryname: plot-cwls.sh
+                      entry:
+                        $include: plot-cwls.sh
+
+        baseCommand: ["bash", "plot-cwls.sh"]
+
+        inputs:
+            arcRoot:
+                type: Directory
+                inputBinding:
+                    position: 1
+            cwlPattern:
+                type: string
+                inputBinding:
+                    position: 2
+            outWflList:
+                type: string
+                inputBinding:
+                    position: 3
+            outGraphs:
+                type: string
+                inputBinding:
+                    position: 4
+
+        outputs:
+            output_files:
+                type: File[]
+                outputBinding:
+                    glob: $(inputs.outGraphs)/*.svg
+    in:
+        arcRoot: arcRoot
+        cwlPattern: cwlPattern
+        outWflList: outWflList
+        outGraphs: outGraphs
+    
+    out: [output_files]
+
+  collect_files:
+    run: 
+        class: ExpressionTool
+        requirements:
+            InlineJavascriptRequirement: {}
+        inputs:
+            files: File[]
+            destination: string
+        expression: |
+            ${
+                return {"outDir": {
+                "class": "Directory", 
+                "basename": inputs.destination,
+                "listing": inputs.files
+                } };
+            }
+        outputs:
+            outDir: Directory
+    in:
+        files: plot/output_files
+        destination: outGraphs
+    out: [outDir]
diff --git a/.cwl/cwl-plots/runs/deseq2.svg b/.cwl/cwl-plots/runs/deseq2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..29efcbd3c929503f6c29c08d9a688033e46afd86
--- /dev/null
+++ b/.cwl/cwl-plots/runs/deseq2.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.42.3 (20191010.1750)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="564pt" height="246pt"
+ viewBox="0.00 0.00 564.00 246.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 242)">
+<title>G</title>
+<polygon fill="#eeeeee" stroke="transparent" points="-4,4 -4,-242 560,-242 560,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_inputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="8,-155 8,-230 548,-230 548,-155 8,-155"/>
+<text text-anchor="middle" x="492.92" y="-161.8" font-family="Times,serif" font-size="14.00">Workflow Inputs</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_outputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="214,-8 214,-83 333,-83 333,-8 214,-8"/>
+<text text-anchor="middle" x="273.25" y="-14.8" font-family="Times,serif" font-size="14.00">Workflow Outputs</text>
+</g>
+<!-- inKallistoResults -->
+<g id="node1" class="node">
+<title>inKallistoResults</title>
+<polygon fill="#94ddf4" stroke="black" points="427.78,-185.5 427.78,-221.5 540.22,-221.5 540.22,-185.5 427.78,-185.5"/>
+<text text-anchor="middle" x="484" y="-199.3" font-family="Times,serif" font-size="14.00">inKallistoResults</text>
+</g>
+<!-- deseq2 -->
+<g id="node5" class="node">
+<title>deseq2</title>
+<ellipse fill="none" stroke="black" cx="273" cy="-129" rx="34.83" ry="18"/>
+<text text-anchor="middle" x="273" y="-124.8" font-family="Times,serif" font-size="14.00">deseq2</text>
+</g>
+<!-- inKallistoResults&#45;&gt;deseq2 -->
+<g id="edge1" class="edge">
+<title>inKallistoResults&#45;&gt;deseq2</title>
+<path fill="none" stroke="black" d="M465.54,-185.39C453.25,-174.97 436.25,-162.3 419,-155 386.69,-141.33 347.36,-135.13 317.66,-132.32"/>
+<polygon fill="black" stroke="black" points="317.85,-128.82 307.59,-131.46 317.25,-135.8 317.85,-128.82"/>
+</g>
+<!-- inMetadataFactorList -->
+<g id="node2" class="node">
+<title>inMetadataFactorList</title>
+<polygon fill="#94ddf4" stroke="black" points="273.74,-185.5 273.74,-221.5 410.26,-221.5 410.26,-185.5 273.74,-185.5"/>
+<text text-anchor="middle" x="342" y="-199.3" font-family="Times,serif" font-size="14.00">inMetadataFactorList</text>
+</g>
+<!-- inMetadataFactorList&#45;&gt;deseq2 -->
+<g id="edge2" class="edge">
+<title>inMetadataFactorList&#45;&gt;deseq2</title>
+<path fill="none" stroke="black" d="M325.65,-185.32C316.41,-175.61 304.75,-163.36 294.75,-152.86"/>
+<polygon fill="black" stroke="black" points="297.25,-150.41 287.82,-145.58 292.18,-155.23 297.25,-150.41"/>
+</g>
+<!-- inMetadataFile -->
+<g id="node3" class="node">
+<title>inMetadataFile</title>
+<polygon fill="#94ddf4" stroke="black" points="154.62,-185.5 154.62,-221.5 255.38,-221.5 255.38,-185.5 154.62,-185.5"/>
+<text text-anchor="middle" x="205" y="-199.3" font-family="Times,serif" font-size="14.00">inMetadataFile</text>
+</g>
+<!-- inMetadataFile&#45;&gt;deseq2 -->
+<g id="edge3" class="edge">
+<title>inMetadataFile&#45;&gt;deseq2</title>
+<path fill="none" stroke="black" d="M221.12,-185.32C230.13,-175.71 241.49,-163.6 251.28,-153.16"/>
+<polygon fill="black" stroke="black" points="254.1,-155.26 258.39,-145.58 249,-150.47 254.1,-155.26"/>
+</g>
+<!-- inMetadataSample -->
+<g id="node4" class="node">
+<title>inMetadataSample</title>
+<polygon fill="#94ddf4" stroke="black" points="15.52,-185.5 15.52,-221.5 136.48,-221.5 136.48,-185.5 15.52,-185.5"/>
+<text text-anchor="middle" x="76" y="-199.3" font-family="Times,serif" font-size="14.00">inMetadataSample</text>
+</g>
+<!-- inMetadataSample&#45;&gt;deseq2 -->
+<g id="edge4" class="edge">
+<title>inMetadataSample&#45;&gt;deseq2</title>
+<path fill="none" stroke="black" d="M96.47,-185.35C109.78,-175.05 127.97,-162.52 146,-155 172.43,-143.97 204.02,-137.73 229.08,-134.24"/>
+<polygon fill="black" stroke="black" points="229.57,-137.7 239.04,-132.95 228.67,-130.76 229.57,-137.7"/>
+</g>
+<!-- output -->
+<g id="node6" class="node">
+<title>output</title>
+<polygon fill="#94ddf4" stroke="black" points="246,-38.5 246,-74.5 300,-74.5 300,-38.5 246,-38.5"/>
+<text text-anchor="middle" x="272.89" y="-52.3" font-family="Times,serif" font-size="14.00">output</text>
+</g>
+<!-- deseq2&#45;&gt;output -->
+<g id="edge5" class="edge">
+<title>deseq2&#45;&gt;output</title>
+<path fill="none" stroke="black" d="M273,-110.93C273,-103.17 273,-93.78 273,-85.06"/>
+<polygon fill="black" stroke="black" points="276.5,-84.9 273,-74.9 269.5,-84.9 276.5,-84.9"/>
+</g>
+</g>
+</svg>
diff --git a/.cwl/cwl-plots/runs/fastqc.svg b/.cwl/cwl-plots/runs/fastqc.svg
new file mode 100644
index 0000000000000000000000000000000000000000..485ba4ec8a3c8a5460032d39b3b4419cf03e731a
--- /dev/null
+++ b/.cwl/cwl-plots/runs/fastqc.svg
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.42.3 (20191010.1750)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="186pt" height="246pt"
+ viewBox="0.00 0.00 186.00 246.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 242)">
+<title>G</title>
+<polygon fill="#eeeeee" stroke="transparent" points="-4,4 -4,-242 182,-242 182,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_inputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="8,-155 8,-230 170,-230 170,-155 8,-155"/>
+<text text-anchor="middle" x="114.92" y="-161.8" font-family="Times,serif" font-size="14.00">Workflow Inputs</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_outputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="32,-8 32,-83 151,-83 151,-8 32,-8"/>
+<text text-anchor="middle" x="91.25" y="-14.8" font-family="Times,serif" font-size="14.00">Workflow Outputs</text>
+</g>
+<!-- fastq -->
+<g id="node1" class="node">
+<title>fastq</title>
+<polygon fill="#94ddf4" stroke="black" points="108,-185.5 108,-221.5 162,-221.5 162,-185.5 108,-185.5"/>
+<text text-anchor="middle" x="134.61" y="-199.3" font-family="Times,serif" font-size="14.00">fastq</text>
+</g>
+<!-- fastqc -->
+<g id="node3" class="node">
+<title>fastqc</title>
+<ellipse fill="none" stroke="black" cx="72" cy="-129" rx="31.45" ry="18"/>
+<text text-anchor="middle" x="72" y="-124.8" font-family="Times,serif" font-size="14.00">fastqc</text>
+</g>
+<!-- fastq&#45;&gt;fastqc -->
+<g id="edge1" class="edge">
+<title>fastq&#45;&gt;fastqc</title>
+<path fill="none" stroke="black" d="M123.03,-185.22C116.33,-175.95 107.62,-164.51 99,-155 97.98,-153.88 96.92,-152.74 95.83,-151.62"/>
+<polygon fill="black" stroke="black" points="98.03,-148.87 88.44,-144.36 93.12,-153.87 98.03,-148.87"/>
+</g>
+<!-- finaloutdir -->
+<g id="node2" class="node">
+<title>finaloutdir</title>
+<polygon fill="#94ddf4" stroke="black" points="15.83,-185.5 15.83,-221.5 90.17,-221.5 90.17,-185.5 15.83,-185.5"/>
+<text text-anchor="middle" x="53" y="-199.3" font-family="Times,serif" font-size="14.00">finaloutdir</text>
+</g>
+<!-- finaloutdir&#45;&gt;fastqc -->
+<g id="edge2" class="edge">
+<title>finaloutdir&#45;&gt;fastqc</title>
+<path fill="none" stroke="black" d="M57.5,-185.32C59.73,-176.83 62.46,-166.39 64.96,-156.88"/>
+<polygon fill="black" stroke="black" points="68.38,-157.62 67.53,-147.06 61.61,-155.84 68.38,-157.62"/>
+</g>
+<!-- outdir -->
+<g id="node4" class="node">
+<title>outdir</title>
+<polygon fill="#94ddf4" stroke="black" points="45,-38.5 45,-74.5 99,-74.5 99,-38.5 45,-38.5"/>
+<text text-anchor="middle" x="71.72" y="-52.3" font-family="Times,serif" font-size="14.00">outdir</text>
+</g>
+<!-- fastqc&#45;&gt;outdir -->
+<g id="edge3" class="edge">
+<title>fastqc&#45;&gt;outdir</title>
+<path fill="none" stroke="black" d="M72,-110.93C72,-103.17 72,-93.78 72,-85.06"/>
+<polygon fill="black" stroke="black" points="75.5,-84.9 72,-74.9 68.5,-84.9 75.5,-84.9"/>
+</g>
+</g>
+</svg>
diff --git a/.cwl/cwl-plots/runs/isaSampleToRawDataSeq.svg b/.cwl/cwl-plots/runs/isaSampleToRawDataSeq.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6523ee32fe0a0c45499659ca53496931b0cebf01
--- /dev/null
+++ b/.cwl/cwl-plots/runs/isaSampleToRawDataSeq.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.42.3 (20191010.1750)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="416pt" height="246pt"
+ viewBox="0.00 0.00 416.00 246.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 242)">
+<title>G</title>
+<polygon fill="#eeeeee" stroke="transparent" points="-4,4 -4,-242 412,-242 412,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_inputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="8,-155 8,-230 400,-230 400,-155 8,-155"/>
+<text text-anchor="middle" x="344.92" y="-161.8" font-family="Times,serif" font-size="14.00">Workflow Inputs</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_outputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="171,-8 171,-83 290,-83 290,-8 171,-8"/>
+<text text-anchor="middle" x="230.25" y="-14.8" font-family="Times,serif" font-size="14.00">Workflow Outputs</text>
+</g>
+<!-- arcPath -->
+<g id="node1" class="node">
+<title>arcPath</title>
+<polygon fill="#94ddf4" stroke="black" points="334.01,-185.5 334.01,-221.5 391.99,-221.5 391.99,-185.5 334.01,-185.5"/>
+<text text-anchor="middle" x="363" y="-199.3" font-family="Times,serif" font-size="14.00">arcPath</text>
+</g>
+<!-- isaSampleToRawDataSeq -->
+<g id="node5" class="node">
+<title>isaSampleToRawDataSeq</title>
+<ellipse fill="none" stroke="black" cx="230" cy="-129" rx="101.66" ry="18"/>
+<text text-anchor="middle" x="230" y="-124.8" font-family="Times,serif" font-size="14.00">isaSampleToRawDataSeq</text>
+</g>
+<!-- arcPath&#45;&gt;isaSampleToRawDataSeq -->
+<g id="edge1" class="edge">
+<title>arcPath&#45;&gt;isaSampleToRawDataSeq</title>
+<path fill="none" stroke="black" d="M353.12,-185.21C346.42,-174.99 336.69,-162.6 325,-155 319.75,-151.58 314.04,-148.63 308.13,-146.08"/>
+<polygon fill="black" stroke="black" points="309.28,-142.78 298.69,-142.4 306.73,-149.3 309.28,-142.78"/>
+</g>
+<!-- assayName -->
+<g id="node2" class="node">
+<title>assayName</title>
+<polygon fill="#94ddf4" stroke="black" points="236.12,-185.5 236.12,-221.5 315.88,-221.5 315.88,-185.5 236.12,-185.5"/>
+<text text-anchor="middle" x="276" y="-199.3" font-family="Times,serif" font-size="14.00">assayName</text>
+</g>
+<!-- assayName&#45;&gt;isaSampleToRawDataSeq -->
+<g id="edge2" class="edge">
+<title>assayName&#45;&gt;isaSampleToRawDataSeq</title>
+<path fill="none" stroke="black" d="M265.1,-185.32C259.48,-176.47 252.53,-165.5 246.29,-155.67"/>
+<polygon fill="black" stroke="black" points="249.14,-153.63 240.82,-147.06 243.23,-157.38 249.14,-153.63"/>
+</g>
+<!-- outName -->
+<g id="node3" class="node">
+<title>outName</title>
+<polygon fill="#94ddf4" stroke="black" points="150.34,-185.5 150.34,-221.5 217.66,-221.5 217.66,-185.5 150.34,-185.5"/>
+<text text-anchor="middle" x="184" y="-199.3" font-family="Times,serif" font-size="14.00">outName</text>
+</g>
+<!-- outName&#45;&gt;isaSampleToRawDataSeq -->
+<g id="edge3" class="edge">
+<title>outName&#45;&gt;isaSampleToRawDataSeq</title>
+<path fill="none" stroke="black" d="M194.9,-185.32C200.52,-176.47 207.47,-165.5 213.71,-155.67"/>
+<polygon fill="black" stroke="black" points="216.77,-157.38 219.18,-147.06 210.86,-153.63 216.77,-157.38"/>
+</g>
+<!-- startingNodeNum -->
+<g id="node4" class="node">
+<title>startingNodeNum</title>
+<polygon fill="#94ddf4" stroke="black" points="15.84,-185.5 15.84,-221.5 132.16,-221.5 132.16,-185.5 15.84,-185.5"/>
+<text text-anchor="middle" x="74" y="-199.3" font-family="Times,serif" font-size="14.00">startingNodeNum</text>
+</g>
+<!-- startingNodeNum&#45;&gt;isaSampleToRawDataSeq -->
+<g id="edge4" class="edge">
+<title>startingNodeNum&#45;&gt;isaSampleToRawDataSeq</title>
+<path fill="none" stroke="black" d="M94.27,-185.34C106.99,-175.29 124.14,-163.05 141,-155 147.23,-152.03 153.88,-149.35 160.62,-146.95"/>
+<polygon fill="black" stroke="black" points="162.18,-150.12 170.55,-143.63 159.96,-143.48 162.18,-150.12"/>
+</g>
+<!-- output -->
+<g id="node6" class="node">
+<title>output</title>
+<polygon fill="#94ddf4" stroke="black" points="203,-38.5 203,-74.5 257,-74.5 257,-38.5 203,-38.5"/>
+<text text-anchor="middle" x="229.89" y="-52.3" font-family="Times,serif" font-size="14.00">output</text>
+</g>
+<!-- isaSampleToRawDataSeq&#45;&gt;output -->
+<g id="edge5" class="edge">
+<title>isaSampleToRawDataSeq&#45;&gt;output</title>
+<path fill="none" stroke="black" d="M230,-110.93C230,-103.17 230,-93.78 230,-85.06"/>
+<polygon fill="black" stroke="black" points="233.5,-84.9 230,-74.9 226.5,-84.9 233.5,-84.9"/>
+</g>
+</g>
+</svg>
diff --git a/.cwl/cwl-plots/runs/kallisto.svg b/.cwl/cwl-plots/runs/kallisto.svg
new file mode 100644
index 0000000000000000000000000000000000000000..45f69bc844193654382928997d43f78b3e2171f4
--- /dev/null
+++ b/.cwl/cwl-plots/runs/kallisto.svg
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.42.3 (20191010.1750)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="820pt" height="246pt"
+ viewBox="0.00 0.00 820.00 246.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 242)">
+<title>G</title>
+<polygon fill="#eeeeee" stroke="transparent" points="-4,4 -4,-242 816,-242 816,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_inputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="8,-155 8,-230 804,-230 804,-155 8,-155"/>
+<text text-anchor="middle" x="748.92" y="-161.8" font-family="Times,serif" font-size="14.00">Workflow Inputs</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_outputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="318,-8 318,-83 437,-83 437,-8 318,-8"/>
+<text text-anchor="middle" x="377.25" y="-14.8" font-family="Times,serif" font-size="14.00">Workflow Outputs</text>
+</g>
+<!-- BootstrapSamples -->
+<g id="node1" class="node">
+<title>BootstrapSamples</title>
+<polygon fill="#94ddf4" stroke="black" points="678.06,-185.5 678.06,-221.5 795.94,-221.5 795.94,-185.5 678.06,-185.5"/>
+<text text-anchor="middle" x="737" y="-199.3" font-family="Times,serif" font-size="14.00">BootstrapSamples</text>
+</g>
+<!-- kallisto -->
+<g id="node8" class="node">
+<title>kallisto</title>
+<ellipse fill="none" stroke="black" cx="377" cy="-129" rx="36.29" ry="18"/>
+<text text-anchor="middle" x="377" y="-124.8" font-family="Times,serif" font-size="14.00">kallisto</text>
+</g>
+<!-- BootstrapSamples&#45;&gt;kallisto -->
+<g id="edge1" class="edge">
+<title>BootstrapSamples&#45;&gt;kallisto</title>
+<path fill="none" stroke="black" d="M718.32,-185.37C705.45,-174.66 687.41,-161.67 669,-155 625.15,-139.11 494.34,-133.16 423.62,-131.06"/>
+<polygon fill="black" stroke="black" points="423.32,-127.55 413.22,-130.77 423.12,-134.55 423.32,-127.55"/>
+</g>
+<!-- FragmentLength -->
+<g id="node2" class="node">
+<title>FragmentLength</title>
+<polygon fill="#94ddf4" stroke="black" points="550.34,-185.5 550.34,-221.5 659.66,-221.5 659.66,-185.5 550.34,-185.5"/>
+<text text-anchor="middle" x="605" y="-199.3" font-family="Times,serif" font-size="14.00">FragmentLength</text>
+</g>
+<!-- FragmentLength&#45;&gt;kallisto -->
+<g id="edge2" class="edge">
+<title>FragmentLength&#45;&gt;kallisto</title>
+<path fill="none" stroke="black" d="M587.24,-185.27C575.39,-174.8 558.92,-162.12 542,-155 504,-139.02 457.27,-133.08 423.26,-130.95"/>
+<polygon fill="black" stroke="black" points="423.3,-127.45 413.13,-130.41 422.93,-134.44 423.3,-127.45"/>
+</g>
+<!-- IndexInput -->
+<g id="node3" class="node">
+<title>IndexInput</title>
+<polygon fill="#94ddf4" stroke="black" points="455.29,-185.5 455.29,-221.5 532.71,-221.5 532.71,-185.5 455.29,-185.5"/>
+<text text-anchor="middle" x="494" y="-199.3" font-family="Times,serif" font-size="14.00">IndexInput</text>
+</g>
+<!-- IndexInput&#45;&gt;kallisto -->
+<g id="edge3" class="edge">
+<title>IndexInput&#45;&gt;kallisto</title>
+<path fill="none" stroke="black" d="M479.92,-185.23C471.06,-175.27 458.88,-163.15 446,-155 437.36,-149.54 427.35,-145.04 417.69,-141.44"/>
+<polygon fill="black" stroke="black" points="418.8,-138.12 408.2,-138.14 416.5,-144.73 418.8,-138.12"/>
+</g>
+<!-- StandardDeviation -->
+<g id="node4" class="node">
+<title>StandardDeviation</title>
+<polygon fill="#94ddf4" stroke="black" points="316.51,-185.5 316.51,-221.5 437.49,-221.5 437.49,-185.5 316.51,-185.5"/>
+<text text-anchor="middle" x="377" y="-199.3" font-family="Times,serif" font-size="14.00">StandardDeviation</text>
+</g>
+<!-- StandardDeviation&#45;&gt;kallisto -->
+<g id="edge4" class="edge">
+<title>StandardDeviation&#45;&gt;kallisto</title>
+<path fill="none" stroke="black" d="M377,-185.32C377,-176.92 377,-166.62 377,-157.19"/>
+<polygon fill="black" stroke="black" points="380.5,-157.06 377,-147.06 373.5,-157.06 380.5,-157.06"/>
+</g>
+<!-- isSingle -->
+<g id="node5" class="node">
+<title>isSingle</title>
+<polygon fill="#94ddf4" stroke="black" points="237.44,-185.5 237.44,-221.5 298.56,-221.5 298.56,-185.5 237.44,-185.5"/>
+<text text-anchor="middle" x="268" y="-199.3" font-family="Times,serif" font-size="14.00">isSingle</text>
+</g>
+<!-- isSingle&#45;&gt;kallisto -->
+<g id="edge5" class="edge">
+<title>isSingle&#45;&gt;kallisto</title>
+<path fill="none" stroke="black" d="M279.18,-185.14C286.37,-175.14 296.51,-163.02 308,-155 316.22,-149.26 325.9,-144.69 335.38,-141.11"/>
+<polygon fill="black" stroke="black" points="336.8,-144.32 345.1,-137.73 334.51,-137.71 336.8,-144.32"/>
+</g>
+<!-- resultsFolder -->
+<g id="node6" class="node">
+<title>resultsFolder</title>
+<polygon fill="#94ddf4" stroke="black" points="130.45,-185.5 130.45,-221.5 219.55,-221.5 219.55,-185.5 130.45,-185.5"/>
+<text text-anchor="middle" x="175" y="-199.3" font-family="Times,serif" font-size="14.00">resultsFolder</text>
+</g>
+<!-- resultsFolder&#45;&gt;kallisto -->
+<g id="edge6" class="edge">
+<title>resultsFolder&#45;&gt;kallisto</title>
+<path fill="none" stroke="black" d="M189.47,-185.31C199.26,-174.86 213.08,-162.18 228,-155 260.03,-139.59 299.91,-133.49 330.34,-131.16"/>
+<polygon fill="black" stroke="black" points="330.94,-134.63 340.69,-130.48 330.48,-127.64 330.94,-134.63"/>
+</g>
+<!-- sampleRecord -->
+<g id="node7" class="node">
+<title>sampleRecord</title>
+<polygon fill="#94ddf4" stroke="black" points="15.96,-185.5 15.96,-221.5 112.04,-221.5 112.04,-185.5 15.96,-185.5"/>
+<text text-anchor="middle" x="64" y="-199.3" font-family="Times,serif" font-size="14.00">sampleRecord</text>
+</g>
+<!-- sampleRecord&#45;&gt;kallisto -->
+<g id="edge7" class="edge">
+<title>sampleRecord&#45;&gt;kallisto</title>
+<path fill="none" stroke="black" d="M79.18,-185.43C89.76,-174.74 104.84,-161.76 121,-155 157.69,-139.66 267.22,-133.56 330.49,-131.27"/>
+<polygon fill="black" stroke="black" points="330.73,-134.77 340.61,-130.93 330.49,-127.77 330.73,-134.77"/>
+</g>
+<!-- finalOut -->
+<g id="node9" class="node">
+<title>finalOut</title>
+<polygon fill="#94ddf4" stroke="black" points="346.06,-38.5 346.06,-74.5 407.94,-74.5 407.94,-38.5 346.06,-38.5"/>
+<text text-anchor="middle" x="377" y="-52.3" font-family="Times,serif" font-size="14.00">finalOut</text>
+</g>
+<!-- kallisto&#45;&gt;finalOut -->
+<g id="edge8" class="edge">
+<title>kallisto&#45;&gt;finalOut</title>
+<path fill="none" stroke="black" d="M377,-110.93C377,-103.17 377,-93.78 377,-85.06"/>
+<polygon fill="black" stroke="black" points="380.5,-84.9 377,-74.9 373.5,-84.9 380.5,-84.9"/>
+</g>
+</g>
+</svg>
diff --git a/.cwl/cwl-plots/runs/shiny.svg b/.cwl/cwl-plots/runs/shiny.svg
new file mode 100644
index 0000000000000000000000000000000000000000..803532c730f4091d044efa27c5edde3494b630c1
--- /dev/null
+++ b/.cwl/cwl-plots/runs/shiny.svg
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.42.3 (20191010.1750)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="228pt" height="135pt"
+ viewBox="0.00 0.00 228.00 135.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 131)">
+<title>G</title>
+<polygon fill="#eeeeee" stroke="transparent" points="-4,4 -4,-131 224,-131 224,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_inputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="8,-44 8,-119 212,-119 212,-44 8,-44"/>
+<text text-anchor="middle" x="156.92" y="-50.8" font-family="Times,serif" font-size="14.00">Workflow Inputs</text>
+</g>
+<!-- exp_factor -->
+<g id="node1" class="node">
+<title>exp_factor</title>
+<polygon fill="#94ddf4" stroke="black" points="128.07,-74.5 128.07,-110.5 203.93,-110.5 203.93,-74.5 128.07,-74.5"/>
+<text text-anchor="middle" x="166" y="-88.3" font-family="Times,serif" font-size="14.00">exp_factor</text>
+</g>
+<!-- run_shiny -->
+<g id="node3" class="node">
+<title>run_shiny</title>
+<ellipse fill="none" stroke="black" cx="114" cy="-18" rx="45.46" ry="18"/>
+<text text-anchor="middle" x="114" y="-13.8" font-family="Times,serif" font-size="14.00">run_shiny</text>
+</g>
+<!-- exp_factor&#45;&gt;run_shiny -->
+<g id="edge1" class="edge">
+<title>exp_factor&#45;&gt;run_shiny</title>
+<path fill="none" stroke="black" d="M153.68,-74.32C147.17,-65.25 139.07,-53.96 131.89,-43.94"/>
+<polygon fill="black" stroke="black" points="134.55,-41.65 125.88,-35.56 128.86,-45.73 134.55,-41.65"/>
+</g>
+<!-- in_kallisto_df -->
+<g id="node2" class="node">
+<title>in_kallisto_df</title>
+<polygon fill="#94ddf4" stroke="black" points="16.11,-74.5 16.11,-110.5 109.89,-110.5 109.89,-74.5 16.11,-74.5"/>
+<text text-anchor="middle" x="63" y="-88.3" font-family="Times,serif" font-size="14.00">in_kallisto_df</text>
+</g>
+<!-- in_kallisto_df&#45;&gt;run_shiny -->
+<g id="edge2" class="edge">
+<title>in_kallisto_df&#45;&gt;run_shiny</title>
+<path fill="none" stroke="black" d="M75.09,-74.32C81.47,-65.25 89.41,-53.96 96.45,-43.94"/>
+<polygon fill="black" stroke="black" points="99.46,-45.75 102.35,-35.56 93.74,-41.72 99.46,-45.75"/>
+</g>
+</g>
+</svg>
diff --git a/.cwl/cwl-plots/runs/sleuth.svg b/.cwl/cwl-plots/runs/sleuth.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1a1868e04c8393bf258a78f6cdfd59c15f365066
--- /dev/null
+++ b/.cwl/cwl-plots/runs/sleuth.svg
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.42.3 (20191010.1750)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="797pt" height="246pt"
+ viewBox="0.00 0.00 797.00 246.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 242)">
+<title>G</title>
+<polygon fill="#eeeeee" stroke="transparent" points="-4,4 -4,-242 793,-242 793,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_inputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="8,-155 8,-230 781,-230 781,-155 8,-155"/>
+<text text-anchor="middle" x="725.92" y="-161.8" font-family="Times,serif" font-size="14.00">Workflow Inputs</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_outputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="303,-8 303,-83 422,-83 422,-8 303,-8"/>
+<text text-anchor="middle" x="362.25" y="-14.8" font-family="Times,serif" font-size="14.00">Workflow Outputs</text>
+</g>
+<!-- inKallistoResults -->
+<g id="node1" class="node">
+<title>inKallistoResults</title>
+<polygon fill="#94ddf4" stroke="black" points="660.78,-185.5 660.78,-221.5 773.22,-221.5 773.22,-185.5 660.78,-185.5"/>
+<text text-anchor="middle" x="717" y="-199.3" font-family="Times,serif" font-size="14.00">inKallistoResults</text>
+</g>
+<!-- collectResults -->
+<g id="node7" class="node">
+<title>collectResults</title>
+<ellipse fill="none" stroke="black" cx="362" cy="-129" rx="59.94" ry="18"/>
+<text text-anchor="middle" x="362" y="-124.8" font-family="Times,serif" font-size="14.00">collectResults</text>
+</g>
+<!-- inKallistoResults&#45;&gt;collectResults -->
+<g id="edge1" class="edge">
+<title>inKallistoResults&#45;&gt;collectResults</title>
+<path fill="none" stroke="black" d="M699.28,-185.37C687.03,-174.66 669.8,-161.67 652,-155 613.02,-140.39 504.1,-134.23 431.41,-131.7"/>
+<polygon fill="black" stroke="black" points="431.52,-128.2 421.4,-131.36 431.28,-135.19 431.52,-128.2"/>
+</g>
+<!-- inMetadataDataCol -->
+<g id="node2" class="node">
+<title>inMetadataDataCol</title>
+<polygon fill="#94ddf4" stroke="black" points="517.19,-185.5 517.19,-221.5 642.81,-221.5 642.81,-185.5 517.19,-185.5"/>
+<text text-anchor="middle" x="580" y="-199.3" font-family="Times,serif" font-size="14.00">inMetadataDataCol</text>
+</g>
+<!-- inMetadataDataCol&#45;&gt;collectResults -->
+<g id="edge2" class="edge">
+<title>inMetadataDataCol&#45;&gt;collectResults</title>
+<path fill="none" stroke="black" d="M559.24,-185.44C545.51,-175.04 526.66,-162.38 508,-155 483.3,-145.24 454.77,-139.28 429.52,-135.65"/>
+<polygon fill="black" stroke="black" points="429.66,-132.14 419.29,-134.28 428.73,-139.08 429.66,-132.14"/>
+</g>
+<!-- inMetadataFactorList -->
+<g id="node3" class="node">
+<title>inMetadataFactorList</title>
+<polygon fill="#94ddf4" stroke="black" points="362.74,-185.5 362.74,-221.5 499.26,-221.5 499.26,-185.5 362.74,-185.5"/>
+<text text-anchor="middle" x="431" y="-199.3" font-family="Times,serif" font-size="14.00">inMetadataFactorList</text>
+</g>
+<!-- inMetadataFactorList&#45;&gt;collectResults -->
+<g id="edge3" class="edge">
+<title>inMetadataFactorList&#45;&gt;collectResults</title>
+<path fill="none" stroke="black" d="M414.65,-185.32C405.76,-175.98 394.62,-164.27 384.88,-154.04"/>
+<polygon fill="black" stroke="black" points="387.19,-151.39 377.76,-146.56 382.12,-156.22 387.19,-151.39"/>
+</g>
+<!-- inMetadataFile -->
+<g id="node4" class="node">
+<title>inMetadataFile</title>
+<polygon fill="#94ddf4" stroke="black" points="243.62,-185.5 243.62,-221.5 344.38,-221.5 344.38,-185.5 243.62,-185.5"/>
+<text text-anchor="middle" x="294" y="-199.3" font-family="Times,serif" font-size="14.00">inMetadataFile</text>
+</g>
+<!-- inMetadataFile&#45;&gt;collectResults -->
+<g id="edge4" class="edge">
+<title>inMetadataFile&#45;&gt;collectResults</title>
+<path fill="none" stroke="black" d="M310.12,-185.32C318.88,-175.98 329.86,-164.27 339.46,-154.04"/>
+<polygon fill="black" stroke="black" points="342.18,-156.25 346.47,-146.56 337.07,-151.46 342.18,-156.25"/>
+</g>
+<!-- inMetadataSample -->
+<g id="node5" class="node">
+<title>inMetadataSample</title>
+<polygon fill="#94ddf4" stroke="black" points="104.52,-185.5 104.52,-221.5 225.48,-221.5 225.48,-185.5 104.52,-185.5"/>
+<text text-anchor="middle" x="165" y="-199.3" font-family="Times,serif" font-size="14.00">inMetadataSample</text>
+</g>
+<!-- inMetadataSample&#45;&gt;collectResults -->
+<g id="edge5" class="edge">
+<title>inMetadataSample&#45;&gt;collectResults</title>
+<path fill="none" stroke="black" d="M185.47,-185.35C198.78,-175.05 216.97,-162.52 235,-155 254.34,-146.93 276.44,-141.42 296.72,-137.68"/>
+<polygon fill="black" stroke="black" points="297.57,-141.09 306.83,-135.93 296.38,-134.19 297.57,-141.09"/>
+</g>
+<!-- outFolder -->
+<g id="node6" class="node">
+<title>outFolder</title>
+<polygon fill="#94ddf4" stroke="black" points="15.78,-185.5 15.78,-221.5 86.22,-221.5 86.22,-185.5 15.78,-185.5"/>
+<text text-anchor="middle" x="51" y="-199.3" font-family="Times,serif" font-size="14.00">outFolder</text>
+</g>
+<!-- outFolder&#45;&gt;collectResults -->
+<g id="edge6" class="edge">
+<title>outFolder&#45;&gt;collectResults</title>
+<path fill="none" stroke="black" d="M62.24,-185.43C70.28,-174.75 82.11,-161.76 96,-155 129.42,-138.73 225.25,-133.03 292.25,-131.05"/>
+<polygon fill="black" stroke="black" points="292.43,-134.54 302.33,-130.77 292.24,-127.55 292.43,-134.54"/>
+</g>
+<!-- outdir -->
+<g id="node8" class="node">
+<title>outdir</title>
+<polygon fill="#94ddf4" stroke="black" points="335,-38.5 335,-74.5 389,-74.5 389,-38.5 335,-38.5"/>
+<text text-anchor="middle" x="361.72" y="-52.3" font-family="Times,serif" font-size="14.00">outdir</text>
+</g>
+<!-- collectResults&#45;&gt;outdir -->
+<g id="edge7" class="edge">
+<title>collectResults&#45;&gt;outdir</title>
+<path fill="none" stroke="black" d="M362,-110.93C362,-103.17 362,-93.78 362,-85.06"/>
+<polygon fill="black" stroke="black" points="365.5,-84.9 362,-74.9 358.5,-84.9 365.5,-84.9"/>
+</g>
+</g>
+</svg>
diff --git a/.cwl/cwl-plots/workflows/deseq2.svg b/.cwl/cwl-plots/workflows/deseq2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/.cwl/cwl-plots/workflows/fastqc.svg b/.cwl/cwl-plots/workflows/fastqc.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4a3de4c3ccc0e0933c0e9680bd9df769e09b7d05
--- /dev/null
+++ b/.cwl/cwl-plots/workflows/fastqc.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.42.3 (20191010.1750)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="548pt" height="320pt"
+ viewBox="0.00 0.00 547.58 320.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 316)">
+<title>G</title>
+<polygon fill="#eeeeee" stroke="transparent" points="-4,4 -4,-316 543.58,-316 543.58,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_inputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="47.01,-229 47.01,-304 209.01,-304 209.01,-229 47.01,-229"/>
+<text text-anchor="middle" x="153.94" y="-235.8" font-family="Times,serif" font-size="14.00">Workflow Inputs</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_outputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="219.01,-8 219.01,-83 338.01,-83 338.01,-8 219.01,-8"/>
+<text text-anchor="middle" x="278.27" y="-14.8" font-family="Times,serif" font-size="14.00">Workflow Outputs</text>
+</g>
+<!-- fastqc -->
+<g id="node1" class="node">
+<title>fastqc</title>
+<polygon fill="lightgoldenrodyellow" stroke="black" points="16.45,-184.5 16.45,-220.5 539.58,-220.5 539.58,-184.5 16.45,-184.5"/>
+<text text-anchor="middle" x="278.01" y="-198.3" font-family="Times,serif" font-size="14.00">Run fastqc on raw reads in FASTQ format (single or paired end) or aligned reads in BAM.</text>
+</g>
+<!-- collectFiles -->
+<g id="node2" class="node">
+<title>collectFiles</title>
+<polygon fill="lightgoldenrodyellow" stroke="black" points="197.31,-111.5 197.31,-147.5 358.72,-147.5 358.72,-111.5 197.31,-111.5"/>
+<text text-anchor="middle" x="278.01" y="-125.3" font-family="Times,serif" font-size="14.00">Collect files in a directory</text>
+</g>
+<!-- fastqc&#45;&gt;collectFiles -->
+<g id="edge1" class="edge">
+<title>fastqc&#45;&gt;collectFiles</title>
+<path fill="none" stroke="black" d="M272.14,-184.31C271.3,-176.29 271.06,-166.55 271.44,-157.57"/>
+<polygon fill="black" stroke="black" points="274.93,-157.75 272.15,-147.53 267.95,-157.25 274.93,-157.75"/>
+</g>
+<!-- fastqc&#45;&gt;collectFiles -->
+<g id="edge2" class="edge">
+<title>fastqc&#45;&gt;collectFiles</title>
+<path fill="none" stroke="black" d="M283.89,-184.31C284.73,-176.29 284.97,-166.55 284.59,-157.57"/>
+<polygon fill="black" stroke="black" points="288.08,-157.25 283.88,-147.53 281.1,-157.75 288.08,-157.25"/>
+</g>
+<!-- outdir -->
+<g id="node5" class="node">
+<title>outdir</title>
+<polygon fill="#94ddf4" stroke="black" points="251.01,-38.5 251.01,-74.5 305.01,-74.5 305.01,-38.5 251.01,-38.5"/>
+<text text-anchor="middle" x="277.74" y="-52.3" font-family="Times,serif" font-size="14.00">outdir</text>
+</g>
+<!-- collectFiles&#45;&gt;outdir -->
+<g id="edge5" class="edge">
+<title>collectFiles&#45;&gt;outdir</title>
+<path fill="none" stroke="black" d="M278.01,-111.31C278.01,-103.29 278.01,-93.55 278.01,-84.57"/>
+<polygon fill="black" stroke="black" points="281.51,-84.53 278.01,-74.53 274.51,-84.53 281.51,-84.53"/>
+</g>
+<!-- finaloutdir -->
+<g id="node3" class="node">
+<title>finaloutdir</title>
+<polygon fill="#94ddf4" stroke="black" points="54.85,-259.5 54.85,-295.5 129.18,-295.5 129.18,-259.5 54.85,-259.5"/>
+<text text-anchor="middle" x="92.01" y="-273.3" font-family="Times,serif" font-size="14.00">finaloutdir</text>
+</g>
+<!-- finaloutdir&#45;&gt;collectFiles -->
+<g id="edge3" class="edge">
+<title>finaloutdir&#45;&gt;collectFiles</title>
+<path fill="none" stroke="black" d="M54.5,-262.12C36.71,-253.18 17.17,-239.75 7.01,-221 -0.81,-206.54 -3.43,-196.7 7.01,-184 29.65,-156.46 117.41,-142.86 187.01,-136.3"/>
+<polygon fill="black" stroke="black" points="187.5,-139.77 197.14,-135.38 186.86,-132.8 187.5,-139.77"/>
+</g>
+<!-- fastq -->
+<g id="node4" class="node">
+<title>fastq</title>
+<polygon fill="#94ddf4" stroke="black" points="147.01,-259.5 147.01,-295.5 201.01,-295.5 201.01,-259.5 147.01,-259.5"/>
+<text text-anchor="middle" x="173.62" y="-273.3" font-family="Times,serif" font-size="14.00">fastq</text>
+</g>
+<!-- fastq&#45;&gt;fastqc -->
+<g id="edge4" class="edge">
+<title>fastq&#45;&gt;fastqc</title>
+<path fill="none" stroke="black" d="M198.4,-259.38C212.35,-249.59 230.04,-237.18 245.2,-226.53"/>
+<polygon fill="black" stroke="black" points="247.61,-229.12 253.78,-220.51 243.59,-223.39 247.61,-229.12"/>
+</g>
+</g>
+</svg>
diff --git a/.cwl/cwl-plots/workflows/isaSampleToRawDataSeq.svg b/.cwl/cwl-plots/workflows/isaSampleToRawDataSeq.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/.cwl/cwl-plots/workflows/kallisto.svg b/.cwl/cwl-plots/workflows/kallisto.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9e81b888aae33970cf281e5cb9f209c6c363d61a
--- /dev/null
+++ b/.cwl/cwl-plots/workflows/kallisto.svg
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.42.3 (20191010.1750)
+ -->
+<!-- Title: G Pages: 1 -->
+<svg width="821pt" height="393pt"
+ viewBox="0.00 0.00 821.00 393.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 389)">
+<title>G</title>
+<polygon fill="#eeeeee" stroke="transparent" points="-4,4 -4,-389 817,-389 817,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_inputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="8,-302 8,-377 805,-377 805,-302 8,-302"/>
+<text text-anchor="middle" x="749.92" y="-308.8" font-family="Times,serif" font-size="14.00">Workflow Inputs</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_outputs</title>
+<polygon fill="#eeeeee" stroke="black" stroke-dasharray="5,2" points="232,-8 232,-83 351,-83 351,-8 232,-8"/>
+<text text-anchor="middle" x="291.25" y="-14.8" font-family="Times,serif" font-size="14.00">Workflow Outputs</text>
+</g>
+<!-- quant -->
+<g id="node1" class="node">
+<title>quant</title>
+<polygon fill="lightgoldenrodyellow" stroke="black" points="492,-184.5 492,-220.5 546,-220.5 546,-184.5 492,-184.5"/>
+<text text-anchor="middle" x="518.55" y="-198.3" font-family="Times,serif" font-size="14.00">quant</text>
+</g>
+<!-- collectResults -->
+<g id="node2" class="node">
+<title>collectResults</title>
+<polygon fill="lightgoldenrodyellow" stroke="black" points="243.73,-111.5 243.73,-147.5 338.27,-147.5 338.27,-111.5 243.73,-111.5"/>
+<text text-anchor="middle" x="291" y="-125.3" font-family="Times,serif" font-size="14.00">collectResults</text>
+</g>
+<!-- quant&#45;&gt;collectResults -->
+<g id="edge1" class="edge">
+<title>quant&#45;&gt;collectResults</title>
+<path fill="none" stroke="black" d="M491.95,-193.08C456.78,-182.13 394.44,-162.71 348.49,-148.4"/>
+<polygon fill="black" stroke="black" points="349.25,-144.97 338.66,-145.34 347.16,-151.66 349.25,-144.97"/>
+</g>
+<!-- finalOut -->
+<g id="node11" class="node">
+<title>finalOut</title>
+<polygon fill="#94ddf4" stroke="black" points="260.06,-38.5 260.06,-74.5 321.94,-74.5 321.94,-38.5 260.06,-38.5"/>
+<text text-anchor="middle" x="291" y="-52.3" font-family="Times,serif" font-size="14.00">finalOut</text>
+</g>
+<!-- collectResults&#45;&gt;finalOut -->
+<g id="edge12" class="edge">
+<title>collectResults&#45;&gt;finalOut</title>
+<path fill="none" stroke="black" d="M291,-111.31C291,-103.29 291,-93.55 291,-84.57"/>
+<polygon fill="black" stroke="black" points="294.5,-84.53 291,-74.53 287.5,-84.53 294.5,-84.53"/>
+</g>
+<!-- index -->
+<g id="node3" class="node">
+<title>index</title>
+<polygon fill="lightgoldenrodyellow" stroke="black" points="135,-257.5 135,-293.5 189,-293.5 189,-257.5 135,-257.5"/>
+<text text-anchor="middle" x="161.55" y="-271.3" font-family="Times,serif" font-size="14.00">index</text>
+</g>
+<!-- index&#45;&gt;quant -->
+<g id="edge2" class="edge">
+<title>index&#45;&gt;quant</title>
+<path fill="none" stroke="black" d="M189.13,-269.11C252.4,-256.52 409.85,-225.21 481.92,-210.87"/>
+<polygon fill="black" stroke="black" points="482.79,-214.27 491.92,-208.89 481.42,-207.4 482.79,-214.27"/>
+</g>
+<!-- resultsFolder -->
+<g id="node4" class="node">
+<title>resultsFolder</title>
+<polygon fill="#94ddf4" stroke="black" points="16.45,-332.5 16.45,-368.5 105.55,-368.5 105.55,-332.5 16.45,-332.5"/>
+<text text-anchor="middle" x="61" y="-346.3" font-family="Times,serif" font-size="14.00">resultsFolder</text>
+</g>
+<!-- resultsFolder&#45;&gt;collectResults -->
+<g id="edge3" class="edge">
+<title>resultsFolder&#45;&gt;collectResults</title>
+<path fill="none" stroke="black" d="M70.88,-332.31C82.56,-312.81 103.31,-280.65 126,-257 165.85,-215.46 220.09,-176.58 255.32,-153.17"/>
+<polygon fill="black" stroke="black" points="257.42,-155.98 263.85,-147.56 253.57,-150.13 257.42,-155.98"/>
+</g>
+<!-- IndexInput -->
+<g id="node5" class="node">
+<title>IndexInput</title>
+<polygon fill="#94ddf4" stroke="black" points="123.29,-332.5 123.29,-368.5 200.71,-368.5 200.71,-332.5 123.29,-332.5"/>
+<text text-anchor="middle" x="162" y="-346.3" font-family="Times,serif" font-size="14.00">IndexInput</text>
+</g>
+<!-- IndexInput&#45;&gt;index -->
+<g id="edge4" class="edge">
+<title>IndexInput&#45;&gt;index</title>
+<path fill="none" stroke="black" d="M156.16,-332.2C155.28,-323.75 155.04,-313.37 155.44,-303.87"/>
+<polygon fill="black" stroke="black" points="158.95,-303.9 156.17,-293.68 151.97,-303.4 158.95,-303.9"/>
+</g>
+<!-- IndexInput&#45;&gt;index -->
+<g id="edge5" class="edge">
+<title>IndexInput&#45;&gt;index</title>
+<path fill="none" stroke="black" d="M167.84,-332.2C168.72,-323.75 168.96,-313.37 168.56,-303.87"/>
+<polygon fill="black" stroke="black" points="172.03,-303.4 167.83,-293.68 165.05,-303.9 172.03,-303.4"/>
+</g>
+<!-- BootstrapSamples -->
+<g id="node6" class="node">
+<title>BootstrapSamples</title>
+<polygon fill="#94ddf4" stroke="black" points="219.06,-332.5 219.06,-368.5 336.94,-368.5 336.94,-332.5 219.06,-332.5"/>
+<text text-anchor="middle" x="278" y="-346.3" font-family="Times,serif" font-size="14.00">BootstrapSamples</text>
+</g>
+<!-- BootstrapSamples&#45;&gt;quant -->
+<g id="edge6" class="edge">
+<title>BootstrapSamples&#45;&gt;quant</title>
+<path fill="none" stroke="black" d="M301.24,-332.47C314.21,-323.17 330.78,-311.62 346,-302 392.26,-272.76 447.48,-242.01 482.88,-222.8"/>
+<polygon fill="black" stroke="black" points="484.74,-225.77 491.88,-217.94 481.41,-219.61 484.74,-225.77"/>
+</g>
+<!-- FragmentLength -->
+<g id="node7" class="node">
+<title>FragmentLength</title>
+<polygon fill="#94ddf4" stroke="black" points="355.34,-332.5 355.34,-368.5 464.66,-368.5 464.66,-332.5 355.34,-332.5"/>
+<text text-anchor="middle" x="410" y="-346.3" font-family="Times,serif" font-size="14.00">FragmentLength</text>
+</g>
+<!-- FragmentLength&#45;&gt;quant -->
+<g id="edge7" class="edge">
+<title>FragmentLength&#45;&gt;quant</title>
+<path fill="none" stroke="black" d="M422.72,-332.47C441.73,-307 477.7,-258.82 499.89,-229.1"/>
+<polygon fill="black" stroke="black" points="502.85,-230.98 506.03,-220.88 497.24,-226.8 502.85,-230.98"/>
+</g>
+<!-- StandardDeviation -->
+<g id="node8" class="node">
+<title>StandardDeviation</title>
+<polygon fill="#94ddf4" stroke="black" points="482.51,-332.5 482.51,-368.5 603.49,-368.5 603.49,-332.5 482.51,-332.5"/>
+<text text-anchor="middle" x="543" y="-346.3" font-family="Times,serif" font-size="14.00">StandardDeviation</text>
+</g>
+<!-- StandardDeviation&#45;&gt;quant -->
+<g id="edge8" class="edge">
+<title>StandardDeviation&#45;&gt;quant</title>
+<path fill="none" stroke="black" d="M540.2,-332.47C536.1,-307.54 528.43,-260.87 523.53,-231.04"/>
+<polygon fill="black" stroke="black" points="526.93,-230.18 521.86,-220.88 520.03,-231.31 526.93,-230.18"/>
+</g>
+<!-- isSingle -->
+<g id="node9" class="node">
+<title>isSingle</title>
+<polygon fill="#94ddf4" stroke="black" points="621.44,-332.5 621.44,-368.5 682.56,-368.5 682.56,-332.5 621.44,-332.5"/>
+<text text-anchor="middle" x="652" y="-346.3" font-family="Times,serif" font-size="14.00">isSingle</text>
+</g>
+<!-- isSingle&#45;&gt;quant -->
+<g id="edge9" class="edge">
+<title>isSingle&#45;&gt;quant</title>
+<path fill="none" stroke="black" d="M641.41,-332.2C634.3,-321.97 624.04,-309.58 612,-302 599.96,-294.42 592.65,-302.17 581,-294 557.98,-277.86 540.89,-250.24 530.55,-229.75"/>
+<polygon fill="black" stroke="black" points="533.64,-228.11 526.15,-220.62 527.34,-231.15 533.64,-228.11"/>
+</g>
+<!-- sampleRecord -->
+<g id="node10" class="node">
+<title>sampleRecord</title>
+<polygon fill="#94ddf4" stroke="black" points="700.96,-332.5 700.96,-368.5 797.04,-368.5 797.04,-332.5 700.96,-332.5"/>
+<text text-anchor="middle" x="749" y="-346.3" font-family="Times,serif" font-size="14.00">sampleRecord</text>
+</g>
+<!-- sampleRecord&#45;&gt;quant -->
+<g id="edge10" class="edge">
+<title>sampleRecord&#45;&gt;quant</title>
+<path fill="none" stroke="black" d="M722.22,-332.35C710.36,-322.9 696.34,-311.25 683,-302 640.81,-272.75 589.34,-244.28 555.32,-225.54"/>
+<polygon fill="black" stroke="black" points="556.65,-222.28 546.21,-220.52 553.27,-228.41 556.65,-222.28"/>
+</g>
+<!-- sampleRecord&#45;&gt;quant -->
+<g id="edge11" class="edge">
+<title>sampleRecord&#45;&gt;quant</title>
+<path fill="none" stroke="black" d="M738.08,-332.35C728.36,-322.9 714.34,-311.25 701,-302 653.08,-268.78 593.19,-236.57 555.34,-218.46"/>
+<polygon fill="black" stroke="black" points="556.75,-215.26 546.21,-214.17 553.77,-221.59 556.75,-215.26"/>
+</g>
+</g>
+</svg>
diff --git a/.cwl/cwl-plots/workflows/shiny.svg b/.cwl/cwl-plots/workflows/shiny.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/.cwl/cwl-plots/workflows/sleuth.svg b/.cwl/cwl-plots/workflows/sleuth.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/README.md b/README.md
index 813056a360aa436efeb8ca46167109d4f4ce4e54..62ea32b962470601a6064a216c3121ca7983dafa 100644
--- a/README.md
+++ b/README.md
@@ -1,20 +1,11 @@
 # Facultative CAM in Talinum
 
-## Data origin
-
-- see [isa.investigation.xlsx](./isa.investigation.xlsx) for details
-- Adapted from
-    > Brilhaus, D., Bräutigam, A., Mettler-Altmann, T., Winter, K., and Weber, A.P.M. (2016). Reversible Burst of Transcriptional Changes during Induction of Crassulacean Acid Metabolism in *Talinum triangulare*. Plant Physiology 170: 102–122. <https://doi.org/10.1104/pp.15.01076>
-- [studies/TalinumGenomeDraft](./studies/TalinumGenomeDraft) originates from <https://git.nfdi4plants.org/hhu-plant-biochemistry/talinum-fruticosum-genome>
-
-<!--- Start of automated section -->
-
-# Facultative CAM in Talinum triangulare
+This ARC is based on Brilhaus et al. (2016). <https://doi.org/10.1104/pp.15.01076>. See [isa.investigation.xlsx](./isa.investigation.xlsx) for details.
+The [Talinum Genome Draft](./studies/TalinumGenomeDraft) originates from <https://git.nfdi4plants.org/hhu-plant-biochemistry/talinum-fruticosum-genome>
 
 ## Table of Contents
 
 1. [Description](#description)
-1. [Contacts](#contacts)
 2. [Publication](#publication)
 3. Studies
     - [TalinumGenomeDraft](#study--talinumgenomedraft)
@@ -87,16 +78,6 @@ class TalinumGenomeDraft,plant_material,mh-quant-results,mh-quant-report,rna_ext
 | Assay identifiers | MassHunter_targets , Talinum_RNASeq_minimal , GCqTOF_targets |
 | Assay Count | 3 |
 
-## Contacts
-
-| Names | Email | Address | Affiliation | ORCID |
-| ----- | ----- | ------- | ----------- | ----- |
-| Dominik  Brilhaus | <brilhaus@hhu.de> | HHU Düsseldorf, 22.07.U1.43, Universitätsstr. 1, 40225 Düsseldorf | Institute of Plant Biochemistry, HHU Düsseldorf | <http://orcid.org/0000-0001-9021-3197> |
- | Andrea  Bräutigam | <andrea.brauetigam@hhu.de> | Universitätsstr. 1, 40225 Düsseldorf | Institute of Plant Biochemistry, HHU Düsseldorf | <http://orcid.org/0000-0002-5309-0527> |
- | Tabea  Mettler-Altmann | <tabea.mettler@hhu.de> | Universitätsstr. 1, 40225 Düsseldorf | Institute of Plant Biochemistry, HHU Düsseldorf | <http://orcid.org/0000-0002-9161-4889> |
- | Klaus  Winter | <winterk@si.edu> | Balboa, Ancón, Republic of Panama | Smithsonian Tropical Research Institute, Panama |  |
- | Andreas P M Weber | <aweber@hhu.de> | Universitätsstr. 1, 40225 Düsseldorf | Institute of Plant Biochemistry, HHU Düsseldorf | <http://orcid.org/0000-0003-0970-4672> |
-
 ## Publication
 
 | Meta Data | Description |
@@ -191,5 +172,3 @@ class TalinumGenomeDraft,plant_material,mh-quant-results,mh-quant-report,rna_ext
 ### Annotation headers
 
 **Parameters**: [Bio entity](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000012),[Biosource amount](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000013),[Biosource material state](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0010009),[Extraction buffer](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000050),[Extraction buffer volume](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000051),[Internal standard](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0010012),[Sample volume](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0010013),[MS sample post-extraction](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000043),[MS sample resuspension](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000044),[MS derivatization](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000052),[MS sample type](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000045),[Chromatography instrument model](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000046),[Chromatography autosampler model](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000047),[Chromatography column type](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000053),[Chromatography column model](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000048),[mobile phase](http://purl.obolibrary.org/obo/CHMO_0000995),[Chromatography injection volume](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0010014),[Chromatography injection mode](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0010015),[Chromatography gradient](http://purl.org/nfdi4plants/ontology/dpbo/DPBO_0000081),[scan polarity](https://www.ebi.ac.uk/ols4/ontologies/ms/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FMS_1000465),[scan window lower limit](https://www.ebi.ac.uk/ols4/ontologies/ms/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FMS_1000501),[scan window upper limit](https://www.ebi.ac.uk/ols4/ontologies/ms/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FMS_1000500),[scan rate](https://www.ebi.ac.uk/ols4/ontologies/ms/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FMS_1000015),[instrument model](https://www.ebi.ac.uk/ols4/ontologies/ms/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FMS_1000031),[ionization type](https://www.ebi.ac.uk/ols4/ontologies/ms/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FMS_1000008),[mass analyzer type](https://www.ebi.ac.uk/ols4/ontologies/ms/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FMS_1000443),[detector type](https://www.ebi.ac.uk/ols4/ontologies/ms/classes/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252FMS_1000026)
-
-<!--- End of automated section -->
\ No newline at end of file
diff --git a/runs/README.md b/runs/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..20bbc21549b15dee5fc8eb4df737766139b0ca97
--- /dev/null
+++ b/runs/README.md
@@ -0,0 +1,3 @@
+# Runs
+
+See [.cwl/README.md](../.cwl/README.md) for more info.
diff --git a/workflows/README.md b/workflows/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..0f64034849e6b184d00c9e016fb085cfbb7bd6e6
--- /dev/null
+++ b/workflows/README.md
@@ -0,0 +1,3 @@
+# Workflows
+
+See [.cwl/README.md](../.cwl/README.md) for more info.