efetch error LWP::Protocol::https not installed
3
1
Entering edit mode
6.6 years ago
traviata ▴ 20

I'm trying to use fetch to download a sequence. However, I keep on getting 501 Protocol scheme 'https' is not supported (LWP::Protocol::https not installed) even though I have ran sudo cpan install LWP::Protocol::https

The terminal output is as follows:

$ efetch -db nuccore -id AF086833 -format fasta
501 Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)
No do_post output returned from 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=AF086833&rettype=fasta&retmode=text&edirect=7.00&tool=edirect&email=kjsdhjasv@MacBook-Air.local'
Result of do_post http request is
$VAR1 = bless( {
                 '_rc' => 501,
                 '_content' => 'LWP will support https URLs if the LWP::Protocol::https module
is installed.
',
                 '_msg' => 'Protocol scheme \'https\' is not supported (LWP::Protocol::https not installed)',
                 '_request' => bless( {
                                        '_method' => 'POST',
                                        '_content' => 'db=nuccore&id=AF086833&rettype=fasta&retmode=text&edirect=7.00&tool=edirect&email=kjsdhjasv@MacBook-Air.local',
                                        '_uri' => bless( do{\(my $o = 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi')}, 'URI::https' ),
                                        '_headers' => bless( {
                                                               'content-type' => 'application/x-www-form-urlencoded',
                                                               'user-agent' => 'libwww-perl/6.26'
                                                             }, 'HTTP::Headers' )
                                      }, 'HTTP::Request' ),
                 '_headers' => bless( {
                                        'client-warning' => 'Internal response',
                                        'content-type' => 'text/plain',
                                        '::std_case' => {
                                                          'client-warning' => 'Client-Warning',
                                                          'client-date' => 'Client-Date'
                                                        },
                                        'client-date' => 'Mon, 02 Oct 2017 15:56:40 GMT'
                                      }, 'HTTP::Headers' )
               }, 'HTTP::Response' );
efetch • 7.8k views
ADD COMMENT
0
Entering edit mode

I am unable to replicate the error, are you sure that the edirect eutils are installed properly?

ADD REPLY
0
Entering edit mode

Probably conflict of Perl versions. What is the result of

which perl

and

head -n1 $(which efetch)
ADD REPLY
0
Entering edit mode

I've installed all the conda packages in your list. It still pop out the error msg. any ideas?

ADD REPLY
8
Entering edit mode
6.6 years ago
tarek.mohamed ▴ 360

Hi,

How did you install Entrez direct tool?

This is due to a mistake in the installation of Entrez direct tool. Try this code to install it!

mkdir -p ~/src 
curl https://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/edirect.zip > ~/src/edirect.zip 
unzip -o ~/src/edirect.zip  -d ~/src 
echo 'export PATH=~/src/edirect:$PATH' >> ~/.bashrc 
source  ~/.bashrc

Tarek

ADD COMMENT
0
Entering edit mode

Your solution worked. Thanks so much!

ADD REPLY
3
Entering edit mode
5.2 years ago
Liam Thompson ▴ 140

For those who have installed entrez-direct using Conda virtual environment, and are encountering the error above, you can install the libraries in the following way into the already activated virtual environment.

conda install perl-io-socket-ssl perl-net-ssleay perl-lwp-protocol-https entrez-direct
ADD COMMENT
0
Entering edit mode

add -c bioconda if bioconda is not in your channels already

ADD REPLY
2
Entering edit mode
5.6 years ago
Jinguo ▴ 20

I met the same problem when I use efetch, but the given solutions didn't work out.

I tried

cpanm Crypt::SSLeay IO::Socket::SSL::Utils LWP::Protocol::https

and it worked!

ADD COMMENT

Login before adding your answer.

Traffic: 1516 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6