Configuring your Ensembl species

Most of the time you will want to run your Ensembl mirror site with the same set of species as the equivalent public site. In this situation, you just need to set up all the required databases and configure the relevant plugin, e.g. public-plugins/ensembl for the main Ensembl website (www.ensembl.org).

However if you wish to show only a subset of species, or perhaps add one of your own, you will need to do some extra manual configuration.

Removing species

It is obviously simpler to omit species from your Ensembl mirror than to add new ones, so we'll look at this first.

If you only want to omit a few species, simply add the required delete lines to the update_conf method in /public-plugins/mirror/conf/SiteDefs.pm:

delete($SiteDefs::__species_aliases{'Mus_musculus'});
delete($SiteDefs::__species_aliases{'Rattus_norvegicus'});

If on the other hand you want to omit most species and just use one or two of the Ensembl species, it is more efficient to omit the entire species-related plugin (e.g. public-plugins/ensembl) and copy the relevant bits of code into your own plugin as if you were setting up new species (see below).

Important note: the comparative genomics code in particular relies on the default primary and secondary comparison species being configured in SiteDefs.pm (e.g. Human and Mouse for Ensembl Vertebrates). If you omit either of these species, you need to set others in their place or some pages will not work. E.g.

$SiteDefs::ENSEMBL_SECONDARY_SPECIES  = 'Canis_familiaris'; 

Adding new species

To add a species, you obviously need a complete Ensembl database in the same schema as the rest of your site, which is outside the scope of this tutorial. However assuming you have the data already, the following changes will add it to the website (substituting the details of your own species for the ones in the examples, obviously!).

SiteDefs.pm

Firstly, add it to the species aliases in the update_conf method in /public-plugins/mirror/conf/SiteDefs.pm:

$SiteDefs::__species_aliases{'Canis_latrans'}           = [qw(cl coyote)];
$SiteDefs::__species_aliases{'Geococcyx_californianus'} = [qw(gc roadrunner)];

Note that all aliases should be unique, so check in /public-plugins/ensembl/conf/SiteDefs.pm to see which are already in use. These aliases allow quick access to pages, so that users can type, e.g. www.ensembl.org/worm/Transcript?t=ZK792.7 instead of www.ensembl.org/Caenorhabditis_elegans/Transcript?t=ZK792.7

Species ini files

The species configuration (database names, etc.) is kept in the conf/ini_files directory as an "ini" file. There is a generic file called DEFAULTS.ini which holds default values for all the species. (This is simply to save having to make the same setting in multiple species ini files.) There needs to be a species-specific .ini file for each species you want to display on your Ensembl website (e.g. Homo_sapiens.ini). You can override settings in DEFAULTS.ini by redefining the setting in a particular species' ini file. The MULTI.ini contains multi-species settings. It has database connection information for the Compara and Mart databases.

To create a new species-specific ini file, copy, rename and modify the template file in public-plugins/mirror/conf/ini-files/Genus_species.ini.

  • Under [databases] list all the ones configured for this species.
    You can use "%" instead of the release number if it is idential to the <ENSEMBL_VERSION> (configured in conf/SiteDefs.pm). This is equivalent to the schema version for the main ensembl site.
  • If you want to configure additional data you can use an existing ini file from the public-plugins/ensembl/conf/ini-files/ directory as a guide.

If your new species lies in a taxonomic group outside the standard Ensembl eukaryote tree, or if you simply wish to alter the groupings in the dropdown species list on the home page, see the instructions on customising the species list on the home page.

Static content

Canis latrans Species home pages are now dynamically generated, so only a minimum of maintenance is required. Much of the content is now generated from the databases and ini files.

By default, the species homepage links to a page called 'more information and statistics', which includes some optional text about the species. Examples of the kind of text used can be found in public-plugins/ensembl/htdocs/ssi/species.

Finally, if your new species is a eukaryote you may want to display a thumbnail image on the home page and in search menus, etc. If so, you will need a square image in the following sizes and file locations (inside your plugin):

  • htdocs/i/species/16/ - 16 x 16 pixels
  • htdocs/i/species/32/ - 32 x 32 pixels
  • htdocs/i/species/48/ - 48 x 48 pixels
  • htdocs/i/species/64/ - 64 x 64 pixels

Each file should be named after the species, e.g. Canis_latrans.png