Using updated software versions

The Tools are functional in their original configuration.

Each Tool is a pipeline that connects many pieces of software. Each piece of software can be exchanged for a different version of the same software. An alternative version could be newer, older, or from a different source.

Each piece of software is housed in a stand-alone unit called a container. Containers are portable and reproducible; they allow the packaging of software and their associated environments (OS, libraries, tools, etc.) within an encapsulated file.

To use a different software version simply specify a different container.


Image Registries

The first thing you need to do is choose the a container.

Biocontainers and StaphB are both a good source of up-to-date and reliable container images for genomic analysis.

Container Images can also be found in:

For example:

staphb roary repository

To choose the version of the software tool look in the tab named 'tags'; the different versions are listed.


Specifying alternative software version(s)

The Core, and each Tools all have an individual nextflow.config file. This is where the containers (and consequently, the encapsulated software) is specified.

To edit the nextflow.config file:

  1. located the relevant nextflow.config file
  2. double click to open the file
  3. update the container address ONLY
  4. run the pipeline to confirm that the alternative container is functional

For example, in this case, the trimGaloreFastQC process uses the container 'quay.io/biocontainers/trim-galore:0.6.6--0',

process {
        withName:trimGaloreFastQC {
            container = 'quay.io/biocontainers/trim-galore:0.6.6--0'
        }

which can be updated to 'quay.io/biocontainers/trim-galore:0.6.7--hdfd78af_0'.

process {
        withName:trimGaloreFastQC {
            container = 'quay.io/biocontainers/trim-galore:0.6.7--hdfd78af_0'
        }

Important

You must modify all containers that use the same software.

For example, seqtk, seqtkSummary and version_seqtk all use 'quay.io/biocontainers/seqtk:1.3--h5bf99c6_3'. Therefore, change all three.

Original configurations for Core

process {
    withName:version_trim_galore {
        container = 'quay.io/biocontainers/trim-galore:0.6.7--hdfd78af_0'
    }            
    withName:trimGaloreFastQC {
        container = 'quay.io/biocontainers/trim-galore:0.6.7--hdfd78af_0'
    }

    withName:version_seqtk {
        container = 'quay.io/biocontainers/seqtk:1.3--h84994c4_1'
    }
    withName:seqtk {
        container = 'quay.io/biocontainers/seqtk:1.3--h84994c4_1'
    }
    withName:seqtkSummary {
        container = 'quay.io/biocontainers/seqtk:1.3--h84994c4_1'
    }

    withName:version_shovill {
        container = 'quay.io/biocontainers/shovill:1.1.0--hdfd78af_1'
    }
    withName:shovill {
        container = 'quay.io/biocontainers/shovill:1.1.0--hdfd78af_1'
    }

    withName:version_quast {
        container = 'nanozoo/quast:5.0.2--e7f0cfe'
    }
    withName:quast {
        container = 'nanozoo/quast:5.0.2--e7f0cfe'
    }

    withName:version_prokka {
        container = 'quay.io/biocontainers/prokka:1.14.6--pl5321hdfd78af_4'
    }
    withName:prokka {
        container = 'quay.io/biocontainers/prokka:1.14.6--pl5321hdfd78af_4'
    }

    withName:version_multiQC {
        container = 'ewels/multiqc:v1.11'
    }
    withName:multiQC {
        container = 'ewels/multiqc:v1.11'
    }

    withName:version_abricate {
        container = 'nanozoo/abricate:1.0.1--8960147'
    }   
    withName:massScreeningDatabaseDownload {
        container = 'nanozoo/abricate:1.0.1--8960147'
    }
    withName:massScreening {
        container = 'nanozoo/abricate:1.0.1--8960147'
    }
    withName:massScreeningSummary {
        container = 'nanozoo/abricate:1.0.1--8960147'
    }

    withName:version_kraken2 {
        container = 'quay.io/biocontainers/kraken2:2.1.2--pl5321h9f5acd7_2'
    }
    withName:kraken2 {
        container = 'quay.io/biocontainers/kraken2:2.1.2--pl5321h9f5acd7_2'
    }
    withName:kraken2_miniKraken {
        container = 'quay.io/biocontainers/kraken2:2.1.2--pl5321h9f5acd7_2'
    }
    withName:kraken2_QC {
        container = 'quay.io/biocontainers/kraken2:2.1.2--pl5321h9f5acd7_2'
    }

    withName:version_fastANI {
        container = 'quay.io/biocontainers/fastani:1.33--h0fdf51a_0'
    }
    withName:fastANI {
        container = 'quay.io/biocontainers/fastani:1.33--h0fdf51a_0'
    }

    withName:version_fasttree {
        container = 'quay.io/biocontainers/fasttree:2.1.10--h779adbc_6'
    }
    withName:fasttree {
        container = 'quay.io/biocontainers/fasttree:2.1.10--h779adbc_6'
    }

    withName:lsBSR_NEW {
        container = 'quay.io/annacprice/extractcoregenome:1.03-r1'
    }   
}

Original configurations for Tool 1

process { 
    container = 'nanozoo/abricate:1.0.1--8960147' 
}

Original configurations for Tool 2

process {
    withName:version {
        container = 'nanozoo/abricate:1.0.1--8960147'
        }
    withName:make_custom_DB {
        container = 'ncbi/blast:2.13.0'
    }
    withName:massScreening {
        container = 'nanozoo/abricate:1.0.1--8960147'
    }
    withName:massScreeningSummary {
        container = 'nanozoo/abricate:1.0.1--8960147'
    }
}

Original configurations for Tool 3

process {
    withName:roary {
        container = 'docker://quay.io/biocontainers/roary:3.13.0--pl526h516909a_0'
    }
    withName:fasttree {
        container = 'docker://quay.io/biocontainers/fasttree:2.1.11--h779adbc_0'
    }
}

Original configurations for Tool 4

process {
    withName:predictORFs {
        container = 'quay.io/biocontainers/prodigal:2.6.3--h516909a_2'
    }
    withName:makeBLASTDatabase {
        container = 'ncbi/blast:2.13.0'
    }
    withName:BLASTGeneSequences {
        container = 'ncbi/blast:2.13.0'
    }
    withName:extractNoHitGenes {
        container = 'staphb/samtools:1.15'
    }
    withName:sortNoHitGenes {
        container = 'nanozoo/bbmap:38.86--9ebcbfa'
    }
    withName:getLongestGenes {
        container = 'quay.io/biocontainers/seqtk:1.3--h84994c4_1'
    }
}