.. scriptcwl documentation master file, created by sphinx-quickstart on Mon Nov 13 15:12:14 2017. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to the Scriptcwl Documentation! ======================================= Scriptcwl is a Python package for creating `Common Workflow Language (CWL) `_ workflows. .. image:: images/add-multiply-example-workflow.png :alt: add multiply example workflow :align: center Given CWL ``CommandLineTools`` for ``add`` and ``multiply`` (these are available in `scriptcwl `_), a CWL specification of this workflow can be written as: :: from scriptcwl import WorkflowGenerator with WorkflowGenerator() as wf: wf.load(steps_dir='/path_to_scriptcwl/scriptcwl/examples/') num1 = wf.add_input(num1='int') num2 = wf.add_input(num2='int') answer1 = wf.add(x=num1, y=num2) answer2 = wf.multiply(x=answer1, y=num2) wf.add_outputs(final_answer=answer2) wf.save('add_multiply_example_workflow.cwl') The workflow has two integers as inputs (``num1`` and ``num2``), and first adds these two numbers (``wf.add(x=num1, y=num2)``), and then multiplies the answer with the second input (``num2``). The result of that processing step is the output of the workflow. Finally, the workflow is saved to a file. The result looks like: .. code-block:: none #!/usr/bin/env cwl-runner cwlVersion: v1.0 class: Workflow inputs: num1: int num2: int outputs: final_answer: type: int outputSource: multiply/answer steps: add: run: add.cwl in: y: num2 x: num1 out: - answer multiply: run: multiply.cwl in: y: num2 x: add/answer out: - answer More examples of workflows created using scriptcwl can be found under :ref:`examples`. Contents ======== .. toctree:: :maxdepth: 3 user_manual installation examples useful_tools cwl_tips_tricks API Reference ============= .. toctree:: :maxdepth: 2 scriptcwl