[Bioperl-l] Problem with EUtilities
Warren Gallin
wgallin at ualberta.ca
Mon Oct 22 17:53:24 UTC 2007
I've encountered a problem with retrieving a set of records using
efetch.
Code snippet:
my $gpeptfactory = Bio::DB::EUtilities->new(
-eutil => 'efetch',
-db => 'protein',
-rettype => 'genbank',
-id => \@ginumber_search
);
$file = 'temp_hold.gb';
$gpeptfactory->get_Response( -file => $file );
If the array of gi numbers that I submit is large (482 elements does
not give the problem but 1517 does) I am getting an error at the
get_response step:
------------- EXCEPTION: Bio::Root::Exception -------------
MSG: Response Error
Request-URI Too Large
STACK: Error::throw
STACK: Bio::Root::Root::throw /Library/Perl/5.8.1/Bio/Root/Root.pm:357
STACK: Bio::DB::GenericWebAgent::get_Response /Library/Perl/5.8.1/Bio/
DB/GenericWebAgent.pm:184
STACK: Stable_gb_update.pl:144
-----------------------------------------------------------
Am I correct in thinking that the individual array elements are being
submitted as part of the URI, and therefore a large array is
exceeding the acceptable size limit for a URI?
If so, is there a workaround? Breaking the large request into a set
of smaller requests?
Or is there a way of submitting a file of gi numbers using
EUtilities, rather than an array?
Warren Gallin
More information about the Bioperl-l
mailing list