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->deseq2 --> +<g id="edge1" class="edge"> +<title>inKallistoResults->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->deseq2 --> +<g id="edge2" class="edge"> +<title>inMetadataFactorList->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->deseq2 --> +<g id="edge3" class="edge"> +<title>inMetadataFile->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->deseq2 --> +<g id="edge4" class="edge"> +<title>inMetadataSample->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->output --> +<g id="edge5" class="edge"> +<title>deseq2->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->fastqc --> +<g id="edge1" class="edge"> +<title>fastq->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->fastqc --> +<g id="edge2" class="edge"> +<title>finaloutdir->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->outdir --> +<g id="edge3" class="edge"> +<title>fastqc->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->isaSampleToRawDataSeq --> +<g id="edge1" class="edge"> +<title>arcPath->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->isaSampleToRawDataSeq --> +<g id="edge2" class="edge"> +<title>assayName->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->isaSampleToRawDataSeq --> +<g id="edge3" class="edge"> +<title>outName->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->isaSampleToRawDataSeq --> +<g id="edge4" class="edge"> +<title>startingNodeNum->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->output --> +<g id="edge5" class="edge"> +<title>isaSampleToRawDataSeq->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->kallisto --> +<g id="edge1" class="edge"> +<title>BootstrapSamples->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->kallisto --> +<g id="edge2" class="edge"> +<title>FragmentLength->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->kallisto --> +<g id="edge3" class="edge"> +<title>IndexInput->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->kallisto --> +<g id="edge4" class="edge"> +<title>StandardDeviation->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->kallisto --> +<g id="edge5" class="edge"> +<title>isSingle->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->kallisto --> +<g id="edge6" class="edge"> +<title>resultsFolder->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->kallisto --> +<g id="edge7" class="edge"> +<title>sampleRecord->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->finalOut --> +<g id="edge8" class="edge"> +<title>kallisto->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->run_shiny --> +<g id="edge1" class="edge"> +<title>exp_factor->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->run_shiny --> +<g id="edge2" class="edge"> +<title>in_kallisto_df->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->collectResults --> +<g id="edge1" class="edge"> +<title>inKallistoResults->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->collectResults --> +<g id="edge2" class="edge"> +<title>inMetadataDataCol->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->collectResults --> +<g id="edge3" class="edge"> +<title>inMetadataFactorList->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->collectResults --> +<g id="edge4" class="edge"> +<title>inMetadataFile->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->collectResults --> +<g id="edge5" class="edge"> +<title>inMetadataSample->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->collectResults --> +<g id="edge6" class="edge"> +<title>outFolder->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->outdir --> +<g id="edge7" class="edge"> +<title>collectResults->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->collectFiles --> +<g id="edge1" class="edge"> +<title>fastqc->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->collectFiles --> +<g id="edge2" class="edge"> +<title>fastqc->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->outdir --> +<g id="edge5" class="edge"> +<title>collectFiles->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->collectFiles --> +<g id="edge3" class="edge"> +<title>finaloutdir->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->fastqc --> +<g id="edge4" class="edge"> +<title>fastq->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->collectResults --> +<g id="edge1" class="edge"> +<title>quant->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->finalOut --> +<g id="edge12" class="edge"> +<title>collectResults->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->quant --> +<g id="edge2" class="edge"> +<title>index->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->collectResults --> +<g id="edge3" class="edge"> +<title>resultsFolder->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->index --> +<g id="edge4" class="edge"> +<title>IndexInput->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->index --> +<g id="edge5" class="edge"> +<title>IndexInput->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->quant --> +<g id="edge6" class="edge"> +<title>BootstrapSamples->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->quant --> +<g id="edge7" class="edge"> +<title>FragmentLength->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->quant --> +<g id="edge8" class="edge"> +<title>StandardDeviation->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->quant --> +<g id="edge9" class="edge"> +<title>isSingle->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->quant --> +<g id="edge10" class="edge"> +<title>sampleRecord->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->quant --> +<g id="edge11" class="edge"> +<title>sampleRecord->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.