[Bioperl-l] Problem with : EUtilities - Proxy

Anthony Ferrari ferraria at gmail.com
Wed Dec 20 06:04:16 EST 2006


On 19/12/06, Chris Fields <cjfields at uiuc.edu> wrote:
>
>
> On Dec 19, 2006, at 10:40 AM, Anthony Ferrari wrote:
>
> > Hi all,
> >
> > I've just installed BioPerl 1.5.2 (devel) on a linux mandrake
> > machine with
> > the cpan shell.
> > I want to use the Bio::DB::EUtilities to retrieve data (id's) from
> > NCBI
> > 'gene' database (first step of my pipeline).
> >
> > But the installation of this package doesn't seem to be correct :
> > The simple example given on the documentation doesn't work. (this
> > one :
> > http://doc.bioperl.org/bioperl-live/Bio/DB/EUtilities.html#SYNOPSIS)
> >
> > Here is the error message I got :
> > "Can't use an undefined value as an ARRAY reference at
> > /usr/lib/perl5/site_perl/5.8.7/LWP/UserAgent.pm line 779."
> >
> > In the UserAgent package, line 779 is in the private "_need_proxy"
> > subroutine and corresponds to the code :    ...if (@{ $self->
> > {'no_proxy'} })
> > ...
> >
> > If I comment this line in the UserAgent package and the
> > corresponding "}",
> > the example works. But obviously, I prefer to solve the problem in
> > a regular
> > way :)
> >
> > Indeed, my computer accesses the internet via a http proxy and I
> > didn't tell
> > this to BioPerl at any moment.
> > As I read on the BioPerl Wiki site, I tried to configure an
> > $http_proxy
> > environment variable but it still doesn't work.
> >
> > One last maybe important information is that I saw during the
> > installation
> > that the tests 't/EUtilities' were skipped because of an unrevealed
> > reason.
> >
> >
> > So finally I got two questions :
> > 1. Is there somebody who can figure out what is my problem ?
> > 2. At the moment, is the Bio::DB::EUtilities package really
> > efficient or
> > using directly the NCBI eutilities with the LWP::Simple package
> > could be an
> > good alternative ?
> >
> > Many thanks in advance,
> > Best Regards,
> > Anthony Ferrari
>
> First things first: at the moment the BioPerl EUtilities interface is
> very experimental (as specifically outlined in the POD), so I can't
> really recommend it for production use until the API is cleaned up.
> However, I do appreciate any feedback or comments re:EUtilities (the
> reason it's out there in the 1.5.2 release).
>
> You might check out this bug report, which relates directly to your
> issue:
>
> http://bugzilla.open-bio.org/show_bug.cgi?id=2109
>
> After I worked out the proxy issue Torsten got it working.  Let me
> know if this doesn't help or fix the problem.
>
> chris
>


I carefully read this bug but that doesn't help because this has already
been modified in the now given GenericWebDBI.pm
So my problem does not come from a deep recursion loop.

As Torsten did, I tried the command  " BIOPERLDEBUG=1 perl -I. -w
t/EUtilities.t " to see what's really happening.
And actually, all tests are skipped because of the same message error
-> "Can't use an undefined value as an ARRAY reference at
/usr/lib/perl5/site_perl/5.8.7/LWP/UserAgent.pm line 779."

***
I tried the same command with the modified LWP::UserAgent package (which
means I comment the line 779 and the corresponding '}') and all 453 tests
passed.
But not always. I made the tests several times and  it often failed. And
always on a test called "eXXX->cookie->cookie() query key" (ending with
query key). In those cases, I got back a html message indicating that the
error was thrown by the internal sever of NCBI. So I guess that sometimes it
is just NCBI server fault (internal problem), and BioPerl is not implied..
But once more, I comment a line from a basic package so it is a bit
hazardous.
***

tony - a little bit lost.


More information about the Bioperl-l mailing list