Building off of the CWL Recommended Best Practices
class: Workflow
label: A workflow to do 1. 2. 3.
steps:
module_1_innovation:
e.g.
md__assume_sorted: true
compute_bam_metrics_1:
run: ./waltz/waltz-workflow.cwl <-- Using the same workflow 2x
in:
input_bam: previous_step_1/bam
out: [pileup, waltz_output_files]
compute_bam_metrics_2:
run: ./waltz/waltz-workflow.cwl <-- Using the same workflow 2x
in:
input_bam: previous_step_2/bam
out: [pileup, waltz_output_files]
Use File
if you're dealing with a file, not a string
. This will give better validation, and allow for cloud-based file storage such as s3://
or gs://
<single newline between workflow properties (inputs, outputs, steps)>
inputs:
<single newline after header for workflow property with many children>
title_file: File
fastq1: File[]
fastq2: File[]
sample_sheet: File[]
<single newlines to group inputs into logical sections>
reference_fasta: string
reference_fasta_fai: string
# Marianas Clipping
umi_length: int
output_project_folder: string
# Module 1
adapter: string[]
type:
type: array
items:
type: File
type:
- 'null'
- string
java_8:
valueFrom: $(inputs.run_tools.java_8)
instead of
java_8:
valueFrom: ${return inputs.run_tools.java_8}