You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unfortunately, this documentation is in the context of Galaxy tool ``requirement`` s instead of CWL ``SoftwareRequirement`` s, but the concepts map fairly directly.
213
+
Unfortunately, this documentation is in the context of Galaxy tool
214
+
``requirement`` s instead of CWL ``SoftwareRequirement`` s, but the concepts map fairly directly.
192
215
193
216
cwltool is distributed with an example of such seqtk tool and sample corresponding
194
-
job. It could executed from the cwltool root using a dependency resolvers
217
+
job. It could executed from the cwltool root using a dependency resolvers
195
218
configuration file such as the above one using the command::
Technical outline of how cwltool works internally, for maintainers.
353
376
354
-
#. Use CWL `load_tool()` to load document.
377
+
#. Use CWL ``load_tool()`` to load document.
355
378
356
379
#. Fetches the document from file or URL
357
380
#. Applies preprocessing (syntax/identifier expansion and normalization)
358
381
#. Validates the document based on cwlVersion
359
382
#. If necessary, updates the document to latest spec
360
-
#. Constructs a Process object using `make_tool()` callback. This yields a
383
+
#. Constructs a Process object using ``make_tool()``` callback. This yields a
361
384
CommandLineTool, Workflow, or ExpressionTool. For workflows, this
362
385
recursively constructs each workflow step.
363
386
#. To construct custom types for CommandLineTool, Workflow, or
364
-
ExpressionTool, provide a custom `make_tool()`
387
+
ExpressionTool, provide a custom ``make_tool()``
365
388
366
-
#. Iterate on the `job()` method of the Process object to get back runnable jobs.
389
+
#. Iterate on the ``job()`` method of the Process object to get back runnable jobs.
367
390
368
-
#. `job()` is a generator method (uses the Python iterator protocol)
369
-
#. Each time the `job()` method is invoked in an iteration, it returns one
370
-
of: a runnable item (an object with a `run()` method), `None` (indicating
391
+
#. ``job()`` is a generator method (uses the Python iterator protocol)
392
+
#. Each time the ``job()`` method is invoked in an iteration, it returns one
393
+
of: a runnable item (an object with a ``run()`` method), ``None`` (indicating
371
394
there is currently no work ready to run) or end of iteration (indicating
372
395
the process is complete.)
373
-
#. Invoke the runnable item by calling `run()`. This runs the tool and gets output.
396
+
#. Invoke the runnable item by calling ``run()``. This runs the tool and gets output.
374
397
#. Output of a process is reported by an output callback.
375
-
#. `job()` may be iterated over multiple times. It will yield all the work
398
+
#. ``job()`` may be iterated over multiple times. It will yield all the work
376
399
that is currently ready to run and then yield None.
377
400
378
-
#. "Workflow" objects create a corresponding "WorkflowJob" and "WorkflowJobStep" objects to hold the workflow state for the duration of the job invocation.
401
+
#. ``Workflow`` objects create a corresponding ``WorkflowJob`` and ``WorkflowJobStep`` objects to hold the workflow state for the duration of the job invocation.
379
402
380
403
#. The WorkflowJob iterates over each WorkflowJobStep and determines if the
381
404
inputs the step are ready.
382
405
#. When a step is ready, it constructs an input object for that step and
383
-
iterates on the `job()` method of the workflow job step.
406
+
iterates on the ``job()`` method of the workflow job step.
384
407
#. Each runnable item is yielded back up to top level run loop
385
408
#. When a step job completes and receives an output callback, the
386
409
job outputs are assigned to the output of the workflow step.
387
410
#. When all steps are complete, the intermediate files are moved to a final
388
411
workflow output, intermediate directories are deleted, and the output
389
412
callback for the workflow is called.
390
413
391
-
#. "CommandLineTool" job() objects yield a single runnable object.
414
+
#. ``CommandLineTool`` job() objects yield a single runnable object.
392
415
393
-
#. The CommandLineTool `job()` method calls `makeJobRunner()` to create a
394
-
`CommandLineJob` object
416
+
#. The CommandLineTool ``job()`` method calls ``makeJobRunner()`` to create a
417
+
``CommandLineJob`` object
395
418
#. The job method configures the CommandLineJob object by setting public
396
419
attributes
397
420
#. The job method iterates over file and directories inputs to the
@@ -402,7 +425,7 @@ Technical outline of how cwltool works internally, for maintainers.
402
425
#. Files are staged to targets paths using either Docker volume binds (when
403
426
using containers) or symlinks (if not). This staging step enables files
404
427
to be logically rearranged or renamed independent of their source layout.
405
-
#. The run() method of CommandLineJob executes the command line tool or
428
+
#. The ``run()`` method of CommandLineJob executes the command line tool or
406
429
Docker container, waits for it to complete, collects output, and makes
0 commit comments