Nextflow plugin to render provenance reports for pipeline runs. Now supporting BioCompute Object!
To enable and configure nf-prov
, include the following snippet to your Nextflow config and update as needed.
plugins {
id 'nf-prov'
}
prov {
enabled = true
formats {
legacy {
file = 'manifest.json'
overwrite = true
}
}
}
Finally, run your Nextflow pipeline. You do not need to modify your pipeline script in order to use the nf-prov
plugin. The plugin will automatically produce the specified provenance reports at the end of the workflow run.
The file
, format
, and overwrite
options have been deprecated since version 1.2.0. Use formats
instead.
The following options are available:
prov.enabled
Create the provenance report (default: true
if plugin is loaded).
prov.formats
Configuration scope for the desired output formats. The following formats are available:
-
bco
: Render a BioCompute Object. Supports thefile
andoverwrite
options. See BCO.md for more information about the additional config options for BCO. -
dag
: Render the task graph as a Mermaid diagram embedded in an HTML document. Supports thefile
andoverwrite
options.
Deprecated in version 1.4.0
legacy
: Render the legacy format originally defined in this plugin (default). Supports thefile
andoverwrite
options.
New in version 1.4.0
wrroc
: Render a Workflow Run RO-Crate. Includes all three profiles (Process, Workflow, and Provenance). See WRROC.md for more information about the additional config options for WRROC.
Any number of formats can be specified, for example:
prov {
formats {
bco {
file = 'bco.json'
overwrite = true
}
wrroc {
file = 'ro-crate-metadata.json'
overwrite = true
}
}
}
See the nf-prov-test directory for an example pipeline that produces every provenance format.
prov.patterns
List of file patterns to include in the provenance report, from the set of published files. By default, all published files are included.
Build and install the plugin to your local Nextflow installation:
make install
Run with Nextflow as usual:
nextflow run nf-prov-test -plugins nf-prov@<version>
Following these step to package, upload and publish the plugin:
-
In
build.gradle
make sure that:version
matches the desired release version,github.repository
matches the repository of the plugin,github.indexUrl
points to your fork of the plugins index repository.
-
Create a file named
$HOME/.gradle/gradle.properties
, where$HOME
is your home directory. Add the following properties:github_username
: The GitHub username granting access to the plugin repository.github_access_token
: The GitHub access token required to upload and commit changes to the plugin repository.github_commit_email
: The email address associated with your GitHub account.
-
Update the changelog.
-
Build and publish the plugin to your GitHub repository:
make release
-
Create a pull request against the nextflow-io/plugins repository to make the plugin publicly accessible.