BIGSdb dependencies

Required packages

BIGSdb requires a number of software components to be installed:

Linux packages

  • Apache2 web server with mod_perl2
  • PostgreSQL database
  • Perl 5.10+
  • BioPerl
  • BLAST+
    • infoalign - use to extract alignment stats in Genome Comparator.
    • sixpack - used to translate sequences in multiple reading frames.
    • stretcher - used for sequence alignment in allele query.
  • Ipcress - part of exonerate package - used to simulate PCR reactions which can be used to filter the genome to predicted amplification products.
  • Xvfb - X virtual framebuffer - needed to support SplitsTree in command line mode as used in Genome Comparator.

Perl modules

These are included with most Linux distributions.

  • Archive::Zip - [required by PhyloTree plugin] - Used to upload to iTOL
  • Bio::Biblio - This used to be part of BioPerl but will need to be installed separately if using BioPerl 1.6.920 or later.
  • CGI - Common Gateway Interface requests and responses (used to be a core module but recently removed).
  • Config::Tiny - Configuration file handling.
  • Crypt::Eksblowfish::Bcrypt - Used for password hashing.
  • Data::Random
  • Data::UUID - Globally unique identifer handling for preference storage.
  • DBD-Pg - PostgreSQL database driver for DBI.
  • DBI - Database independent interface - module used to interact with databases.
  • Email::MIME - Used to format E-mail messages.
  • Email::Sender - Used to send E-mail messages by submission system.
  • Email::Valid - Used to validate E-mails sent by job manager.
  • Error - Exception handling.
  • Excel::Writer::XLSX - Used to export data in Excel format.
  • IO::String
  • JSON - Used to manipulate JSON data.
  • List::MoreUtils (version 0.28+).
  • Log::Dispatch::File - Object for logging to file.
  • Log::Log4perl - Configurable status and error logging.
  • LWP::UserAgent - [required by PhyloViz and PhyloTree plugins] - Used to upload via API
  • Net::Oauth - Required for REST authentication (this needs to be installed even if you are not using REST).
  • Parallel::ForkManager - Required for multi-threading tools and plugins.
  • Time::Duration [optional] - Used by Job Viewer to display elapsed time in rounded units.
  • XML::Parser::perlSAX - part of libxml-perl - Used to parse XML configuration files.

Optional packages

Installing these packages will enable extra functionality, but they are not required by the core BIGSdb package.

  • ChartDirector (Perl) - library used for generating charts. Used by some plugins.
  • ImageMagick - mogrify used by some plugins.
  • MAFFT 6.8+ - sequence alignment used by some plugins.
  • Muscle - sequence alignment used by some plugins.
  • Splitstree4 - used by GenomeComparator plugin.