Question: NCBI C++ Exception Windows refseq_protein db
0
gravatar for clfiore
2.1 years ago by
clfiore0
clfiore0 wrote:

Hello,

I have seen two other posts on this but as far as I can tell neither apply..my apologies if I am incorrect.

I have used blast on mac before and am generally familiar with it but I need to run this on a windows machine and really struggling to get this to work. I installed: ncbi-blast-2.6.0+-win64.exe Which I am pretty sure is the only option for windows: ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ I installed following this tutorial but got the ncbi.ini file elsewhere: https://www.blaststation.com/intl/members/en/howtoblastwin.html

I need the refseq_protein database, but because this does not have perl, I downloaded each preformatted refseq_protein file by hand and unpacked them by hand so they are all in one directory. One issue that did arise when I did this was that there are multiple "refseq_protein.pal" files, the manual does not say what to do in this case so I had it "auto rename". (What is the appropriate thing to do here?)

I can run "blastx -help" just fine. But when I run the blastx command as (in the directory with the refseq files: blastx -query file.fasta -db refseq_protein -max_target_seqs 1 -outfmt 5 -out file.xml

I get the following exception (apparently I cannot copy from the windows command so I have to type everything...hopefully no typos): Error: NCBI C++ Exception T0 "..........\src\corelib\ncbi.obj.cpp", line 977: Critical: ncbi::CObject::ThrowNullPointerException() - Attempt to access NULL pointer. Stack trace: KERNEL32[C:\WINDOWS\System32\KERNEL32.DLL]:0 BasteThreadInitThunk offset=0x14 addr=0x00007FFA5A078364

Because the help command works, I am guessing that it is something with the database rather than the blastx command...? Any help is appreciated, thank you for your time

blast refseq_protein windows • 992 views
ADD COMMENTlink written 2.1 years ago by clfiore0
1

You can download ActivePerl for windows. You should check the md5sum of the downloaded RefSeq files.

ADD REPLYlink written 2.1 years ago by h.mon25k

I don't think this has anything to do with perl. As far as I know, blast+ is written entirely in C++ and doesn't rely on perl.

ADD REPLYlink written 2.1 years ago by Jean-Karim Heriche19k

I believe the perl suggestion refers to update_blastdb.pl

I did this but not sure what to do with the .md5 files that this downloaded, do you know?

ADD REPLYlink written 2.1 years ago by clfiore0
1

The md5 files contain the checksum values for the corresponding data files. You use them to validate the integrity of the data files after download. On Linux, you run md5sum file_to_check and compare the output value to the one in the corresponding .md5 file.

ADD REPLYlink written 2.1 years ago by Jean-Karim Heriche19k

Thank you for the link, this is really helpful, I knew there was perl for windows but I did not know there was an easy option like this. If I may, I have two follow-up questions..? I downloaded the files and I am trying to unpack them without doing it by hand like I did before, since maybe that created a problem. Windows does not have "tar" but I downloaded it from here:http://gnuwin32.sourceforge.net/packages/gtar.htm and installed it, it is a package so it installed pretty easily. However, I still get the error message that it does not recognize tar. Do you know if there is something special I need to do to get it to work (I closed the Command Prompt window and started a new one but that didn't help)? Also, I think this is all I need to do to make the database with the refseq files, correct (no other formatting, compiling, cat, etc)? (If I remember correctly from doing this on mac)

ADD REPLYlink written 2.1 years ago by clfiore0

Sorry, it has been a long time since I've used windows, so I really can't help much.

You probably need gzip in addition to tar to unpack at the command-line, and probably have to add both to the PATH environment variable. I don't think unpacking with a GUI would cause problems, though.

ADD REPLYlink written 2.1 years ago by h.mon25k

Thanks for all of your help. For others who read this post, I got it all resolved by: With ActivePerl I downloaded all of the refseq_protein files using the update_blastdb.pl script in the blast package, then I found Cygwin (https://cygwin.com/install.html) which let me use tar to extract the files (tar -xzvf FILENAME). I had to unpack each separately, apparently there is an issue with Cygwin and wildcards (so I could not use refseq_protein.*.gz for example) but it worked! Now the blastx command is running.

ADD REPLYlink written 2.1 years ago by clfiore0

Glad you solved your issue easily, and were able to avoid the hassle of using linux. ;-)

ADD REPLYlink written 2.1 years ago by h.mon25k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 615 users visited in the last hour