Skip to content

avullo/ensembl-compara

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13,419 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ensembl Compara API

Build Status Coverage Status Documentation Status

The Ensembl Compara API (Application Programme Interface) serves as a middle layer between the underlying MySQL database and the user's script. It aims to encapsulate the database layout by providing high level access to the database.

Find more information (including the installation guide and a tutorial) on the Ensembl website: http://www.ensembl.org/info/docs/api/compara/

See the main Ensembl repository for the guidelines on user contributions.

Additional documentation regarding our internal procedures are temporarily available on Read The Docs

Installation

Perl modules

We use a number of Perl modules that are all available on CPAN. We recommend using cpanminus to install these. You will need both the Core API dependencies and ours.

HAL alignments and progressive-Cactus

If working with HAL files, additional setup is required. There are several ways of installing the dependencies.

Complete installation of progressive-Cactus

Follow this procedure if you intend to run the cactus aligner. If Cactus is already installed on your system, you can directly jump to the section about setting up the API. Otherwise, do this:

git clone https://github.com/glennhickey/progressiveCactus.git
cd progressiveCactus
git pull
git submodule update --init
make
pwd  # Prints the installation path

Note that depending on your build environment, you may have to do this as well

    # Seems to be required on Ubuntu installations
    sudo apt-get install python-dev
    sudo ln -s /usr/lib/python2.7/plat-*/_sysconfigdata_nd.py /usr/lib/python2.7/
    # Seems to be required under linuxbrew installations
    cd progressiveCactus/submodules/sonLib
    # edit include.mk and add " -fPIC" at the end of the cflags_opt line (line 27) and make

Now, we need to set up the Compara API:

cd ensembl-compara/xs/HALXS
perl Makefile-progressiveCactus.PL path/to/cactus
make

If you have the PROGRESSIVE_CACTUS_DIR environment variable defined, you can skip path/to/cactus on the Makefile command-line.

Installation via Linuxbrew

If you have a Linuxbrew installation of Ensembl that includes HAL, do this instead:

cd ensembl-compara/xs/HALXS
perl Makefile-Linuxbrew.PL path/to/linuxbrew_home
make

If you have the LINUXBREW_HOME environment variable defined, you can skip path/to/linuxbrew_home on the Makefile command-line.

Separate installation of all dependencies

For a light-weight setup, install the following three libraries:

Then run this makefile

cd ensembl-compara/xs/HALXS
perl Makefile.PL path/to/hdf5 path/to/sonLib path/to/hal
make

HAL files

Alignments using the method CACTUS_HAL or CACTUS_HAL_PW require extra files to be downloaded from ftp://ftp.ensembl.org/pub/data_files/multi/hal_files/ in order to be fetched with the API. The files must have the same name as on the FTP and must be placed under multi/hal_files/ within your directory of choice. Finally, you need to define the environment variable COMPARA_HAL_DIR to the latter.

Contact us

Please email comments or questions to the public Ensembl developers list at http://lists.ensembl.org/mailman/listinfo/dev

Questions may also be sent to the Ensembl help desk at http://www.ensembl.org/Help/Contact

e!Compara word cloud

About

The Ensembl Compara Perl API and SQL schema

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Perl 93.0%
  • Other 3.7%
  • Prolog 1.7%
  • Java 0.6%
  • Python 0.4%
  • XS 0.2%
  • Other 0.4%