Our EPI2ME Labs Workflows are designed to provide reproducible analysis results and be deployed across a whole host of compute platforms. Our workflow quick start guide shows how to get started with our workflows to analyse your own data.
In this blogpost we’ll explore a few more details around the options available when using nextflow to run EPI2ME Labs workflows.
All our workflows are available through github.com/epi2me-labs
and are named with the wf-
prefix. We also index them here. To see the options
available for a workflow, just ask the workflow for help:
nextflow run epi2me-labs/wf-artic --help
This will list all the available options and give some basic usage guidance. Replace wf-artic
in the above with the workflow of choice.
EPI2ME Labs workflows are actively developed and frequently updated. We follow a continuous deployment strategy allowing us to provide updates to users with rapid iteration cycles. When the team develops new features for a workflow and commits these to our mainline development code branch, the code is automatically tested against example datasets to ensure no breaking changes have been made. As soon as these tests have passed, the development version of the code is available to end-users under the “prerelease” revision. These releases are further verified by our internal scientists before final releases are made.
-revision
)Any EPI2ME Labs users wishing to test out the bleeding-edge prerelease revisions are free
to do so and provide feedback through GitHub issues. To use a prerelease, provide nextflow with
the -revision
option:
nextflow run epi2me-labs/wf-artic -revision prerelease
Be aware that after doing this nextflow will use the prelease version by default for all future runs of the workflow.
To check the version of the workflow currently in use nextflow provides the info
option:
nextflow info epi2me-labs/wf-artic
The output of the above will be something like:
project name: epi2me-labs/wf-articrepository : https://github.com/epi2me-labs/wf-articlocal path : /home/user/.nextflow/assets/epi2me-labs/wf-articmain script : main.nfrevisions :master (default)* prereleasev0.0.2 [t]v0.0.3 [t]...v0.2.2 [t]v0.2.3 [t]
The asterix (*
) next to prerelease here indicates that revision is the in-use revision. To
switch back to the current stable release run:
nextflow run epi2me-labs/wf-artic -revision master
Of course, its possible to set any revision available from the list. This might be useful
if users want to ensure strict reproducibility across workflow runs and do not mind falling
behind the curve in terms of the latest updated. Be aware that master
always corresponds
to the latest versioned release (e.g. items such as v0.2.3
in the above).
To manually ensure that the latest workflow code is available nextflow provides the pull
command,
which should be combined with first ensuring the revision is set as required:
nextflow run epi2me-labs/wf-artic -revision masternextflow pull epi2me-labs/wf-artic
The incantation above will ensure that the latest release version is available for use without knowing the name of the release up front.
Sometimes its the case that we want to completely ensure we’re using a clean version of the
workflow code; perhaps the files were currupted or manually edited, or for some other reason
we just want a fresh start in life! Nextflow has the drop
command for this reason:
nextflow drop epi2me-labs/wf-artic
This will remove all trace of the workflow code from nextflow’s project cache. To refetch the code simply run the workflow anew:
nextflow run epi2me-labs/wf-artic --help
EPI2ME Labs leverages the nextflow workflow system to provide rapid software updates and new functionality whilst also allowing complete reproducibility should users require it. In this post we have reviewed some of the underlying functionality that nextflow provides to manage workflow code allowing users to update their workflow version or keep it fixed.
Information