Archive Ensembl HomeArchive Ensembl Home

Perl API Installation with CVS

Introduction

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

Installation Procedure

  1. Create an installation directory

    $ cd
    $ mkdir src
    $ cd src
    
  2. Log into the BioPerl CVS server (using a password of cvs):

    $ cvs -d :pserver:cvs@code.open-bio.org:/home/repository/bioperl login
    Logging in to :pserver:cvs@code.open-bio.org:2401/home/repository/bioperl
    CVS password: cvs
    
  3. Install BioPerl (version 1.2.3)

    $ cvs -d :pserver:cvs@code.open-bio.org:/home/repository/bioperl checkout -r bioperl-release-1-2-3 bioperl-live
    

    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

  4. Log into the Ensembl CVS server at Sanger (using a password of CVSUSER):

    $ cvs -d :pserver:cvsuser@cvs.sanger.ac.uk:/cvsroot/ensembl login
    Logging in to :pserver:cvsuser@cvs.sanger.ac.uk:2401/cvsroot/ensembl
    CVS password: CVSUSER
    
  5. Install the Ensembl Core Perl API for version 67

    $ cvs -d :pserver:cvsuser@cvs.sanger.ac.uk:/cvsroot/ensembl checkout -r branch-ensembl-67 ensembl
    
  6. If required, install the Ensembl Variation Perl API for version 67

    $ cvs -d :pserver:cvsuser@cvs.sanger.ac.uk:/cvsroot/ensembl checkout -r branch-ensembl-67 ensembl-variation
    
  7. If required, install the Ensembl Functional Genomics Perl API for version 67

    $ cvs -d :pserver:cvsuser@cvs.sanger.ac.uk:/cvsroot/ensembl checkout -r branch-ensembl-67 ensembl-functgenomics
    
  8. If required, install the Ensembl Compara Perl API for verion 67

    $ cvs -d :pserver:cvsuser@cvs.sanger.ac.uk:/cvsroot/ensembl checkout -r branch-ensembl-67 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:cvsuser@cvs.sanger.ac.uk:/cvsroot/ensembl checkout -r branch-ensembl-67 ensembl-api
    
  9. 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.

  1. Change the working directory to the directory into which you originally installed the APIs.

    $ cd
    $ cd src
    
  2. 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-67
    $ 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.)