[Bioperl-guts-l] [15632] bioperl-live/trunk/Bio/DB: fix for broken types() method

Lincoln Stein lstein at dev.open-bio.org
Thu Apr 9 13:13:06 EDT 2009


Revision: 15632
Author:   lstein
Date:     2009-04-09 13:13:05 -0400 (Thu, 09 Apr 2009)

Log Message:
-----------
fix for broken types() method

Modified Paths:
--------------
    bioperl-live/trunk/Bio/DB/GFF/Adaptor/memory.pm
    bioperl-live/trunk/Bio/DB/GFF/RelSegment.pm
    bioperl-live/trunk/Bio/DB/SeqFeature/Store/GFF3Loader.pm
    bioperl-live/trunk/Bio/DB/SeqFeature/Store/LoadHelper.pm
    bioperl-live/trunk/Bio/DB/SeqFeature/Store/Loader.pm

Modified: bioperl-live/trunk/Bio/DB/GFF/Adaptor/memory.pm
===================================================================
--- bioperl-live/trunk/Bio/DB/GFF/Adaptor/memory.pm	2009-04-09 04:45:21 UTC (rev 15631)
+++ bioperl-live/trunk/Bio/DB/GFF/Adaptor/memory.pm	2009-04-09 17:13:05 UTC (rev 15632)
@@ -549,7 +549,7 @@
 sub get_types {
   my $self = shift;
   my ($srcseq,$class,$start,$stop,$want_count,$typelist) = @_;
-	  
+
   my(%result,%obj);
 
   for my $feature (@{$self->{data}}) {

Modified: bioperl-live/trunk/Bio/DB/GFF/RelSegment.pm
===================================================================
--- bioperl-live/trunk/Bio/DB/GFF/RelSegment.pm	2009-04-09 04:45:21 UTC (rev 15631)
+++ bioperl-live/trunk/Bio/DB/GFF/RelSegment.pm	2009-04-09 17:13:05 UTC (rev 15632)
@@ -912,7 +912,6 @@
     @args = @_;
   }
   $self->factory->types(-ref  => $ref,
-			-class => $class,
 			-start=> $start,
 			-stop => $stop,
 			@args);

Modified: bioperl-live/trunk/Bio/DB/SeqFeature/Store/GFF3Loader.pm
===================================================================
--- bioperl-live/trunk/Bio/DB/SeqFeature/Store/GFF3Loader.pm	2009-04-09 04:45:21 UTC (rev 15631)
+++ bioperl-live/trunk/Bio/DB/SeqFeature/Store/GFF3Loader.pm	2009-04-09 17:13:05 UTC (rev 15632)
@@ -325,7 +325,8 @@
     $self->msg(sprintf "%5.2fs\n",$self->time()-$start);
   }
   eval {$self->store->commit};
-  delete $self->{load_data};
+  # don't delete load data so that caller can ask for the loaded IDs
+  # $self->delete_load_data;
 }
 
 =item do_load
@@ -948,7 +949,37 @@
     return $self->{load_data}{Helper}->local2global(@_);
 }
 
+=item local_ids
 
+ my $ids    = $self->local_ids;
+ my $id_cnt = @$ids;
+
+After performing a load, this returns an array ref containing all the
+load file IDs that were contained within the file just loaded.
+
+=cut
+
+sub local_ids { # override
+    my $self = shift;
+    return $self->{load_data}{Helper}->local_ids(@_);
+}
+
+=item loaded_ids
+
+ my $ids    = $loader->loaded_ids;
+ my $id_cnt = @$ids;
+
+After performing a load, this returns an array ref containing all the
+feature primary ids that were created during the load.
+
+=cut
+
+sub loaded_ids { # override
+    my $self = shift;
+    return $self->{load_data}{Helper}->loaded_ids(@_);
+}
+
+
 1;
 __END__
 

Modified: bioperl-live/trunk/Bio/DB/SeqFeature/Store/LoadHelper.pm
===================================================================
--- bioperl-live/trunk/Bio/DB/SeqFeature/Store/LoadHelper.pm	2009-04-09 04:45:21 UTC (rev 15631)
+++ bioperl-live/trunk/Bio/DB/SeqFeature/Store/LoadHelper.pm	2009-04-09 17:13:05 UTC (rev 15632)
@@ -173,4 +173,18 @@
     return ($parent,\@children);
 }
 
+sub local_ids {
+    my $self = shift;
+    my @ids  = keys %{$self->{Local2Global}}
+                   if $self->{Local2Global};
+    return \@ids;
+}
+
+sub loaded_ids {
+    my $self = shift;
+    my @ids  = values %{$self->{Local2Global}}
+                     if $self->{Local2Global};
+    return \@ids;
+}
+
 1;

Modified: bioperl-live/trunk/Bio/DB/SeqFeature/Store/Loader.pm
===================================================================
--- bioperl-live/trunk/Bio/DB/SeqFeature/Store/Loader.pm	2009-04-09 04:45:21 UTC (rev 15631)
+++ bioperl-live/trunk/Bio/DB/SeqFeature/Store/Loader.pm	2009-04-09 17:13:05 UTC (rev 15632)
@@ -367,7 +367,9 @@
   }
   eval {$self->store->commit};
   $self->msg(sprintf "%5.2fs\n",$self->time()-$self->{load_data}{start_time});
-  $self->delete_load_data;
+
+  # don't delete load data so that caller can ask for the loaded IDs
+  # $self->delete_load_data;
 }
 
 =item do_load
@@ -471,7 +473,6 @@
 
 =cut
 
-
 sub store_current_feature {
   my $self    = shift;
 
@@ -611,6 +612,40 @@
   print STDERR @msg;
 }
 
+=item loaded_ids
+
+ my $ids    = $loader->loaded_ids;
+ my $id_cnt = @$ids;
+
+After performing a load, this returns an array ref containing all the
+feature primary ids that were created during the load.
+
+=cut
+
+sub loaded_ids {
+    my $self = shift;
+    my @ids  = values %{$self->{load_data}{Local2GlobalID}}
+                     if $self->{load_data};
+    return \@ids;
+}
+
+=item local_ids
+
+ my $ids    = $self->local_ids;
+ my $id_cnt = @$ids;
+
+After performing a load, this returns an array ref containing all the
+load file IDs that were contained within the file just loaded.
+
+=cut
+
+sub local_ids {
+    my $self = shift;
+    my @ids  = keys %{$self->{load_data}{Local2GlobalID}}
+                   if $self->{load_data};
+    return \@ids;
+}
+
 =item time
 
  my $time = $loader->time




More information about the Bioperl-guts-l mailing list