Hi folks,

I'm having a bit of a strange problem with martview at the moment. We have a filter option for EntrezGene IDs which throws an exception when used:

Serious Error: Error during query execution: Table 'metazoa_mart_3.ox_EntrezGene__dm' doesn't exist

ERROR: caught BioMart::Exception::Database: Error during query execution: Table 'metazoa_mart_3.ox_EntrezGene__dm' doesn't exist

If you repeatedly get directed to this error page, there may be a problem with your current session parameters. To clear your session and start with a clean slate, please click the New button below.

Stacktrace:
Exception::Class::Base::throw /home/dstaines/perl/biomart-perl/lib/BioMart/Dataset/TableSet.pm:241 BioMart::Dataset::TableSet::_fillAttributeTableWith /home/dstaines/perl/biomart-perl/lib/BioMart/Dataset/TableSet.pm:124 BioMart::Dataset::TableSet::_getResultTable /home/dstaines/perl/biomart-perl/lib/BioMart/DatasetI.pm:1170 BioMart::DatasetI::getResultTable /home/dstaines/perl/biomart-perl/lib/BioMart/QueryRunner.pm:472 BioMart::QueryRunner::_processPath /home/dstaines/perl/biomart-perl/lib/BioMart/QueryRunner.pm:374 BioMart::QueryRunner::_getResultTable /home/dstaines/perl/biomart-perl/lib/BioMart/QueryRunner.pm:194 BioMart::QueryRunner::execute /home/dstaines/perl/biomart-perl/lib/BioMart/Web.pm:2422
(eval) /home/dstaines/perl/biomart-perl/lib/BioMart/Web.pm:2190
BioMart::Web::handle_request /home/dstaines/perl/biomart-perl/cgi-bin/martview:97
(eval) /home/dstaines/perl/biomart-perl/cgi-bin/martview:96
ModPerl::ROOT::ModPerl::Registry::home_dstaines_perl_biomart_2dperl_cgi_2dbin_martview::handler /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/ModPerl/RegistryCooker.pm:204 (eval) /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/ModPerl/RegistryCooker.pm:204 ModPerl::RegistryCooker::run /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/ModPerl/RegistryCooker.pm:170 ModPerl::RegistryCooker::default_handler /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/ModPerl/Registry.pm:31
ModPerl::Registry::handler -e:0
(eval) -e:0

The option is defined in the XML file for the dataset (as checked in meta_conf__xml__dm.xml) as shown in the excerpt below:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DatasetConfig>
<DatasetConfig dataset="dmelanogaster_eg_gene" datasetID="12" defaultDataset="true" description="Ensembl Genes" displayName="Drosophila melanogaster genes (BDGP 5.13)" en\ tryLabel="Genes" interfaces="default" internalName="default" martUsers="default" modified="2009-09-18 09:41:53" softwareVersion="0.6" template="gene" type="TableSet" vers\
ion="BDGP 5.13" visible="1">
  <MainTable>dmelanogaster_eg_gene__gene__main</MainTable>
  <MainTable>dmelanogaster_eg_gene__transcript__main</MainTable>
  <MainTable>dmelanogaster_eg_gene__translation__main</MainTable>
  <Key>gene_id_1020_key</Key>
  <Key>transcript_id_1064_key</Key>
  <Key>translation_id_1068_key</Key>
...
<FilterCollection displayName="ID list limit" internalName="id_list_limit"> <FilterDescription displayName="Entries with following IDs" displayType="container" internalName="id_list_limit_filters" type="id_list">
...
<Option checkForNulls="true" displayName="EntrezGene ID(s)" displayType="text" field="dbprimary_acc_1074" internalName="entrezgene" isSelectable="true" key="translation_id_1068_key" legal_qualifiers="=,in" multipleValues="1" qualifier="=" tableConstraint="ox_EntrezGene__dm" type="text"/>
...

The corresponding table exists in the mart and has the correct key
mysql-eg-staging-1:metazoa_mart_3> desc dmelanogaster_eg_gene__ox_EntrezGene__dm;
+-------------------------+----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------+----------------------+------+-----+---------+-------+
| description_1074 | text | YES | | NULL | | | display_label_1074 | varchar(128) | YES | | NULL | | | description_1018 | text | YES | | NULL | | | translation_id_1068_key | int(10) unsigned | YES | MUL | 0 | | | analysis_id_1040 | smallint(5) unsigned | YES | | NULL | | | db_display_name_1018 | varchar(255) | YES | MUL | NULL | | | dbprimary_acc_1074 | varchar(40) | YES | MUL | NULL | | | db_name_1018 | varchar(100) | YES | | NULL | |
+-------------------------+----------------------+------+-----+---------+-------+
8 rows in set (0.00 sec)

I'm a bit puzzled - it looks like martview is not getting the table name right but I don't know why. Does anyone have any suggestions as to what I've done wrong?

Cheers,

Dan.


--
Dan Staines, PhD               Ensembl Genomes Technical Coordinator
EMBL-EBI                       Tel: +44-(0)1223-492507
Wellcome Trust Genome Campus   Fax: +44-(0)1223-494468
Cambridge CB10 1SD, UK         http://www.ensemblgenomes.org/

Reply via email to