May 26, 1995 Installation instructions for the BLAST 1.4 application and utility programs. o FTP the ncbi.tar.Z, gish.tar.Z, blast.tar.Z, and blastapp.tar.Z compressed tar archives. After unpacking each archive, follow the installation instructions provided with it. Installation should be performed in the order indicated here: ncbi.tar.Z -- a version of the NCBI Toolbox compatible with BLAST 1.4 gish.tar.Z -- a personal function library, containing dfa routines etc. blast.tar.Z -- a BLAST function library supporting the BLAST 1.4 programs blastapp.tar.Z -- the BLAST 1.4 application source code o Install first the NCBI Toolbox posted in the ncbi.tar.Z file. Be sure to read the installation instructions that accompany the Toolbox. Special installation steps must be carried out if you intend to use parallel processing with the BLAST programs -- read the following paragraphs carefully in this regard. Some computing platforms offer parallel processing capabilities in the form of symmetric multiprocessing (SMP), each with a different application programming interface. At the time of this writing, the list of SMP platforms supported by the BLAST 1.4 programs includes: SunSoft Solaris version 2.2 and higher; Digital Equipment Corp. OSF/1 (or DEC Unix) version 3.2; and Silicon Graphics, Inc. IRIX version 4.0 and up. To include parallel processing as one of the features of the BLAST programs, the definition of the C preprocessor symbol "MPROC_AVAIL" must first be uncommented from the platform-specific ncbilcl.h file found in the NCBI Toolbox. While the NCBI Toolbox module contains no parallel-processing related code itself, it is important that MPROC_AVAIL be defined in ncbilcl.h before one begins to compile and link the "gish", "blast", and "blastapp" modules. Special compiler and linker options are also commonly required -- and should be used consistently throughout ALL compilations of ALL modules -- when producing such multithreaded applications. See the relevant Makefile (Makefile.sol, Makefile.osf, and Makefile.sgi) for what these options should be. Some further instructions on building the multithreaded applications are presented below, as well. o Individual Makefiles are provided for a few computing platforms, including a "generic" Makefile named "Makefile.gen". As may be necessary, edit the appropriate blastapp Makefile in order to adapt the Makefile to the locations where you installed the ncbi, gish, and blast libraries. As provided, the Makefiles expect these libraries to be located relative to the blastapp directory in ../ncbi, ../gish, and ../blast; the expected locations can be changed by changing the Makefile settings for the variables NCBI, GISH, and BLAST. o Only for those computing platforms that the BLAST programs can be built to run as multithreaded applications... First, the ncbilcl.h file that is created through installation of the NCBI Toolbox (re: ncbi.tar.Z) needs to have the line "#define MPROC_AVAIL" uncommented. THIS CHANGE MUST BE MADE BEFORE BUILDING THE GISH LIBRARY AND ALL OTHER MODULES. Second, in all Makefiles for all modules, make sure any CFLAGS, CCOPT, and LIBOPT variables contain the appropriate C compiler options for building multithreaded applications on your computing platform. C Compiler Options ------------------ Sun Solaris, SunSoft C compiler: -mt DEC OSF/1, DEC C compiler: -threads SGI IRIX, SGI C Compiler: (apparently none) Third, set the MPLIB variable appropriately in the blastapp Makefile, for linking multithreaded applications on your computing platform. Linking Options (MPLIB) ----------------------- Sun Solaris: -lthread (not needed when -mt option is specified) DEC OSF/1: -lpthreads (not needed when -threads option is specified) SGI IRIX 4: -lmpc SGI IRIX 5+: Instructions similar to these on how to build the BLAST programs for multiprocessing are provided in each of the blastapp Makefiles: Makefile.sol, Makefile.osf and Makefile.sgi. There are numerous optimization options available with many C compilers. Whatever options are chosen, it is highly is recommended that the same set of options be used consistently throughout the compilation and linking of the software, starting at the ground level with the building of the NCBI Toolbox. Compiler Optimizations ---------------------- Sun Solaris, SunSoft C: -Xa -xO4 -mt DEC OSF/1: -unsigned -migrate -tune host -fp_reorder -inline speed -O5 -threads SGI IRIX: -O2 o If you wish to maintain the BLAST databases and substitution matrix files in directories other than the defaults (/usr/ncbi/blast/db and /usr/ncbi/blast/matrix, respectively), edit the BLASTDB and BLASTMAT macros defined in the header file include/blastapp.h. The user can override these defaults by setting the environment variables BLASTDB and BLASTMAT to whichever directories they wish but, regardless, the BLAST programs will look first in the user's current working directory for database and substitution matrix files. #define BLASTDB "/usr/ncbi/blast/db" #define BLASTMAT "/usr/ncbi/blast/matrix" o After the ncbi, gish, and blast libraries have been made (in that order), issue a "make all" in the blastapp directory. o Install the substitution matrix files distributed beneath the matrix subdirectory. (See above for a description of their proper installed location). o Read the introductory comments in setdb.c and pressdb.c to see how databases are prepared for searching with the BLAST application programs. Input to the "setdb" and "pressdb" programs must be in FASTA/Pearson format. The utility programs "gb2fasta", "pir2fasta", "sp2fasta", and "gt2fasta" are provided to reformat the sequence records from GenBank, PIR, SWISS-PROT and EMBL flat files into FASTA/Pearson format for subsequent processing by "setdb" and "pressdb". o See the blast1.1 manual page for instructions on using the BLAST application programs. The blast1.1 file is in standard UNIX manual page format. A PostScript version is available in the file blast1.1ps that should print well on any PostScript printer. Furthermore, there is a blast1.pdf file in Portable Document Format that can be viewed and printed on a variety of computing platforms using Adobe's Acrobat Reader (version 2 or later) program. Each of the individual main source code files blastp.c, blastn.c, blastx.c, tblastn.c, and tblastx.c also contain some usage information at the beginning.