prfectBLAST is a multiplatform graphical user interface (GUI) for the stand-alone BLAST+ suite of applications. It allows researchers to do nucleotide or amino acid sequence similarity searches against public (or user-customized) databases that are locally stored. It does not require any dependencies or installation and can be used from a portable flash drive. prfectBLAST is implemented in Java version 6 (SUN) and runs on all platforms that support Java and for which National Center for Biotechnology Information has made available stand-alone BLAST executables, including MS Windows, Mac OS X, and Linux. It is free and open source software, made available under the GNU General Public License version 3 (GPLv3) and can be downloaded at www.cicy.mx/sitios/jramirez or http://code.google.com/p/prfectblast/.
The availability of cheap sequencing services has increased exponentially the number of nucleotide sequences researchers can obtain. One of the first steps taken to analyze this data is the search for sequence similarity against known databases to determine the putative identity of a gene or to find candidate homologs. Due to the speed of its algorithm and its integration with the principal public databases (GenBank, EMBL, DDBJ, UniProt), the Basic Local Alignment Search Tool (BLAST) (1, 2) has become the most widely used DNA and protein comparison tool.
A typical BLAST search is done through the National Center for Biotechnology Information (NCBI) server (http://blast.ncbi.nlm.nih.gov/) (3, 4), but in some situations researchers may want to do identity or similarity searches offline locally against their own still-unpublished or customized databases, as is the case in projects to be patented or when access to the internet is limited. For this task, the NCBI has developed stand-alone command line applications that can be freely downloaded and locally installed in a personal computer. However, many researchers and students in the biological sciences are not familiar with the use of command line applications requiring extra training to format their own databases and carry out local similarity searches. The use of advanced parameters other than the defaults can be challenging or cumbersome. yBlast (5) was a stand-alone graphical front end for the BLAST suite for Unix systems, but it is no longer available. Currently, there are two graphical web server interfaces for the NCBI stand-alone suite: NuclearBLAST (6) or ViroBLAST (7). Both present the user with a graphical interface, tools to format custom databases, the opportunity to create and manage databases from BLAST reports, and the ability to perform batch queries. Although NuclearBLAST and ViroBLAST are good options of integrated platforms for setting BLAST analysis and managing results, both are also limited to Unix-based systems (MacOS X, Solaris, Linux) and require personnel with Unix or Linux installation experience. MS Windows users are limited to either WinBLAST (v.0.2.0, with very few customizable parameters and no longer under development), a BLAST GUI requiring MATLAB installation (www.mathworks.com/matlabcentral/fileexchange/7039-gui-for-basic-local-alignment-search-tool-blast), or GUI BLAST (www.genesdigitales.com/guiblast/) requiring a Python installation and still in pre-alpha status. Since the release of the new BLAST+ executables (8), a new command line syntax was implemented and a Perl installation is required to be present in the system if the old BLAST syntax is used. As a simpler but powerful alternative for the beginner and average user, here we present prfectBLAST, a system-independent graphical interface for the NCBI stand-alone suite. prfectBLAST is a great option to aid introductory bioinformatics courses, while more experienced users can make use of all the advanced options present in the different BLAST+ programs and tools.
prfectBLAST provides researchers with a simple graphical user interface (GUI) for BLAST+ command line stand-alone applications. It closely follows the design and options of the BLAST+ programs available online on NCBI servers (Figure 1). All BLAST+ algorithm parameters can be changed through the graphical interface. The GUI was coded using the programming language Java version 6 (SUN), making it a multiplatform software. Each version of prfectBLAST (MS Windows, Mac OS X, and Linux) includes all the necessary BLAST+ executables made available by NCBI. (Alternatively, just the GUI can be downloaded and pointed to an existing BLAST+ installation.) prfectBLAST runs as a compact and self-contained program, so administrative privileges are not required for installation and it can be used directly from a portable USB flash drive or external hard disk. A working Java installation (version 6 or higher) is the only system requirement. All prfectBLAST versions are freely available under a GPLv3.0 license at www.cicy.mx/sitios/jramirez or http://code.google.com/p/prfectblast/.
The main window of prfectBLAST presents the user with all BLAST programs (blastn, blastp, blastx, tblastn, and tblastx) in a tabbed format (Figure 1A). For all programs the only three mandatory fields are “Query Sequence,” “Search Set” (or “Subject Sequence” in Blast2Sequences mode), and “Output.” Query sequence(s) can be pasted in the box(es) or uploaded from a file. Although prfectBLAST can execute searches against remote NCBI databases (through the “Other parameters” box, see Quick Manual), it is mainly intended to carry out searches against locally stored user-customized databases. These custom databases (or downloaded public versions: ftp://ftp.ncbi.nlm.nih.gov/blast/db/) can be selected through a “Browse” window. Depending on the program used, only nucleotide databases (blastn, tblastn, or tblastx) or amino acid databases (blastp or blastx) can be selected. All default parameters are preselected but can be changed on the “Algorithm parameters” pop-up window (Figure 1B). Changing “Program Selection” on blastn (megablast or blastn) and blastp (psi-blast, phi-blast, or blastp) main windows will automatically change defaults and add or remove available options on the “Algorithm parameters” pop-up window. Multiple BLAST+ searches can be carried out concurrently, with prfectBLAST set to run in the background. (The status of each run can be consulted through the “Thread Status Monitor.”) To keep prfectBLAST compact and its dependencies to a minimum, it does not need to include a system to manage results in a database. By default, the output is formatted as a classic pairwise BLAST report, but it can be changed to a more manageable and sortable tabular format (CSV) that can be opened in any spreadsheet application. All of the possible output formats are available through a dropdown menu. If the classic pairwise format is selected, a graphical representation of the BLAST+ report (Figure 1C) will be automatically generated. (The render is a self-contained executable version of a Perl Script developed by Lincoln Stein; www.bioperl.org/wiki/Render_blast4.)
GUIs for makeblastdb and blastdbcmd are also available in the “Tools” menu. Users that already have BLAST+ installed can set the path to its executables folder using the settings menu pop-up window. All tools and program GUIs also provide an “other parameters” field where advanced users can add any available parameters and arguments using the new command line syntax implemented since BLAST+ v. 2.2.21. (A list of all parameters can be found in the “Help” menu.)
We thank Ignazio Carbone and Luisa Lopez-Ochoa for their comments, suggestions, and review of the manuscript. We also thank Jose Fernely Aguilar-Cruz for help setting up the accompanying website and four anonymous reviewers for their comments and suggestions on the first version of the application. This work was supported by funds from Mexico National Science and Technology Council (CONACYT grant CB-2008 107114) as well as a Research Initiation fellowship from Yucatan Scientific Research Center (CICY) to P.S-S.
The authors declare no competing interests.
Address correspondence to Jorge Humberto Ramirez-Prado, Unidad de Biotecnologia, Centro de Investigacion Cientifica de Yucatan, A.C., Calle 43 #130, Col. Chuburna de Hidalgo, Merida, Yucatan, Mexico. Email: