[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