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/