blobtoolkit / pipeline

[Archived] SnakeMake pipeline to run BlobTools on public assemblies

Home Page:https://blobtoolkit.genomehubs.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error: NCBI C++ Exception in blastn step

Glenn032787 opened this issue · comments

Hey! I am trying to use your pipeline but it keeps resulting in the following error for the "run_blastn" step. The following is the log file

Error: NCBI C++ Exception:
    T0 "/opt/conda/conda-bld/blast_1615544030046/work/blast/c++/src/serial/objistrasnb.cpp", line 499: Error: (CSerialException::eOverflow) byte 69: overflow error ( at [].[].gi)
    T0 "/opt/conda/conda-bld/blast_1615544030046/work/blast/c++/src/serial/member.cpp", line 768: Error: (CSerialException::eOverflow) ncbi::CMemberInfoFunctions::ReadWithSetFlagMember() - error while reading seqid ( at Blast-def-line-set.[].[].seqid.[].[].gi)

Restarting blastn without taxid filter
Error: NCBI C++ Exception:
    T0 "/opt/conda/conda-bld/blast_1615544030046/work/blast/c++/src/serial/objistrasnb.cpp", line 499: Error: (CSerialException::eOverflow) byte 69: overflow error ( at [].[].gi)
    T0 "/opt/conda/conda-bld/blast_1615544030046/work/blast/c++/src/serial/member.cpp", line 768: Error: (CSerialException::eOverflow) ncbi::CMemberInfoFunctions::ReadWithSetFlagMember() - error while reading seqid ( at Blast-def-line-set.[].[].seqid.[].[].gi)

I downloaded the nt dataset using the script posted on this github repository. I read that this error could be due to blast version number. I tried both blast v2.12.0 and blast v2.11.0 which still caused this error. Do you have any suggestions?

Thank you!

Hi there. That looks like an NCBI blast installation/runtime error as that is written in C++ and none of our code is in C++. Can you try this inside the btk conda environment?

conda update --all --yes

If that still doesn't work, then the other option would be to install blobtoolkit using our new streamlined installer:

pip install blobtoolkit

either inside a new pip virtualenv or inside a new conda environment. You don't have to put it inside a virtualenv or a conda env but it helps to keep things separate (if something goes wrong you can delete the env completely and start again)

eg:

conda create -n btk pip
conda activate btk
pip install blobtoolkit

Also worth noting that this error references seqid parsing so blast may have a problem with the input sequence headers, e.g. if they contain pipes then NCBI blast will attempt to parse them as NCBI-format sequence headers

Thank you! "conda update --all --yes" fixed the issue!