Step 1.1: Install dependencies

📘

Dockerised setup

We are currently migrating to a Dockerised setup to further simplify setup and this documentation will be updated to reflect this approach soon.

🚧

Developed and tested on Ubuntu 14.04

easy import has been developed and tested on freshly installed Ubuntu 14.04. Most steps should run on alternate operating systems but install-dependencies.sh is OS/version specific.

  • On a fresh install of Ubuntu 14.04 only the git package needs to be added manually:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
  • Then easy import can be git cloned into a local directory (named ei in these instructions for brevity):
cd ~
git clone --recursive https://github.com/lepbase/easy-import ei

The --recursive option to git clone also clones the easy mirror and gff parser submodules into em and gff subdirectories, respectively. The gff parser is required during Stage 2 to handle the diversity of real-world .gff files while easy mirror handles server/database/website setup and is the basis for all steps in Stages 1 and 4.

  • Finally the easy mirror script install-dependencies.sh is used to fetch and install all dependencies.

🚧

Check configuration

before running any of these scripts, you should check the Configuration options and edit the relevant .ini file to match your local setup.

cd ~/ei/em
sudo ./install-dependencies.sh ../conf/setup.ini

Configuration options

Only two stanzas of setup.ini are used in Step 1.1:

[WEBSITE]
    SERVER_ROOT = /ensembl

SERVER_ROOT is the full path to the directory into which the Ensembl repositories will be cloned and from which an Ensembl instance will be hosted. The directory will be created if it does not already exist.

[ENSEMBL_USER]
    WEB_USER_NAME = eguser
    WEB_USER_PASS = password

If WEB_USER_NAME is provided, a new user will be created with WEB_USER_PASS, otherwise it defaults to the name of the user running the install-dependencies.sh script. Ownership of the SERVER_ROOT directory is transferred to WEB_USER_NAME so if an alternate user is specified here, subsequent steps (none of which require root permissions) should be run as this alternate user.