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';
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!).
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/geneview?gene=Y42H9B.1 instead of www.ensembl.org/Caenorhabditis_elegans/geneview?gene=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. The section that will require the most extensive updates is the [SEARCH_LINKS] list at the end of the file, since this will need to point to useful examples from your own database.
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.
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.
Whilst the above changes will ensure that dynamic content is automatically generated for your new species, users will need a way into that data. Each species in Ensembl has a home page which offers entry points and general information; for the sake of argument we will assume that you are keeping to the standard page format.
First, make a directory /public-plugins/mirror/htdocs/Canis_latrans/, then copy the HTML files from a similarly-assembled species. That is, if your data is assembled into chromosomes, choose a species with chromosomes; if it only has scaffolds or contigs, choose a species without chromosomes.
Then simply go through the copied files and change the content to suit your data. If the species has chromosomes, you can use karyoview to generate a blank karyotype; the clickable image map can be created in a suitable HTML editor, or you can edit the file manually (an image manipulation program such as the GIMP can be used to find the coordinates of each clickable area).
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/.
© 2024 Inserm. Hosted by genouest.org. This product includes software developed by Ensembl.