This directory contains the implementation of the core of the BLAST algorithm (also known as the BLAST engine). In the future, NCBI may provide a simple C API to access this implementation, in the meantime, working with these sources directly is possible, but not recommended unless one is very familiar with them. NOTE: By following this approach some features supported by the NCBI C++ toolkit such as BLAST database access, BLAST formatting, embedded logging, MT locking, and configuration support will be absent or only partially supported. Getting the source code ----------------------- Download the source distribution of BLAST+: ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/ncbi-blast-VERSION+-src.tar.gz Build instructions ------------------ Unpack the source archive in its installation directory and change working directory to ncbi-blast-VERSION+-src/c++. UNIX: To build these source files into a library without the rest of the NCBI BLAST+ applications/libraries, one should use the following commands: ./configure --with-projects=scripts/projects/blast_core_lib.lst \ --without-debug --with-mt --with-build-root=ReleaseMT cd ReleaseMT/build make all_p This will configure and build an optimized library called blast, which can then be referenced in makefiles as follows: NCBI_HOME= -I$NCBI_HOME/c++/ReleaseMT/inc -I$NCBI_HOME/c++/include -L $NCBI_HOME/c++/ReleaseMT/lib Windows: 1) Open the ncbi_cpp.sln project/solution file c++/compilers/msvc800_prj/static/build/ncbi_cpp.sln. 2) Right click on the -CONFIGURE-DIALOG- project on the Solution Explorer and select "Build" from the context menu, which will bring up a window titled "Project Tree Builder". 3) In the "Project Tree Builder" window's first text box, enter scripts\projects\blast_core_lib.lst, click OK, and on the subsequent window click "Reload". 4) After the environment reloads, right click on blast.lib and select "Build". The blast.lib library file will be found in c++\compilers\msvc800_prj\static\lib\CONF\blast.lib, where CONF represents the appropriate configuration (e.g.: debugdll, debugmt, releasedll, or releasemt), and the headers will be found in c++\compilers\msvc800_prj\static\inc and c++\include