All Projects → Ensembl → ensembl-compara

Ensembl / ensembl-compara

Licence: Apache-2.0 license
The Ensembl Compara Perl API and SQL schema

Programming Languages

perl
6916 projects
python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language
shell
77523 projects
r
7636 projects
XS
67 projects

Projects that are alternatives of or similar to ensembl-compara

PCG
𝙋𝙝𝙮𝙡𝙤𝙜𝙚𝙣𝙚𝙩𝙞𝙘 𝘾𝙤𝙢𝙥𝙤𝙣𝙚𝙣𝙩 𝙂𝙧𝙖𝙥𝙝 ⸺ Haskell program and libraries for general phylogenetic graph search
Stars: ✭ 20 (-53.49%)
Mutual labels:  bioinformatics, comparative-genomics
recentrifuge
Recentrifuge: robust comparative analysis and contamination removal for metagenomics
Stars: ✭ 79 (+83.72%)
Mutual labels:  comparative-genomics
Deep learning examples
Examples of using deep learning in Bioinformatics
Stars: ✭ 234 (+444.19%)
Mutual labels:  bioinformatics
Canvasxpress
JavaScript VisualizationTools
Stars: ✭ 247 (+474.42%)
Mutual labels:  bioinformatics
Sourmash
Quickly search, compare, and analyze genomic and metagenomic data sets.
Stars: ✭ 237 (+451.16%)
Mutual labels:  bioinformatics
Dash.jl
Dash for Julia - A Julia interface to the Dash ecosystem for creating analytic web applications in Julia. No JavaScript required.
Stars: ✭ 248 (+476.74%)
Mutual labels:  bioinformatics
Dash
Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.
Stars: ✭ 15,592 (+36160.47%)
Mutual labels:  bioinformatics
jgi-query
A simple command-line tool to download data from Joint Genome Institute databases
Stars: ✭ 38 (-11.63%)
Mutual labels:  bioinformatics
Asgan
A tool for analysis of assembly graphs
Stars: ✭ 26 (-39.53%)
Mutual labels:  comparative-genomics
Biopython
Official git repository for Biopython (originally converted from CVS)
Stars: ✭ 2,936 (+6727.91%)
Mutual labels:  bioinformatics
Bioperl Live
Core BioPerl 1.x code
Stars: ✭ 244 (+467.44%)
Mutual labels:  bioinformatics
Single Cell Pseudotime
An overview of algorithms for estimating pseudotime in single-cell RNA-seq data
Stars: ✭ 239 (+455.81%)
Mutual labels:  bioinformatics
Hap.py
Haplotype VCF comparison tools
Stars: ✭ 249 (+479.07%)
Mutual labels:  bioinformatics
Homebrew Bio
🍺🔬 Bioinformatics formulae for the Homebrew package manager (macOS and Linux)
Stars: ✭ 237 (+451.16%)
Mutual labels:  bioinformatics
ensembldb
This is the ensembldb development repository.
Stars: ✭ 31 (-27.91%)
Mutual labels:  ensembl
Hh Suite
Remote protein homology detection suite.
Stars: ✭ 230 (+434.88%)
Mutual labels:  bioinformatics
Cyvcf2
cython + htslib == fast VCF and BCF processing
Stars: ✭ 243 (+465.12%)
Mutual labels:  bioinformatics
Awesome Cheminformatics
A curated list of Cheminformatics libraries and software.
Stars: ✭ 244 (+467.44%)
Mutual labels:  bioinformatics
faster lmm d
A faster lmm for GWAS. Supports GPU backend.
Stars: ✭ 12 (-72.09%)
Mutual labels:  bioinformatics
gcv
Federating genomes with love (and synteny derived from functional annotations)
Stars: ✭ 22 (-48.84%)
Mutual labels:  comparative-genomics

Ensembl Compara API

Build Status Codecov Status Code Climate

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.

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.

API to access HAL alignments (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
# Make sure we use the latest version
git pull
# Download the dependencies
git submodule update --init

# We specifically need a more recent version of "hal"
cd submodules/hal/
git checkout master
git pull
cd ../..

cd submodules/sonLib
# edit include.mk and add " -fPIC" at the end of the cflags_opt line (line 44)
cd ../..

# Compile
make
# Check it passes the test-suite. You should see "Result: PASS"
make test
pwd  # Prints the installation path

Note that on some Ubuntu installations, you may have to do this as well:

    sudo apt-get install python-dev
    sudo ln -s /usr/lib/python2.7/plat-*/_sysconfigdata_nd.py /usr/lib/python2.7/

Now, we need to set up the Compara API:

cd ensembl-compara/src/perl/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, e.g.:

cd ensembl-compara/src/perl/xs/HALXS
perl Makefile-progressiveCactus.PL
make

On the EBI main cluster, do not load /nfs/software/ensembl/latest/envs/basic.sh in your .bashrc, and replace perl with /nfs/software/ensembl/latest/linuxbrew/bin/perl when invoking Makefile-progressiveCactus.PL.

Installation via Linuxbrew

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

cd ensembl-compara/src/perl/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

On many OSes you may be able to install hdf5 system-wide via your software manager. This usually brings in regular security updates etc. Then, you need to install these two libraries:

You will have to patch sonLib/include.mk like in the progressiveCactus instructions above. Then run this makefile

cd ensembl-compara/src/perl/xs/HALXS
perl [email protected] path/to/sonLib path/to/hal
make

If you can't have hdf5 installed system-wide, install it manually from:

And run this makefile

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

Additional data files (e.g. HAL alignments)

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].