This is a digest of how to pass the first conformance test for Common Workflow Language (CWL).
This slide is mainly for the developers of workflow engines for CWL.
workflow engine supports CWL specification. – It provides 195 tests. 4 How to test your engine? $ git clone [email protected]:common-workflow-language/common-workflow-language.git $ cd common-workflow-language $ ./run_test.sh –help
• Run the tests in parallel: 6 Running conformance test $ ./run_test.sh –n=1,2,4-10,… $ ./run_test.sh RUNNER=/path/to/your-own-engine $ ./run_test.sh –j=32
for CommandLineTool – Execute a given (or default) python script and capture the output • It consists of: – bwa-mem-tool.cwl (Tool description) – bwa-mem-job.json (Input parameters) – args.py (Python script) 7 The first conformance test
of the command line. • python args.py bwa mem -t 2 -I 1,2,3,4 -m 3 chr20.fa example_human_Illumina.pe_1.fastq example_human_Illumina.pe_2.fastq 54 How to build the commandline: section 4.1.(6) baseCommand: python
"cwl.output.json", that file must be loaded and used as the output object. 62 How to build the commandline: capture the output object (4.4) $ cat cwl.output.json {"args": ["bwa", "mem", "-t", "2", "-I", "1,2,3,4", "-m", "3", "chr20.fa", "example_human_Illumina.p e_1.fastq", "example_human_Illumina.p e_2.fastq"]} Output object
CWL! • Easier first step: ExpressionTool (such as #14, #15) – Executing JavaScript codes – Almost the same but no need to construct the commandline • Advanced topics for #1 – DockerRequirement 64 Conclusion