GUI for blastdbbuilder
Project description
blastdbbuilder GUI: Building a Customised BLASTn Database
M. Asaduzzaman Prodhan*
Content
Introduction
A BLASTn database provides the essential reference framework for comparing query sequences, forming the backbone of any sequence-based analysis. Accurate results—whether in diagnostics, biosecurity surveillance, microbial studies, evolutionary research, environmental surveys, or functional genomics—depend on a high-quality, well-curated database; without it, even the most sophisticated tools can yield ambiguous outcomes.
Public databases are comprehensive but rapidly expanding, often containing redundant, low-quality or irrelevant entries. This leads to slower searches and reduced search resolution.
In contrast, a custom database is like a well-organised library where every book is precisely indexed—smaller in volume, faster to search, and more focused in results.
To simplify this process for end users, blastdbbuilder GUI provides a graphical interface to the proven blastdbbuilder backend, allowing fully reproducible database construction without requiring command-line interaction.
blastdbbuilder GUI
blastdbbuilder GUI is a Linux graphical front-end for the blastdbbuilder command-line toolkit.
It enables users to:
- download public reference genomes
- concatenate genome FASTA files
- build customised BLASTn databases
using an interactive graphical interface.
The GUI is specifically designed for:
- long-running downloads (many hours to days)
- remote Linux and HPC systems
- safe background execution
- reconnecting to running jobs after closing the interface
The GUI internally executes the same backend commands as the original blastdbbuilder toolkit.
Features
- Graphical selection of genome groups (Archaea, Bacteria, Fungi, Virus, Plants)
- Graphical execution of:
- genome download
- FASTA concatenation
- BLASTn database construction
- Background execution (safe to close the GUI)
- Reconnect to running jobs at any time
- Live log monitoring
- Safe termination and emergency kill options
- Directory-based job management (multiple jobs can run simultaneously in different folders)
Computer Setup (Using Conda)
The GUI package is fully self-contained and ships all required scientific tools. However, your computer still needs a basic software foundation so the graphical user interface (GUI) can open and run reliably. Think of this as setting up the room, not the equipment inside it.
You need:
- Linux computer or Mac Laptop or Windows Subsystem for Linux (WSL) activated in your windows laptop
- Python 3.9 – runs the GUI
- tkinter – displays the window and buttons
- Singularity – runs the built-in containers in the background
You do not need to understand or use these softwares directly.
conda install bioconda::singularity
Step 1: Create a clean environment
conda create -n blastdbbuilder python=3.9 -y
Step 2: Activate the environment
conda activate blastdbbuilder
Step 3: Install tkinter
conda install tk || conda install -c conda-forge tk
Step 4: Install Singularity
conda install -c bioconda singularity -y
blastdbbuilder Installation
-
Extract the downloaded file
unzip blastdbbuilder-gui-linux.zip
- Navigate the packae directory
cd blastdbbuilder_package_gui
- Install
./install.sh
Or, right-click on install.sh and run as program if you are in front of your computer.
After installation, run the following command in the terminal
blastdbbuilder-gui
Or double-click on the blastdbbuilder icon on the Desktop.
blastdbbuilder app will pop up in front of you- regardless you are working remotely or in front of your computer.
Figure 1. blastdbbuilder graphical user interface (GUI). The main window of blastdbbuilder (GUI) showing the end-to-end workflow controller for building custom BLAST databases. The interface allows users to select a working directory (top), choose genome groups to download (Archaea, Bacteria, Fungi, Virus and Plants), and select the execution step (Download only, Concat only, Build only, or Run all steps sequentially). A command preview panel displays the exact command that will be executed. The right-hand panel streams the live log output from running jobs. Users can run jobs in background mode (safe to close the GUI) and control execution using the Run, Stop, Force Kill, Clear log view, and Exit buttons. The status bar at the bottom reports whether a running job is detected in the selected working directory.
Introduction of the Buttons and their meaning
Browse... Select the working directory.
Detect running job Reconnects the GUI to an already running job in the selected directory and attaches to its log.
Run Starts the selected action(s).
Stop Sends a graceful termination request to the running job in the selected directory.
Force Kill Immediately kills the running job and all related processes. Use only if the job does not stop using Stop.
Clear log view Clears the log display inside the GUI window only. The log file on disk is not deleted.
Exit Closes the GUI window only. If the job is running in background mode, it continues running.
How to use the GUI locally
- Launch the program by double-clicking the desktop icon. 2 Select the working directory through navigating into the directory and DOUBLE-CLICK the folder** to select it, and then pressing OK
- Select one or more groups:
- Archaea
- Bacteria
- Fungi
- Virus
- Plants
- Select action (usually Run all)
- Download only (Step 1)
- Concat only (Step 2)
- Build only (Step 3)
- Run all (1 → 2 → 3)
- Ensure Run in background is enabled (recommended)
- Click Run
The job will start and logs will appear in the right-hand panel. You can safely close the GUI after starting a job and check progress later
How to use the GUI remotely
The GUI is fully supported on remote Linux and HPC systems using X11 forwarding.
- From your local computer, connect to the remote machine:
ssh -X user@remote_server
- Then open a terminal and run the following command
blastdbbuilder-gui
This will open the blastdbbuilder GUI on your local screen. Then, run the job as you would do it locally. See How to Use the GUI Locally
Checking progress later
- Launch the GUI again by double-clicking on the Desktop icon (if you use it locally) or by running
blastdbbuilder-guiin a terminal - Click Browse…
- Navigate to the same working directory
- DOUBLE-CLICK that directory to select it
- Click Detect running job
The GUI will reconnect and continue displaying the live log.
This directory selection step is essential. The GUI cannot detect jobs without using the same directory.
Stopping a job
To stop a running job:
- Select the same working directory
- Click Detect running job
- Click Stop
If the job does not stop (for example, a stalled container), click Force Kill.
Citation
If you use this software in your work, please cite:
Prodhan, M. A. (2025). blastdbbuilder: Building a Customised BLASTn Database. https://doi.org/10.5281/zenodo.17394137
Support
For issues, bug reports, or feature requests, please contact:
Asad Prodhan
E-mail: asad.prodhan@dpird.wa.gov.au, prodhan82@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file blastdbbuilder_gui-1.0.0.tar.gz.
File metadata
- Download URL: blastdbbuilder_gui-1.0.0.tar.gz
- Upload date:
- Size: 285.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba250ee47f9cb0279a2667b036dca65a6932e529576d5a01cf2220917ec866c6
|
|
| MD5 |
bd3b1539fc00399505f1a70c4360d7aa
|
|
| BLAKE2b-256 |
1659dee68bd9eb3016b5d97187d542ea6e9535d91526488f04d161f3029c3d9d
|
File details
Details for the file blastdbbuilder_gui-1.0.0-py3-none-any.whl.
File metadata
- Download URL: blastdbbuilder_gui-1.0.0-py3-none-any.whl
- Upload date:
- Size: 280.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49b35a3182c924e60d636090635e03e3deaefa7c7eca4e5728c0e07d0483474f
|
|
| MD5 |
da4d41f922bb2129aa507da5eff226f7
|
|
| BLAKE2b-256 |
e227e7e9ec9884b39871fc23fc16ca83d59ebbdf8a7ea677535da8d4b326f46b
|