A workflow is an analysis that takes in some input, processes it in one or more steps and produces some output.
assembly_task
, as well
as another task we can assume was defined elsewhere, sort_bam_task
.
You must not write actual logic in the workflow function body. It can only be
used to call task functions and pass task function return values to downstream
task functions. Additionally all task functions must be called with keyword
arguments. You also cannot access variables directly in the workflow function;
in the example below, you would not be able to pass in read1=read1.local_path
.
Dockerfile
that defines the computing environment of your tasksversion
that holds the plaintext version of the workflowwf
that holds the python code needed for the workflow.wf/__init__.py
filelatch init myworkflow
to construct a directory structured as above for
reference or boilerplate.
Dockerfile
version
Filewf/__init__.py
Filelatch register <directory_name>
into our terminal (where
directory_name is the name of the directory holding our code, Dockerfile and
version file).
The registration process requires a local installation of Docker.
To re-register changes, make sure you update the value in the version file. (The
value of the version is not important, only that it is distinct from previously
registered versions).
--remote
flag with latch register
to build and
upload your workflow’s images from a managed and speedy machine.