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.
206
215
207
216
cwltool is distributed with an example of such seqtk tool and sample corresponding
208
217
job. It could executed from the cwltool root using a dependency resolvers
Technical outline of how cwltool works internally, for maintainers.
367
376
368
-
#. Use CWL `load_tool()` to load document.
377
+
#. Use CWL ``load_tool()`` to load document.
369
378
370
379
#. Fetches the document from file or URL
371
380
#. Applies preprocessing (syntax/identifier expansion and normalization)
372
381
#. Validates the document based on cwlVersion
373
382
#. If necessary, updates the document to latest spec
374
-
#. Constructs a Process object using `make_tool()` callback. This yields a
383
+
#. Constructs a Process object using ``make_tool()``` callback. This yields a
375
384
CommandLineTool, Workflow, or ExpressionTool. For workflows, this
376
385
recursively constructs each workflow step.
377
386
#. To construct custom types for CommandLineTool, Workflow, or
378
-
ExpressionTool, provide a custom `make_tool()`
387
+
ExpressionTool, provide a custom ``make_tool()``
379
388
380
-
#. 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.
381
390
382
-
#. `job()` is a generator method (uses the Python iterator protocol)
383
-
#. Each time the `job()` method is invoked in an iteration, it returns one
384
-
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
385
394
there is currently no work ready to run) or end of iteration (indicating
386
395
the process is complete.)
387
-
#. 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.
388
397
#. Output of a process is reported by an output callback.
389
-
#. `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
390
399
that is currently ready to run and then yield None.
391
400
392
-
#. "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.
393
402
394
403
#. The WorkflowJob iterates over each WorkflowJobStep and determines if the
395
404
inputs the step are ready.
396
405
#. When a step is ready, it constructs an input object for that step and
397
-
iterates on the `job()` method of the workflow job step.
406
+
iterates on the ``job()`` method of the workflow job step.
398
407
#. Each runnable item is yielded back up to top level run loop
399
408
#. When a step job completes and receives an output callback, the
400
409
job outputs are assigned to the output of the workflow step.
401
410
#. When all steps are complete, the intermediate files are moved to a final
402
411
workflow output, intermediate directories are deleted, and the output
403
412
callback for the workflow is called.
404
413
405
-
#. "CommandLineTool" job() objects yield a single runnable object.
414
+
#. ``CommandLineTool`` job() objects yield a single runnable object.
406
415
407
-
#. The CommandLineTool `job()` method calls `makeJobRunner()` to create a
408
-
`CommandLineJob` object
416
+
#. The CommandLineTool ``job()`` method calls ``makeJobRunner()`` to create a
417
+
``CommandLineJob`` object
409
418
#. The job method configures the CommandLineJob object by setting public
410
419
attributes
411
420
#. The job method iterates over file and directories inputs to the
@@ -416,7 +425,7 @@ Technical outline of how cwltool works internally, for maintainers.
416
425
#. Files are staged to targets paths using either Docker volume binds (when
417
426
using containers) or symlinks (if not). This staging step enables files
418
427
to be logically rearranged or renamed independent of their source layout.
419
-
#. The run() method of CommandLineJob executes the command line tool or
428
+
#. The ``run()`` method of CommandLineJob executes the command line tool or
420
429
Docker container, waits for it to complete, collects output, and makes
0 commit comments