Skip to content

stevekm/dumpSoftwareVersions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dumpSoftwareVersions

Tiny simple command line utility used to create a software versions YAML file from the various tools used throughout a Nextflow pipeline, in order to generate the Software Versions HTML table input used with MultiQC reports.

Usage

Example usage:

$ ./dumpSoftwareVersions -manifestName dump-software-version-demo -manifestVersion 1.0 -nxfVersion 23.04.1 -processLabel CUSTOM_DUMPSOFTWAREVERSIONS example/collated_versions.yml

Output YAML is printed to stdout by default. You will want to pipe it to a file named software_versions_mqc.yml for use with MultiQC.

  • example input file: example/collated_versions.yml
  • example output: example/software_versions_mqc.yml

With Nextflow + MultiQC

You can see an example of how to use this utility inside your Nextflow pipeline here.

A simple example Nextflow process might look like this

process DUMPSOFTWAREVERSIONS {
    container "stevekm/dump-software-versions:0.1"

    input:
    path(versionsYAMLFile) // single file with collated version YAML from all previous tools in the pipeline

    output:
    path(output_filename), emit: mqc_yml

    script:
    output_filename = "software_versions_mqc.yml"
    """
    dumpSoftwareVersions \
    -manifestName "${workflow.manifest.name}" \
    -manifestVersion "${workflow.manifest.version}" \
    -nxfVersion "${workflow.nextflow.version}" \
    -processLabel "${task.process}" \
    "${versionsYAMLFile}" > "${output_filename}"
    """
}

The output file here software_versions_mqc.yml can then be passed as an input item to your MultiQC Nextflow process.

Once incorporated into MultiQC, you should get a nice table that looks something like this;

Screenshot

Download

Get it from Docker Hub here: https://hub.docker.com/repository/docker/stevekm/dump-software-versions/general

docker pull stevekm/dump-software-versions:0.1
  • try it out with the included Makefile recipe; make docker-test-run

Or download binaries from a release version here: https://github.com/stevekm/dumpSoftwareVersions/releases

Or build from source using Go version 1.20+;

go build -o ./dumpSoftwareVersions ./main.go

Notes

See full usage in a Nextflow pipeline here:

Inspired by:

For use with:

About

Create MultiQC Software Versions YAML from Nextflow pipeline output

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published