Managing EPI2ME Labs workflows with the nextflow command-line interface

By Chris Wright
Published in How Tos
June 24, 2021
2 min read

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.

Running a workflow

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.

Managing workflow versions

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.

Using revisions (-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-artic
repository : https://github.com/epi2me-labs/wf-artic
local path : /home/user/.nextflow/assets/epi2me-labs/wf-artic
main script : main.nf
revisions :
master (default)
* prerelease
v0.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).

Updating the workflow

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 master
nextflow 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.

Removing workflow code

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

Summary

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.


Tags

#nextflow#workflows#faqs

Share

Chris Wright

Chris Wright

Senior Director, Customer Workflows

Table Of Contents

1
Running a workflow
2
Managing workflow versions
3
Summary

Related Posts

How to interpret exit codes
October 06, 2023
4 min

Quick Links

TutorialsWorkflowsOpen DataContact

Social Media

© 2020 - 2024 Oxford Nanopore Technologies plc. All rights reserved. Registered Office: Gosling Building, Edmund Halley Road, Oxford Science Park, OX4 4DQ, UK | Registered No. 05386273 | VAT No 336942382. Oxford Nanopore Technologies, the Wheel icon, EPI2ME, Flongle, GridION, Metrichor, MinION, MinIT, MinKNOW, Plongle, PromethION, SmidgION, Ubik and VolTRAX are registered trademarks of Oxford Nanopore Technologies plc in various countries. Oxford Nanopore Technologies products are not intended for use for health assessment or to diagnose, treat, mitigate, cure, or prevent any disease or condition.