Building an Ensembl Genomes Mirror

The build instructions are split into three sections:

  • How to install other applications required by Ensembl: git, CVS, Perl, MySQL, Apache 2, Dotter
  • How to install the Ensembl and BioMart software
  • How to install the Ensembl data

Ensembl and MySQL

PLEASE NOTE - even if you do not wish to download all the Ensembl data - for the website to function you will need:

  • a local database server to manage display settings and user accounts (if these are enabled).
  • the mysql client software installed on your machine.

If you do not wish to run MySQL (or cannot run a MySQL server locally) AND you do not wish to enable user accounts then you can alternatively install SQLite as an alternative server.

Ensembl Genomes Version Numbers...

Each Ensembl Genomes release has two integer version numbers associated with it, and these version numbers are used to identify the correct versions of API, Web code and databases (see below) that make up that release.

For the API and Web code, a git branch (essentially a named snapshot of the code) is made for each Ensembl release, named with the release version number. The current Ensembl release is version 75, and the git branch for identifying the API and Web code for this release is 'release/75'.

For the extra Ensembl Genomes modules, a git branch (essentially a named snapshot of the code) is made for each Ensembl Genomes release, named with the Ensembl Genomes release version number. The current Ensembl Genomes release is version 22, and the git branch for identifying the API and Web code for this release is 'release/eg/22'.

The Ensembl Genomes database names consist of the species, the database type, the Ensembl Genomes release number, the Ensembl release number and the data version, e.g. the current aedes aegypti 'core' database is named aedes_aegypti_core_22_75_2.

The idea is that components with the same release version should work together - i.e. any web site built with 'version 75' API and web code, and 'version 75' databases should work correctly.

Installing Ensembl Genomes software

Follow the instructions "How to install applications required by Ensembl" and "How to install the Ensembl and BioMart software"

Then go to the server roo directory, e.g /usr/local/ensembl and install the Ensembl Genomes software from GitHub:


git clone --branch release/eg/22 https://github.com/EnsemblGenomes/eg-web-common
git clone --branch release/eg/22 https://github.com/EnsemblGenomes/ensemblgenomes-api
git clone --branch release/eg/22 https://github.com/EnsemblGenomes/eg-web-search
git clone --branch release/eg/22 https://github.com/EnsemblGenomes/eg-web-blast
git clone --branch release/eg/22 https://github.com/EnsemblGenomes/eg-web-bacteria
git clone --branch release/eg/22 https://github.com/EnsemblGenomes/eg-web-metazoa
git clone --branch release/eg/22 https://github.com/EnsemblGenomes/eg-web-plants
git clone --branch release/eg/22 https://github.com/EnsemblGenomes/eg-web-fungi
git clone --branch release/eg/22 https://github.com/EnsemblGenomes/eg-web-protists

A listing of your server-root should now look something like:

eg-web-blast
eg-web-common
eg-web-plants
eg-web-search
ensembl
ensemblgenomes-api
ensembl-compara
ensembl-funcgen
ensembl-git-tools
ensembl-orm
ensembl-tools
ensembl-variation
ensembl-webcode
public-plugins

Installing Ensembl Genomes data

Follow instructions on "How to install the Ensembl Genomes data"

Installing static assets

To fetch and install the static web assets for the Ensembl Genomes division (e.g. fungi), run the following commands from your server-root dir:

$ curl -O ftp://ftp.ensemblgenomes.org/pub/release-23/fungi/web_assets.tar.gz 
$ tar -zx --directory eg-web-fungi --file web_assets.tar.gz

Configure Ensembl Genomes web server

Once you have completed all these steps, you are ready to configure your installation.

Follow instructions on Ensembl website, but rememebr to include the Ensembl Genomes plugins, so your conf/Plugins.pm looks something like

$SiteDefs::ENSEMBL_PLUGINS = [
  'EnsEMBL::Mirror' => $SiteDefs::ENSEMBL_SERVERROOT.'/public-plugins/mirror',
  
# ebi search 'EG::EBEyeSearch' => $SiteDefs::ENSEMBL_SERVERROOT.'/eg-web-search',
# blast using ebi service 'EG::Blast' => $SiteDefs::ENSEMBL_SERVERROOT.'/eg-web-blast',
# scrollable view 'EnsEMBL::Genoverse' => $SiteDefs::ENSEMBL_SERVERROOT.'/public-plugins/genoverse',
# Pick an Ensembl Genomes division you want to run and add corresponding line, e.g one from the following 'EG::Bacteria' => $SiteDefs::ENSEMBL_SERVERROOT.'/eg-web-bacteria', 'EG::Fungi' => $SiteDefs::ENSEMBL_SERVERROOT.'/eg-web-fungi', 'EG::Metazoa' => $SiteDefs::ENSEMBL_SERVERROOT.'/eg-web-metazoa', 'EG::Plants' => $SiteDefs::ENSEMBL_SERVERROOT.'/eg-web-plants', 'EG::Protists' => $SiteDefs::ENSEMBL_SERVERROOT.'/eg-web-protists', # Common must come after the division specific plugins above 'EG::Common' => $SiteDefs::ENSEMBL_SERVERROOT.'/eg-web-common', ];