[ensembl-dev] error with ExonAdaptor fetch_all

Andrea Edwards edwardsa at cs.man.ac.uk
Sat Oct 30 00:07:50 BST 2010


Hi

I was trying to fetch all of the exons from my local installation of the 
ensembl cow database.

I had this simple code

===================
use Bio::EnsEMBL::Registry;
use Bio::EnsEMBL::Transcript;
use Bio::EnsEMBL::Variation::Utils::Sequence qw(unambiguity_code);
use Bio::EnsEMBL::DBSQL::DBAdaptor;
use Bio::EnsEMBL::Variation::DBSQL::DBAdaptor;

my $registry = 'Bio::EnsEMBL::Registry';
$registry_file= "....";
$registry->load_all($registry_file);

my $exon_adaptor = $registry->get_adaptor( 'bos_taurus', 'Core', 'Exon' );
my $exons = $exon_adaptor->fetch_all();



$i = 0;
foreach $exon(@{$exons}) {
     $i++;
     print $exon->display_id, "\n";

}

print "done";

==================================

and got this error

===================================

MSG: Detected an error whilst executing SQL 'SELECT  e.exon_id, 
e.seq_region_id, e.seq_region_start, e.seq_region_end, 
e.seq_region_strand, e.phase, e.end_phase, e.is_current, 
e.is_constitutive, esi.stable_id, esi.version, 
UNIX_TIMESTAMP(created_date), UNIX_TIMESTAMP(modified_date)
FROM ( (exon e)
   LEFT JOIN exon_stable_id esi ON esi.exon_id = e.exon_id )
  WHERE e.biotype != "LRG_gene" and e.is_current = 1
': DBD::mysql::st execute failed: Unknown column 'e.biotype' in 'where 
clause' at 
C:\Perl\site\lib\ensembl-api\ensembl\modules/Bio/EnsEMBL/DBSQL/BaseAdaptor.pm 
line 521.

STACK Bio::EnsEMBL::DBSQL::BaseAdaptor::generic_fetch 
C:\Perl\site\lib\ensembl-api\ensembl\modules/Bio/EnsEMBL/DBSQL/BaseAdaptor.pm:522
STACK Bio::EnsEMBL::DBSQL::ExonAdaptor::fetch_all 
C:\Perl\site\lib\ensembl-api\ensembl\modules/Bio/EnsEMBL/DBSQL/ExonAdaptor.pm:126
STACK toplevel C:/Documents and 
Settings/Administrator/Desktop/PHD/java/Code/SNP/get_exons.pl:15
---------------------------------------------------

===========================================
The exon table doesn't have a field biotype??

This is the code for the fetch_all method from the PerlAPI docs

=========================================

sub fetch_all {

   my  ($self)  =@_;

   my  $constraint  ='e.biotype != "LRG_gene" and e.is_current = 1';
   my  @exons   = @{  $self->generic_fetch($constraint)  };

   return\@ exons ;

}

===============================================

Many thanks in advance for your help




More information about the Dev mailing list