Changing the species in Ensembl
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. 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'});
Important note: if you are deleting either Human or Mouse, you need to specify a new primary or secondary species (these are used as defaults when generating links to examples). E.g.:
$SiteDefs::ENSEMBL_SECONDARY_SPECIES = 'Canis_familiaris';
Adding 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!).
Configuration files
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/Gene?g=Y42H9B.1 instead of www.ensembl.org/Caenorhabditis_elegans/Gene?g=Y42H9B.1
You will also need a .ini file for the new species. Copy one of the existing files from /public-plugins/ensembl/conf/ini-files/ to /public-plugins/mirror/conf/ini-files/ and edit it to reflect the relevant settings. Add sample data points to the species ini file to get links into the data - see the [SAMPLE_DATA] section at the bottom of any ini file for examples of the correct format
If your species has chromosomes, make sure you have the correct names in the array ENSEMBL_CHROMOSOMES, as this is used to draw karyotypes.
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.
Website database
Whilst the genomic databases provide the bulk of the data about species in Ensembl, news and some static content is provided from a separate small database, ensembl_website.
Using a MySQL client program, update the ensembl_website database as follows:
insert into species values (1001, 'cl', 'Canis_latrans', 'Coyote');
N.B. We suggest using a high primary key value so as to avoid conflict with future releases of Ensembl.
Then run the utility script /utils/static_content/update_webdb.pl, which will link your new species into the current release.
Static content
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.
You can optionally display a piece of static HTML with information about the species - create a directory public-plugins/mirror/htdocs/ssi/species and in it a file about_Canis_latrans.html. This file does not need <html> or <body> tags, just the content (including images such as photos or logos) you want to display.
Finally, you need some kind of species image for the favourites list on the home page. This should be a 40x40 pixel PNG file named thumb_Canis_latrans.png and placed in /public-plugins/mirror/htdocs/img/species/.