Merge branch '8784-dir-listings'
[arvados.git] / doc / user / cwl / cwl-run-options.html.textile.liquid
1 ---
2 layout: default
3 navsection: userguide
4 title: "Using arvados-cwl-runner"
5 ...
6 {% comment %}
7 Copyright (C) The Arvados Authors. All rights reserved.
8
9 SPDX-License-Identifier: CC-BY-SA-3.0
10 {% endcomment %}
11
12 The following command line options are available for @arvados-cwl-runner@:
13
14 table(table table-bordered table-condensed).
15 |_. Option |_. Description |
16 |==--basedir== BASEDIR|     Base directory used to resolve relative references in the input, default to directory of input object file or current directory (if inputs piped/provided on command line).|
17 |==--version==|             Print version and exit|
18 |==--validate==|            Validate CWL document only.|
19 |==--verbose==|             Default logging|
20 |==--quiet==|               Only print warnings and errors.|
21 |==--debug==|               Print even more logging|
22 |==--tool-help==|           Print command line help for tool|
23 |==--enable-reuse==|Enable job reuse (default)|
24 |==--disable-reuse==|Disable job reuse (always run new jobs).|
25 |==--project-uuid UUID==|   Project that will own the workflow jobs, if not provided, will go to home project.|
26 |==--output-name OUTPUT_NAME==|Name to use for collection that stores the final output.|
27 |==--output-tags OUTPUT_TAGS==|Tags for the final output collection separated by commas, e.g., =='--output-tags tag0,tag1,tag2'==.|
28 |==--ignore-docker-for-reuse==|Ignore Docker image version when deciding whether to reuse past jobs.|
29 |==--submit==|              Submit workflow to run on Arvados.|
30 |==--local==|               Control workflow from local host (submits jobs to Arvados).|
31 |==--create-template==|     (Deprecated) synonym for ==--create-workflow.==|
32 |==--create-workflow==|     Create an Arvados workflow (if using the 'containers' API) or pipeline template (if using the 'jobs' API). See ==--api==.|
33 |==--update-workflow== UUID|Update an existing Arvados workflow or pipeline template with the given UUID.|
34 |==--wait==|                After submitting workflow runner job, wait for completion.|
35 |==--no-wait==|             Submit workflow runner job and exit.|
36 |==--api== WORK_API|        Select work submission API, one of 'jobs' or 'containers'. Default is 'jobs' if that API is available, otherwise 'containers'.|
37 |==--compute-checksum==|    Compute checksum of contents while collecting outputs|
38 |==--submit-runner-ram== SUBMIT_RUNNER_RAM|RAM (in MiB) required for the workflow runner job (default 1024)|
39 |==--submit-runner-image== SUBMIT_RUNNER_IMAGE|Docker image for workflow runner job, default arvados/jobs|
40 |==--name== NAME|           Name to use for workflow execution instance.|
41 |==--on-error {stop,continue}|Desired workflow behavior when a step fails. One of 'stop' or 'continue'. Default is 'continue'.|
42 |==--enable-dev==|          Enable loading and running development versions of CWL spec.|
43 |==--intermediate-output-ttl== N|If N > 0, intermediate output collections will be trashed N seconds after creation. Default is 0 (don't trash).|
44 |==--trash-intermediate==|  Immediately trash intermediate outputs on workflow success.|
45 |==--no-trash-intermediate==|Do not trash intermediate outputs (default).|
46
47
48 h3. Specify workflow and output names
49
50 Use the @--name@ and @--output-name@ options to specify the name of the workflow and name of the output collection.
51
52 <notextile>
53 <pre><code>~/arvados/doc/user/cwl/bwa-mem$ <span class="userinput">arvados-cwl-runner --name "Example bwa run" --output-name "Example bwa output" bwa-mem.cwl bwa-mem-input.yml</span>
54 arvados-cwl-runner 1.0.20160628195002, arvados-python-client 0.1.20160616015107, cwltool 1.0.20160629140624
55 2016-06-30 14:56:36 arvados.arv-run[27002] INFO: Upload local files: "bwa-mem.cwl"
56 2016-06-30 14:56:36 arvados.arv-run[27002] INFO: Uploaded to qr1hi-4zz18-h7ljh5u76760ww2
57 2016-06-30 14:56:40 arvados.cwl-runner[27002] INFO: Submitted job qr1hi-8i9sb-fm2n3b1w0l6bskg
58 2016-06-30 14:56:41 arvados.cwl-runner[27002] INFO: Job bwa-mem.cwl (qr1hi-8i9sb-fm2n3b1w0l6bskg) is Running
59 2016-06-30 14:57:12 arvados.cwl-runner[27002] INFO: Job bwa-mem.cwl (qr1hi-8i9sb-fm2n3b1w0l6bskg) is Complete
60 2016-06-30 14:57:12 arvados.cwl-runner[27002] INFO: Overall process status is success
61 {
62     "aligned_sam": {
63         "path": "keep:54325254b226664960de07b3b9482349+154/HWI-ST1027_129_D0THKACXX.1_1.sam",
64         "checksum": "sha1$0dc46a3126d0b5d4ce213b5f0e86e2d05a54755a",
65         "class": "File",
66         "size": 30738986
67     }
68 }
69 </code></pre>
70 </notextile>
71
72 h3. Submit a workflow with no waiting
73
74 To submit a workflow and exit immediately, use the @--no-wait@ option.  This will submit the workflow to Arvados, print out the UUID of the job that was submitted to standard output, and exit.
75
76 <notextile>
77 <pre><code>~/arvados/doc/user/cwl/bwa-mem$ <span class="userinput">arvados-cwl-runner --no-wait bwa-mem.cwl bwa-mem-input.yml</span>
78 arvados-cwl-runner 1.0.20160628195002, arvados-python-client 0.1.20160616015107, cwltool 1.0.20160629140624
79 2016-06-30 15:07:52 arvados.arv-run[12480] INFO: Upload local files: "bwa-mem.cwl"
80 2016-06-30 15:07:52 arvados.arv-run[12480] INFO: Uploaded to qr1hi-4zz18-eqnfwrow8aysa9q
81 2016-06-30 15:07:52 arvados.cwl-runner[12480] INFO: Submitted job qr1hi-8i9sb-fm2n3b1w0l6bskg
82 qr1hi-8i9sb-fm2n3b1w0l6bskg
83 </code></pre>
84 </notextile>
85
86 h3. Control a workflow locally
87
88 To run a workflow with local control, use @--local@.  This means that the host where you run @arvados-cwl-runner@ will be responsible for submitting jobs, however, the jobs themselves will still run on the Arvados cluster.  With @--local@, if you interrupt @arvados-cwl-runner@ or log out, the workflow will be terminated.
89
90 <notextile>
91 <pre><code>~/arvados/doc/user/cwl/bwa-mem$ <span class="userinput">arvados-cwl-runner --local bwa-mem.cwl bwa-mem-input.yml</span>
92 arvados-cwl-runner 1.0.20160628195002, arvados-python-client 0.1.20160616015107, cwltool 1.0.20160629140624
93 2016-07-01 10:05:19 arvados.cwl-runner[16290] INFO: Pipeline instance qr1hi-d1hrv-92wcu6ldtio74r4
94 2016-07-01 10:05:28 arvados.cwl-runner[16290] INFO: Job bwa-mem.cwl (qr1hi-8i9sb-2nzzfbuf9zjrj4g) is Queued
95 2016-07-01 10:05:29 arvados.cwl-runner[16290] INFO: Job bwa-mem.cwl (qr1hi-8i9sb-2nzzfbuf9zjrj4g) is Running
96 2016-07-01 10:05:45 arvados.cwl-runner[16290] INFO: Job bwa-mem.cwl (qr1hi-8i9sb-2nzzfbuf9zjrj4g) is Complete
97 2016-07-01 10:05:46 arvados.cwl-runner[16290] INFO: Overall process status is success
98 {
99     "aligned_sam": {
100         "size": 30738986,
101         "path": "keep:15f56bad0aaa7364819bf14ca2a27c63+88/HWI-ST1027_129_D0THKACXX.1_1.sam",
102         "checksum": "sha1$0dc46a3126d0b5d4ce213b5f0e86e2d05a54755a",
103         "class": "File"
104     }
105 }
106 </code></pre>
107 </notextile>
108
109 h3. Automatically delete intermediate outputs
110
111 Use the @--intermediate-output-ttl@ and @--trash-intermediate@ options to specify how long intermediate outputs should be kept (in seconds) and whether to trash them immediately upon successful workflow completion.
112
113 Temporary collections will be trashed @intermediate-output-ttl@ seconds after creation.  A value of zero (default) means intermediate output should be retained indefinitely.
114
115 Note: arvados-cwl-runner currently does not take workflow dependencies into account when setting the TTL on an intermediate output collection. If the TTL is too short, it is possible for a collection to be trashed before downstream steps that consume it are started.  The recommended minimum value for TTL is the expected duration for the entire the workflow.
116
117 Using @--trash-intermediate@ without @--intermediate-output-ttl@ means that intermediate files will be trashed on successful completion, but will remain on workflow failure.
118
119 Using @--intermediate-output-ttl@ without @--trash-intermediate@ means that intermediate files will be trashed only after the TTL expires (regardless of workflow success or failure).