################### BIGSdb dependencies ################### ***************** Required packages ***************** BIGSdb requires a number of software components to be installed: Linux packages ============== * Apache2 web server with mod_perl2 * PostgreSQL database 9.5+ * Perl 5.10+ * BioPerl * BLAST+ * EMBOSS * 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 `_ - 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 `_ (version 4.04+) - 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. * `Excel::Writer::XLSX `_ - Used to export data in Excel format. * `Exception::Class `_ - Exception handing. * `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 `_ - 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 `_ - Used by Job Viewer to display elapsed time in rounded units. * `Try::Tiny `_ * `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. * 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.