The default species for Ensembl are listed in this file:
public-plugins/ensembl/conf/SiteDefs.pm
in %__species_aliases. These are automatically imported into the main conf/SiteDefs::ENSEMBL_SPECIES_ALIASES. In this distribution all the default species are enabled. (See below on how to customise your own list).
The keys of the hash (the species names on the left hand side) define the list of valid species for this website. The values of the hash (the aliases on the right) can be used in URLs instead of the longer species names. i.e.
http://my.ensembl.site/mouse/contigviewis identical to
http://my.ensembl.site/Mus_musculus/contigviewTo configure a species it has to have an appropriately-named .ini file in the conf/ini_files directory and to be present as in the %__species_aliases as shown below:
sub update_conf {
$SiteDefs::ENSEMBL_PERL_SPECIES = 'Homo_sapiens'; # Default species
$SiteDefs::__species_aliases{ 'Bos_taurus' } = [qw(bt cow moo)];
$SiteDefs::__species_aliases{ 'Canis_familiaris'} = [qw(cf dog)];
$SiteDefs::__species_aliases{ 'Homo_sapiens' } = [qw(hs human man default)];
}
To overwrite the default species and customise your own species list add lines (described below) to the "update_conf" method in your mirror plugin: public-plugins/mirror/conf/SiteDefs.pm.
Remember to create an ini file for each of the species in public-plugins/mirror/conf/ini-files/<Genus_species>.ini. If you put your changes into the public-plugins/mirror directory, they will not be overridden when you next do a cvs update.
You might also want to change $SiteDefs::ENSEMBL_PERL_SPECIES - this is a special alias for URLs of the form http://my.ensembl.site/perl/contigview, for purely historical reasons. It will probably be used in the future to set the default species for multi-species pages/functions.
Once you are happy with your ini files, run the utility script utils/update_webdb.pl, which will update ensembl_website with species information (assembly IDs, etc) for that release. Although not essential for the running of an Ensembl site, this database is used by several static content utilities as well as the news and help pages.
A new species needs at a minimum, a directory and home page:
If you would like your species home page to match that of the existing Ensembl site, you will need the following:
If you have added or deleted species, you will needed to generate new species lists for the home page and new site maps (see below).
If you have added species, you will also need a thumbnail image of the species, for use on the home page and main sitemap. The image must be 40x40px and called thumb_[Genus_species].png. Save it in public-plugins/mirror/htdocs/img/species/
These can be manually updated by copying mammals.html and others.html from /public-plugins/ensembl/htdocs/ssi/ to /public-plugins/mirror/htdocs/ssi/ and then editing them to show your species.
Alternatively you can run the utility script utils/homepage.pl, as long as you have run utils/update_webdb.pl first to put all your configured species into the database.
./homepage.pl --release=40 --sitetype=mirror (substituting the relevant release number)
If your static content is not in public-plugins/mirror, you need to append another flag:
--mirror=my-plugins/mysite (no beginning or trailing slashes).
These are generated quickly and easily by running utils/sitemap.pl. The script uses the SEARCH_LINKS hash from the cached configuration to generate individual species site maps, and also walks the /info directory to produce a tree of links to site documentation.
The script can be invoked with similar flags to homepage.pl, but does not need a release number.
If you have extended Ensembl by adding new views, you can include them in the site map by editing the script - see the inline documentation under 'TO ADD A NEW VIEW'.