Installing and Running BioMart within Ensembl

Since the 0.5 version of BioMart, installation within external websites has become much harder as the code is not suited for such integrations without a number of post CVS checkout modifications. These you will find listed at the end.

Modifications to Ensembl code base

To enable BioMart in your checkout - include in your Plugins.pm directory the following line (directly above the EnsEMBL::Ensembl plugin line:

'EnsEMBL::Mart' => $SiteDefs::ENSEMBL_SERVERROOT.'/public-plugins/mart',

Considerations when running BioMart within Ensembl

NOTE: We do not run the BioMart application within the same Apache instances as the rest of the Ensembl site AND we use a secondary MySQL server for the BioMart databases.

There are a number of reasons for this - mainly due to the size of the Apache processes Mart produces (these are all 0.5G) and the number of tables in the Mart database. These both have adverse effects on the performance of the Ensembl website - so we have ring-fenced hardware specifically for running BioMart.

Changes to code post CVS checkout

cgi-bin/martresults.PLS

cgi-bin/martservices.PLS

cgi-bin/martview.PLS

conf/settings.conf

lib/BioMart/Web.pm

conf/templates/custom

Copy the .tt files from public-plugins/mart/templates to biomart-perl/conf/templates/custom.