Skip to content

Versioning and Reproducibility

Jill V. Hagey, PhD edited this page Aug 2, 2022 · 4 revisions

Version Control and Reproducibility

Version control is important for reproducibility of pipeline results.

Version Control

You can install a specific branch or tag of a pipeline using the -b argument for git clone:

git clone -b v1.0.0 https://github.com/CDCgov/phoenix 

or you are using the nextflow run command then you can run a particular "revision" (aka version) of the pipeline to run it by passing either a git branch, tag or commit SHA number) with the -r argument like:

nextflow run cdcgov/phoenix -r v1.0.0 -profile <singularity/docker/custom> -entry PHOENIX --kraken2db $PATH_TO_DB

If you want to always run the latest version then pass the latest parameter:

nextflow run cdcgov/phoenix -latest -r v1.0.0 -profile <singularity/docker/custom> -entry PHOENIX --kraken2db $PATH_TO_DB

Updating PHoeNIx

If you are using nextflow run cdcgov/phoenix you might see this NOTE that your version is out of date:

N E X T F L O W  ~  version 21.10.6
Launching `cdcgov/phoenix` [confident_heisenberg] - revision: f467139cb7 [v1.0.0]
NOTE: Your local project version looks outdated - a different revision is available in the remote repository [91d2ad9904]

To upgrade your version to the latest patch run nextflow pull cdcgov/phoenix and you will see something like this:

Checking cdcgov/phoenix ...
 Fast-forward - revision: 91d2ad9904 [v1.0.0]

Now you are all good to go!

What version am I running?

PHoeNIx always tells you what version it is in its initial output:

PHoeNIx_Version.PNG