Perl API Installation with CVS
Ensembl uses the Concurrent Versions System (CVS) for storing the source code and keeping track of source code revisions. This system will help you keeping up to date with developments and bug fixes. You will need CVS installed if you want to download Ensembl code. Graphical CVS clients are also available for Windows, e.g. WinCVS or TortoiseCVS.
If your computer system is protected by a firewall, this firewall needs to allow outgoing connections to TCP port 2401. There is also a web-based CVS repository, which allows you to download Unix tar archives in case CVS access through a firewall is not possible.
There is also an Ensembl Virtual Machine available for download which comes with the latest API pre-installed. You may download this and get started immediately with the API without having to go through the steps below. Full instructions are available here
Create an installation directory
$ cd $ mkdir src $ cd src
Take a clone of BioPerl from GitHub using Git
$ git clone https://github.com/bioperl/bioperl-live.git Cloning into 'bioperl-live'... remote: Counting objects: 99558, done. remote: Compressing objects: 100% (23306/23306), done. remote: Total 99558 (delta 76021), reused 99097 (delta 75628) Receiving objects: 100% (99558/99558), 140.34 MiB | 5.66 MiB/s, done. Resolving deltas: 100% (76021/76021), done.
Switch to BioPerl version 1.2.3. Do not worry about warnings from Git about being in a detatched HEAD state.
$ cd bioperl-live $ git checkout bioperl-release-1-2-3 $ cd ..
Important note: you must install version 1.2.3, not a more recent version. Starting with 1.2.4, major changes were made to the BioPerl API which have made it incompatible with Ensembl.
Log into the Ensembl CVS server at Sanger (using a password of CVSUSER):
$ cvs -d :pserver:email@example.com:/cvsroot/ensembl login Logging in to :pserver:firstname.lastname@example.org:2401/cvsroot/ensembl CVS password: CVSUSER
Install the Ensembl Core Perl API for version 74
$ cvs -d :pserver:email@example.com:/cvsroot/ensembl checkout -r branch-ensembl-74 ensembl
If required, install the Ensembl Variation Perl API for version 74
$ cvs -d :pserver:firstname.lastname@example.org:/cvsroot/ensembl checkout -r branch-ensembl-74 ensembl-variation
If required, install the Ensembl Functional Genomics Perl API for version 74
$ cvs -d :pserver:email@example.com:/cvsroot/ensembl checkout -r branch-ensembl-74 ensembl-functgenomics
If required, install the Ensembl Compara Perl API for verion 74
$ cvs -d :pserver:firstname.lastname@example.org:/cvsroot/ensembl checkout -r branch-ensembl-74 ensembl-compara
NB: You can install as many Ensembl APIs as you need in this way. To install all the APIs in one go, use the command:
$ cvs -d :pserver:email@example.com:/cvsroot/ensembl checkout -r branch-ensembl-74 ensembl-api
Set up your environment as described in the basic installation instructions.
In case you want to update the Perl APIs to a more recent version, keep in mind that the API and database versions must be identical; you can use a simple CVS command to achieve this.
Change the working directory to the directory into which you originally installed the APIs.
$ cd $ cd src
For each of the APIs, change into its top-directory before issuing the CVS update command. So for the Ensembl Core API, which has been automatically installed into the ensembl directory use the following commands:
$ cd ensembl $ cvs -q update -d -P -r branch-ensembl-74 $ cd ..
CVS will automatically add, modify or delete files so that your working directory will resemble the ensembl-branch you selected. Warnings that the CVS update process cannot update a history file on the CVS server can be ignored. The cvsuser account deliberately has not the privileges to do so.
In case you are asked for a password, repeat the login steps in the installation procedure above. (The password is normally stored in encrypted form in a file in your home directory and remembered between CVS operations.)
Debugging an Installation
Sometimes installations can go wrong. You should follow our debugging installation guide to help diagnose and resolve installation issues.