On 18/09/09 6:40 AM, "Dan Staines" <[email protected]> wrote:
> 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/RegistryCooke
> r.pm:204
> (eval)
> /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/ModPerl/RegistryCooke
> r.pm:204
> ModPerl::RegistryCooker::run
> /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/ModPerl/RegistryCooke
> r.pm:170
> ModPerl::RegistryCooker::default_handler
>
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/ModPerl/Registry.pm:3>
1
> 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?
>
Hi Dan,
This is not the same table. You have different table in XML and a different
one in mart.
The XML says:
tableConstraint="ox_EntrezGene__dm" type="text"/>
The error message says it is looking for this table:
> ERROR: caught BioMart::Exception::Database: Error during query
> execution: Table 'metazoa_mart_3.ox_EntrezGene__dm' doesn't exist
but the table in your mart is called:
dmelanogaster_eg_gene__ox_EntrezGene__dm;
Or am missing something?
A.
> 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/