BF Workbench is a restricted scientific system. Records are available only to registered, authorised accounts.

Software, versions and citations

The programs each method runs and the versions in the current images.

Reference

Every analysis method runs inside its own container image, built from one shared base. This page lists the programs those images contain, the version each pins, which methods call each program, and the citation to use when you report a method. The result package records none of this: the report carries no tool versions, citations, reference-library version or random seeds, so this page and the image are the only record of what ran. See Anatomy of a result package for what the report does contain.

What "unpinned" means

Each image starts from Ubuntu 24.04 ("noble"), pinned to an exact digest. Almost everything on top of it is installed from Ubuntu's package repositories or the Python package index without a version, after a package upgrade, so the version you get is whatever those repositories offered on the day the image was built. Two builds of the same image definition on different days can contain different versions of MAFFT, BLAST+ or WeasyPrint, and nothing in the result says which one ran.

For reproducibility this means:

  • A result is reproducible against the image that produced it, not against the image definition. Keep the built image if you need to rerun a job.
  • To state a program version, read it from the image at the time of the run. The versions below are what the image definition requests, not confirmed from a built image.
  • IQ-TREE is the exception. It is fetched as a specific release and its version is known.

Programs by method

Program Version in image Used by Citation
NCBI BLAST+ (blastn, makeblastdb) unpinned identification; reference database build Camacho et al. 2009
MAFFT (--auto) unpinned barcode-gap, distance-summary, diagnostic-characters, phylogenetic-tree, when MAFFT is chosen Katoh and Standley 2013
QuickTree (-kimura) unpinned phylogenetic-tree Howe, Bateman and Durbin 2002
FastTree (-gtr -nt -fastest -no2nd) unpinned phylogenetic-tree Price, Dehal and Arkin 2010
RAxML (raxmlHPC -m GTRCAT) unpinned phylogenetic-tree Stamatakis 2014
IQ-TREE 2 (-m GTR+G -fast -alrt 1000) 2.3.6 phylogenetic-tree Minh et al. 2020; SH-aLRT: Guindon et al. 2010
njplot (newicktops) unpinned phylogenetic-tree, tree drawing Perrière and Gouy 1996
Ghostscript (ps2pdf, gs) unpinned phylogenetic-tree, PDF assembly none
WeasyPrint unpinned (pip) every method that produces a report: PDF rendering none
pandas unpinned (pip in sequence-composition; Ubuntu package in specimen-data-ingest) sequence-composition, specimen-data-ingest McKinney 2010
NumPy unpinned, as a pandas dependency as pandas Harris et al. 2020
Biopython not installed explicitly; presence unconfirmed phylogenetic-tree (FASTA to Stockholm conversion for QuickTree) Cock et al. 2009
csvkit (csvformat), gnumeric (ssconvert) unpinned specimen-download none
Python 3, jq unpinned all methods none

Distance calculations in barcode-gap and distance-summary are in-house Python, not an external program: barcode-gap computes the Kimura two-parameter distance (Kimura 1980) and distance-summary computes uncorrected p-distance. A JC69 function exists in the code but is never called. See each method page for which distance is actually applied.

Good to know: The analysis forms cite MAFFT as "Kotoh and Standley, 2013". The author's name is Katoh; use the citation below.

Good to know: seqmagick is installed in five images but no method calls it. IQ-TREE runs without a fixed random seed, so two runs of the same input can produce different trees even on the same image.

The public identification service

The public service at barcodeid.biolytica.ca is built and versioned separately. Its decision model is versioned with its library builds, and the Analyst model is available through its API. See How the public identification service decides and Reference libraries and builds.

Citations

  • Camacho C, Coulouris G, Avagyan V, Ma N, Papadopoulos J, Bealer K, Madden TL (2009). BLAST+: architecture and applications. BMC Bioinformatics 10:421.
  • Cock PJA, Antao T, Chang JT, Chapman BA, Cox CJ, Dalke A, Friedberg I, Hamelryck T, Kauff F, Wilczynski B, de Hoon MJL (2009). Biopython: freely available Python tools for computational molecular biology and bioinformatics. Bioinformatics 25(11):1422–1423.
  • Guindon S, Dufayard JF, Lefort V, Anisimova M, Hordijk W, Gascuel O (2010). New algorithms and methods to estimate maximum-likelihood phylogenies: assessing the performance of PhyML 3.0. Systematic Biology 59(3):307–321.
  • Harris CR, Millman KJ, van der Walt SJ, et al. (2020). Array programming with NumPy. Nature 585:357–362.
  • Howe K, Bateman A, Durbin R (2002). QuickTree: building huge neighbour-joining trees of protein sequences. Bioinformatics 18(11):1546–1547.
  • Katoh K, Standley DM (2013). MAFFT multiple sequence alignment software version 7: improvements in performance and usability. Molecular Biology and Evolution 30(4):772–780.
  • Kimura M (1980). A simple method for estimating evolutionary rates of base substitutions through comparative studies of nucleotide sequences. Journal of Molecular Evolution 16:111–120.
  • McKinney W (2010). Data structures for statistical computing in Python. Proceedings of the 9th Python in Science Conference, 56–61.
  • Minh BQ, Schmidt HA, Chernomor O, Schrempf D, Woodhams MD, von Haeseler A, Lanfear R (2020). IQ-TREE 2: new models and efficient methods for phylogenetic inference in the genomic era. Molecular Biology and Evolution 37(5):1530–1534.
  • Perrière G, Gouy M (1996). WWW-Query: an on-line retrieval system for biological sequence banks. Biochimie 78(5):364–369.
  • Price MN, Dehal PS, Arkin AP (2010). FastTree 2: approximately maximum-likelihood trees for large alignments. PLoS ONE 5(3):e9490.
  • Stamatakis A (2014). RAxML version 8: a tool for phylogenetic analysis and post-analysis of large phylogenies. Bioinformatics 30(9):1312–1313.