BIGSdb requires a number of software components to be installed:
- 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.
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.
- File::Map
- File::Type - Used to determine what type of file has been uploaded.
- 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.
- PDL - Required for LINcode calculations.
- Time::Duration - Used by Job Viewer to display elapsed time in rounded units.
- TOML - Used to define dashboard layouts.
- Try::Tiny
- XML::Parser::PerlSAX - part of libxml-perl - Used to parse XML configuration files.
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.