From 351f862acb58105bbc3027123100ab201b7e2378 Mon Sep 17 00:00:00 2001 From: Arne Stabenau <stabenau@sanger.ac.uk> Date: Tue, 19 Nov 2002 11:52:43 +0000 Subject: [PATCH] all genes were known bug fixed --- modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm | 8 +++++-- modules/Bio/EnsEMBL/Gene.pm | 17 +++++++++------ modules/t/gene.t | 24 +++++++++++++++------ 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm b/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm index aa35ed4cfe..79104cd74d 100644 --- a/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm +++ b/modules/Bio/EnsEMBL/DBSQL/DBEntryAdaptor.pm @@ -442,7 +442,7 @@ sub _fetch_by_object_type { my $sth = $self->prepare(" SELECT xref.xref_id, xref.dbprimary_acc, xref.display_label, xref.version, xref.description, - exDB.db_name, exDB.release, + exDB.db_name, exDB.release, exDB.status, oxr.object_xref_id, es.synonym, idt.query_identity, idt.target_identity @@ -462,7 +462,7 @@ sub _fetch_by_object_type { while ( my $arrRef = $sth->fetchrow_arrayref() ) { my ( $refID, $dbprimaryId, $displayid, $version, - $desc, $dbname, $release, $objid, + $desc, $dbname, $release, $exDB_status, $objid, $synonym, $queryid, $targetid ) = @$arrRef; my $exDB; @@ -502,6 +502,10 @@ sub _fetch_by_object_type { $exDB->description( $desc ); } + if( $exDB_status ) { + $exDB->status( $exDB_status ); + } + push( @out, $exDB ); } # if (!$seen{$refID}) diff --git a/modules/Bio/EnsEMBL/Gene.pm b/modules/Bio/EnsEMBL/Gene.pm index 4189d8ba69..b8076380ca 100755 --- a/modules/Bio/EnsEMBL/Gene.pm +++ b/modules/Bio/EnsEMBL/Gene.pm @@ -288,15 +288,18 @@ sub source { sub is_known{ my ($self) = @_; - my @array; - @array = $self->get_all_DBLinks(); - if( scalar(@array) > 0 ) { - return 1; + + for my $entry ( @{$self->get_all_DBLinks()} ) { + if( $entry->status eq "KNOWN" ) { + return 1; + } } + foreach my $trans ( @{$self->get_all_Transcripts} ) { - @array = $trans->get_all_DBLinks(); - if( scalar(@array) > 0 ) { - return 1; + for my $entry ( @{$trans->get_all_DBLinks()} ) { + if( $entry->status eq "KNOWN" ) { + return 1; + } } } diff --git a/modules/t/gene.t b/modules/t/gene.t index fab85816d7..c1beace343 100644 --- a/modules/t/gene.t +++ b/modules/t/gene.t @@ -4,10 +4,12 @@ use warnings; BEGIN { $| = 1; use Test; - plan tests => 22; + plan tests => 23; } use MultiTestDB; +use TestUtils qw ( debug ); + use Bio::EnsEMBL::Gene; # switch on the debug prints @@ -189,7 +191,7 @@ foreach my $trans( @{$gene_out->get_all_Transcripts()} ){ my $pep = $trans->translate(); debug( "Peptide: ".$pep->seq() ); - if($pep->seq !~ /\*\./){ + if($pep->seq !~ /\*./){ $translate = 1; } else { $translate = 0; @@ -211,17 +213,25 @@ debug( "Pep phase 1: $pep2" ); ok( $pep1 ne $pep2 ); - $multi->restore(); +$slice = $db->get_SliceAdaptor()->fetch_by_chr_start_end("20", 30_252_000, 31_252_001 ); + +my ( $known, $unknown ); -sub debug { - my $txt = shift; - if( $verbose ) { - print STDERR $txt,"\n"; +my $genes = $slice->get_all_Genes(); +for my $gene ( @$genes ) { + if( $gene->is_known() ) { + $known++; + } else { + $unknown++; } } +debug( "known: $known Unknown: $unknown\n" ); + +ok( $known==17 ); + -- GitLab