Your solution worked. Thanks so much!
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' );
3 answers
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
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 -c bioconda if bioconda is not in your channels already
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!
Log in to answer this question.
I am unable to replicate the error, are you sure that the edirect eutils are installed properly?
Probably conflict of Perl versions. What is the result of
and
I've installed all the conda packages in your list. It still pop out the error msg. any ideas?