Hi genomax,
If I run same command like you on server it is showing the same error as above:
$ for i in `cat id.txt` ; do efetch -db nuccore -format gbc -id ${i} |xtract -pattern INSDSeq -element INSDSeq_accession-version INSDSeq_taxonomy INSDSeq_organism; done
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=AAAK03000116.1&rettype=gbc&retmode=xml&edirect_os=linux&edirect=11.7&tool=edirect&email=3052771@login4.pri.kelvin2.alces.network'
Result of do_post http request is
$VAR1 = bless( {
'_request' => bless( {
'_headers' => bless( {
'content-type' => 'application/x-www-form-urlencoded',
'user-agent' => 'libwww-perl/6.39'
}, 'HTTP::Headers' ),
'_method' => 'POST',
'_content' => 'db=nuccore&id=AAAK03000116.1&rettype=gbc&retmode=xml&edirect_os=linux&edirect=11.7&tool=edirect&email=3052771@login4.pri.kelvin2.alces.network',
'_uri' => bless( do{\(my $o = 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi')}, 'URI::https' )
}, 'HTTP::Request' ),
'_rc' => 501,
'_msg' => 'Protocol scheme \'https\' is not supported (LWP::Protocol::https not installed)',
'_headers' => bless( {
'::std_case' => {
'client-warning' => 'Client-Warning',
'client-date' => 'Client-Date'
},
'content-type' => 'text/plain',
'client-date' => 'Tue, 23 Jul 2019 08:52:30 GMT',
'client-warning' => 'Internal response'
}, 'HTTP::Headers' ),
'_content' => 'LWP will support https URLs if the LWP::Protocol::https module
is installed.
'
}, 'HTTP::Response' );
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=AAAL02000001.1&rettype=gbc&retmode=xml&edirect_os=linux&edirect=11.7&tool=edirect&email=3052771@login4.pri.kelvin2.alces.network'
Result of do_post http request is
and If RUN IT as bash script like below then I am getting some other error: I am not sure whether is there a need put slash after api_key in for loop?
bash taxonomy.sh
runtime: failed to create new OS thread (have 4 already; errno=11)
runtime: may need to increase max user processes (ulimit -u)
fatal error: newosproc
/opt/apps/e-utilities/edirect/efetch: fork: retry: No child processes
taxonomy.sh: fork: retry: Resource temporarily unavailable
runtime stack:
runtime.throw(0x5cc863, 0x9)
/usr/local/go/src/runtime/panic.go:608 +0x72
runtime.newosproc(0xc000010a80)
/usr/local/go/src/runtime/os_linux.go:166 +0x1c0
here is the bash script:
#!/bin/bash
API_KEY="redacted"
for i in `cat id.txt` ; do efetch -db nuccore -format gbc -id ${i} |xtract -pattern INSDSeq -element INSDSeq_accession-version INSDSeq_taxonomy INSDSeq_organism&api_key=${API_KEY} >>arsm.taxonomy.txt
done
thanks a lot for your time and help.
error is
answer is:
https://stackoverflow.com/questions/21123620
Have you signed up for
NCBI_API_KEYand are using it? If you are using a long list of queries NCBI may be limiting number of your queries.thanks, I put API_key, at the end of the command: but still showing same error:
I am working on HPC, What module should I load to resolve this issue?
Thanks bioinfonext
That is the wrong position to put the API key. I suggest that you export it as a variable in your shell session (or permanently in your .bashrc or .profile). Do
export NCBI_API_KEY=your_keyand then run the command only containing output file nameup to > arsm.taxonomy.I assume the error about
httpsis not critical since you have usedncbi eutilson this machine successfully before?thanks, let me try to run this as a bash script.
bioinfonext
Hi,
I am trying to run above command with this scrip but it is not running: could you please advise if there is any error in the script:
I see you guys tracking the API key, but from my own experience I can share that the LWP issue is critical, see Pierre's first comment. On your HPC, you might need to load some additional Perl module containing LWP
Presumably
eutilshas worked on this cluster based on past questions posted by this poster. We are going with that premise.fair enough, taking the full user profile into account is first class service - kudos!
The user should first do a fresh reinstall of EDirect, most importantly running the "./edirect/setup.sh" command at the end of the installation instructions, in order to get all of the Perl modules properly loaded.
Then he should execute the following commands:
This method makes the most efficient use of the server. The only potential issue is that the result will not be sorted in the original order:
and the -sort argument is not supported by the underlying epost.fcgi server. If he really needs it in the original order, then using a for loop is necessary, though time-consuming and inefficient.
Unfortunately this user is using a cluster and is not able to do anything with installed software.
Thanks, as I was getting error on HPC server so I installed EDirect on iMac from this link: E-Direct: https://www.ncbi.nlm.nih.gov/books/NBK179288/
and I tried below command to extract taxonomy and got some error:
But I will try with API_KEY bash script as you shared if it can work.
Thanks
I did used this script but it is showing some error:
script:
Did you follow the install instructions fully? Especially this part
./edirect/setup.sh.Can you use my script below and see what it produces?