From 312c490768d2d2fd653741f130ca02c54bf9fbb1 Mon Sep 17 00:00:00 2001 From: Dominik Brilhaus <brilhaus@nfdi4plants.org> Date: Fri, 2 Aug 2024 14:52:19 +0200 Subject: [PATCH] collect results in single folder --- runs/kallisto/workflow.yml | 11 +++++++---- workflows/_aux-tools/collectFilesInDir.cwl | 19 +++++++++++++++++++ .../_aux-tools/yield-dirInDestination.cwl | 19 +++++++++++++++++++ workflows/kallisto/kallisto-workflow.cwl | 15 +++++++++++---- 4 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 workflows/_aux-tools/collectFilesInDir.cwl create mode 100644 workflows/_aux-tools/yield-dirInDestination.cwl diff --git a/runs/kallisto/workflow.yml b/runs/kallisto/workflow.yml index db33ad6..44b12a5 100644 --- a/runs/kallisto/workflow.yml +++ b/runs/kallisto/workflow.yml @@ -13,17 +13,20 @@ InputReadsMultipleSamples: - class: File path: ../../assays/Talinum_RNASeq_minimal/dataset/DB_097_CAMMD_CAGATC_L001_R1_001.fastq.gz format: edam:format_1930 # FASTQ - - - - class: File - path: ../../assays/Talinum_RNASeq_minimal/dataset/DB_099_CAMMD_CTTGTA_L001_R1_001.fastq.gz - format: edam:format_1930 # FASTQ + # - + # - class: File + # path: ../../assays/Talinum_RNASeq_minimal/dataset/DB_099_CAMMD_CTTGTA_L001_R1_001.fastq.gz + # format: edam:format_1930 # FASTQ numCharsFastqFileName: 6 + ### Kallisto quant Parameters isSingle: true FragmentLength: 200 StandardDeviation: 20 BootstrapSamples: 1 +resultsFolder: kallist_results + $namespaces: edam: https://edamontology.org/ \ No newline at end of file diff --git a/workflows/_aux-tools/collectFilesInDir.cwl b/workflows/_aux-tools/collectFilesInDir.cwl new file mode 100644 index 0000000..f8d411f --- /dev/null +++ b/workflows/_aux-tools/collectFilesInDir.cwl @@ -0,0 +1,19 @@ +cwlVersion: v1.2 +class: ExpressionTool +doc: | + Takes Files (e.g. from a workflow step) and yields them in a desired directory. +requirements: + - class: InlineJavascriptRequirement +inputs: + files: File[] + destination: string +expression: | + ${ + return {"outDir": { + "class": "Directory", + "basename": inputs.destination, + "listing": inputs.files + } }; + } +outputs: + outDir: Directory \ No newline at end of file diff --git a/workflows/_aux-tools/yield-dirInDestination.cwl b/workflows/_aux-tools/yield-dirInDestination.cwl new file mode 100644 index 0000000..c2a20ea --- /dev/null +++ b/workflows/_aux-tools/yield-dirInDestination.cwl @@ -0,0 +1,19 @@ +cwlVersion: v1.2 +class: ExpressionTool +doc: | + Takes a directory (e.g. from a workflow step) and yield it in a desired directory. +requirements: + - class: InlineJavascriptRequirement +inputs: + inDir: Directory + destinationDir: string +expression: | + ${ + return {"outDir": { + "class": "Directory", + "basename": inputs.destinationDir, + "listing": [inputs.inDir] + } }; + } +outputs: + outDir: Directory \ No newline at end of file diff --git a/workflows/kallisto/kallisto-workflow.cwl b/workflows/kallisto/kallisto-workflow.cwl index 0cf46eb..6bbeb9d 100644 --- a/workflows/kallisto/kallisto-workflow.cwl +++ b/workflows/kallisto/kallisto-workflow.cwl @@ -14,11 +14,11 @@ inputs: items: type: array items: File - numCharsFastqFileName: int? isSingle: boolean FragmentLength: double? StandardDeviation: double? - BootstrapSamples: int? + BootstrapSamples: int? + resultsFolder: string steps: index: @@ -46,8 +46,15 @@ steps: StandardDeviation: StandardDeviation BootstrapSamples: BootstrapSamples out: [outFolder] + collectResults: + run: ../_aux-tools/yield-dirInDestination.cwl + scatter: inDir + in: + inDir: quant/outFolder + destinationDir: resultsFolder + out: outDir outputs: finalOut: - type: Directory[] - outputSource: quant/outFolder + type: Directory + outputSource: collectResults/outDir -- GitLab