Graphical user interface for building customised BLASTn databases using blastdbbuilder
Project description
blastdbbuilder GUI: Graphical Interface for Building Customised BLASTn Databases
M. Asaduzzaman Prodhan*
Content
- Introduction
- blastdbbuilder GUI
- Features
- Pre-requisite
- Installation
- Introduction of the Buttons and their meaning
- How to use the GUI locally
- How to use the GUI remotely
- Checking progress later
- Stopping a job
- Citation
- Support
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.
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 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 and BLAST database building
- Background execution (safe to close the GUI)
- Reconnect to running jobs
- Live log monitoring
- Safe termination and emergency kill options
- Directory‑based job management
Pre-requisite
System requirements
Before installing blastdbbuilder, make sure the following are available on your system:
Python ≥ 3.9
Check your Python version:
python3 --version
If Python is older than 3.9, install a newer Python using your system package manager.
Example (Ubuntu):
sudo apt install python3
This installs the latest Python version supported by your operating system.
You do not need to remove the existing Python installation, because Ubuntu uses Python internally for many system tools.
tkinter
The GUI requires the tkinter library for the graphical interface.
To check if tkinter is available:
python3 -m tkinter
If a small window appears, tkinter is installed.
If tkinter is missing (Ubuntu):
sudo apt install python3-tk
unzip
The program requires the unzip utility to extract downloaded genome archives.
Check if unzip is installed:
unzip -v
If the command is not found, install it:
sudo apt install unzip
Container engine
One of the following container engines must be installed:
-
Apptainer
-
SingularityCE ≥ 3.x
Example installation on Ubuntu / Debian:
sudo apt install singularity-container
The program automatically detects which container engine is available on your system and uses it.
On HPC systems (for example ARDC Nectar), Singularity or Apptainer is typically already installed.
Installation
Install blastdbbuilder-gui directly from PyPI:
pip install blastdbbuilder-gui
Verify installation
Check if the installation was successful:
blastdbbuilder-gui
If the GUI window opens, then:
-
the
installationhas been successful -
you can run
blastdbbuilder-guifrom any directory on your computer.
(Optional) Create a Desktop launcher (Linux)
Run once:
blastdbbuilder-gui-desktop
This creates a Desktop launcher (Linux). You can then double-click the Desktop icon to start the GUI.
Figure 1. blastdbbuilder graphical user interface (GUI) automating construction of custom BLASTn reference databases from NCBI RefSeq genomes.
Introduction of the Buttons and their meaning
Browse... Select the working directory.
Detect running job Reconnect to a running job in the selected directory.
Run Starts the selected action.
Stop Gracefully stops the running job.
Force Kill Immediately terminates the job and all related processes.
Clear log view Clears the GUI log window only.
Exit Closes the GUI window.
How to use the GUI locally
- Launch the program using the desktop icon or:
blastdbbuilder-gui
-
Select the working directory through navigating into the directory and DOUBLE-CLICK the folder to select it, and then pressing OK
-
Choose genome groups:
- Archaea
- Bacteria
- Fungi
- Virus
- Plants
- Select action:
- Download only
- Concat only
- Build only
- Run all
-
Enable Run in background.
-
Click Run.
Jobs continue running even if the GUI is closed.
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.9.tar.gz.
File metadata
- Download URL: blastdbbuilder_gui-1.0.9.tar.gz
- Upload date:
- Size: 285.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1d2b899f354e6be89108b8b2136201daa0d6acfd07550c47aceb4b8d32a2667
|
|
| MD5 |
c2d680a6e15519a40cd0b630a73d7c0c
|
|
| BLAKE2b-256 |
c998825f94c3bf7f65087292f7f7a73a791c7b8f56d84c328b78416acfb02fc9
|
File details
Details for the file blastdbbuilder_gui-1.0.9-py3-none-any.whl.
File metadata
- Download URL: blastdbbuilder_gui-1.0.9-py3-none-any.whl
- Upload date:
- Size: 281.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
beac7af64d40bd0646de1fcdedf945874255da1cd3f9da36907a1b2c256a4867
|
|
| MD5 |
cdecb31900573ba19fe0526db77192f8
|
|
| BLAKE2b-256 |
3ded0e5bc774159062253096fa13ef303c8c14822a2f1c851a588549f8eba806
|