blastdbbuilder-gui 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- blastdbbuilder_gui-1.0.0/PKG-INFO +293 -0
- blastdbbuilder_gui-1.0.0/README.md +281 -0
- blastdbbuilder_gui-1.0.0/blastdbbuilder_gui/__init__.py +7 -0
- blastdbbuilder_gui-1.0.0/blastdbbuilder_gui/gui.py +1814 -0
- blastdbbuilder_gui-1.0.0/blastdbbuilder_gui/icons/blastdbbuilder.png +0 -0
- blastdbbuilder_gui-1.0.0/blastdbbuilder_gui.egg-info/PKG-INFO +293 -0
- blastdbbuilder_gui-1.0.0/blastdbbuilder_gui.egg-info/SOURCES.txt +11 -0
- blastdbbuilder_gui-1.0.0/blastdbbuilder_gui.egg-info/dependency_links.txt +1 -0
- blastdbbuilder_gui-1.0.0/blastdbbuilder_gui.egg-info/entry_points.txt +2 -0
- blastdbbuilder_gui-1.0.0/blastdbbuilder_gui.egg-info/requires.txt +2 -0
- blastdbbuilder_gui-1.0.0/blastdbbuilder_gui.egg-info/top_level.txt +1 -0
- blastdbbuilder_gui-1.0.0/pyproject.toml +29 -0
- blastdbbuilder_gui-1.0.0/setup.cfg +4 -0
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: blastdbbuilder-gui
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: GUI for blastdbbuilder
|
|
5
|
+
Author: M. Asaduzzaman Prodhan
|
|
6
|
+
License: GPL-3.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/asadprodhan/blastdbbuilder
|
|
8
|
+
Requires-Python: >=3.9
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
Requires-Dist: blastdbbuilder
|
|
11
|
+
Requires-Dist: customtkinter
|
|
12
|
+
|
|
13
|
+
<h1 align="center">blastdbbuilder GUI: Building a Customised BLASTn Database</h1>
|
|
14
|
+
|
|
15
|
+
<h3 align="center">M. Asaduzzaman Prodhan<sup>*</sup> </h3>
|
|
16
|
+
|
|
17
|
+
<div align="center"><b> DPIRD Diagnostics and Laboratory Services </b></div>
|
|
18
|
+
|
|
19
|
+
<div align="center"><b> Department of Primary Industries and Regional Development </b></div>
|
|
20
|
+
|
|
21
|
+
<div align="center"><b> 31 Cedric St, Stirling WA 6021, Australia </b></div>
|
|
22
|
+
|
|
23
|
+
<div align="center"><b> *Correspondence: asad.prodhan@dpird.wa.gov.au; prodhan82@gmail.com </b></div>
|
|
24
|
+
|
|
25
|
+
<br />
|
|
26
|
+
|
|
27
|
+
<p align="center">
|
|
28
|
+
<a href="https://github.com/asadprodhan/blastdbbuilder/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-GPL%203.0-yellow.svg" alt="License GPL 3.0" style="display: inline-block;"></a>
|
|
29
|
+
<a href="https://orcid.org/0000-0002-1320-3486"><img src="https://img.shields.io/badge/ORCID-green?style=flat-square&logo=ORCID&logoColor=white" alt="ORCID" style="display: inline-block;"></a>
|
|
30
|
+
<a href="https://doi.org/10.5281/zenodo.17394137"><img src="https://img.shields.io/badge/DOI-10.5281%2Fzenodo.17394137-blue?style=flat-square&logo=Zenodo&logoColor=white" alt="DOI: 10.5281/zenodo.17394137" style="display: inline-block;"></a>
|
|
31
|
+
</p>
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## **Content**
|
|
36
|
+
|
|
37
|
+
- [Introduction](#introduction)
|
|
38
|
+
- [blastdbbuilder GUI](#blastdbbuilder-gui)
|
|
39
|
+
- [Features](#features)
|
|
40
|
+
- [Pre-requisite](#pre-requisite)
|
|
41
|
+
- [Installation](#installation)
|
|
42
|
+
- [Using the GUI](#using-the-gui)
|
|
43
|
+
- [Working directory](#working-directory-very-important)
|
|
44
|
+
- [Selecting a directory](#selecting-a-directory-important-note)
|
|
45
|
+
- [Genome group selection](#genome-group-selection)
|
|
46
|
+
- [Action selection](#action-selection)
|
|
47
|
+
- [Buttons and their meaning](#buttons-and-their-meaning)
|
|
48
|
+
- [Running a job](#running-a-job)
|
|
49
|
+
- [Checking progress later](#checking-progress-later)
|
|
50
|
+
- [Stopping a job](#stopping-a-job)
|
|
51
|
+
- [Citation](#citation)
|
|
52
|
+
- [Support](#support)
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## **Introduction**
|
|
56
|
+
|
|
57
|
+
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.
|
|
58
|
+
|
|
59
|
+
Public databases are comprehensive but rapidly expanding, often containing redundant, low-quality or irrelevant entries. This leads to slower searches and reduced search resolution.
|
|
60
|
+
|
|
61
|
+
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.
|
|
62
|
+
|
|
63
|
+
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.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## **blastdbbuilder GUI**
|
|
68
|
+
|
|
69
|
+
`blastdbbuilder GUI` is a Linux graphical front-end for the `blastdbbuilder` command-line toolkit.
|
|
70
|
+
|
|
71
|
+
It enables users to:
|
|
72
|
+
|
|
73
|
+
- download public reference genomes
|
|
74
|
+
- concatenate genome FASTA files
|
|
75
|
+
- build customised BLASTn databases
|
|
76
|
+
|
|
77
|
+
using an interactive graphical interface.
|
|
78
|
+
|
|
79
|
+
The GUI is specifically designed for:
|
|
80
|
+
|
|
81
|
+
- long-running downloads (many hours to days)
|
|
82
|
+
- remote Linux and HPC systems
|
|
83
|
+
- safe background execution
|
|
84
|
+
- reconnecting to running jobs after closing the interface
|
|
85
|
+
|
|
86
|
+
The GUI internally executes the same backend commands as the original `blastdbbuilder` toolkit.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## **Features**
|
|
91
|
+
|
|
92
|
+
- Graphical selection of genome groups (Archaea, Bacteria, Fungi, Virus, Plants)
|
|
93
|
+
- Graphical execution of:
|
|
94
|
+
- genome download
|
|
95
|
+
- FASTA concatenation
|
|
96
|
+
- BLASTn database construction
|
|
97
|
+
- Background execution (safe to close the GUI)
|
|
98
|
+
- Reconnect to running jobs at any time
|
|
99
|
+
- Live log monitoring
|
|
100
|
+
- Safe termination and emergency kill options
|
|
101
|
+
- Directory-based job management (multiple jobs can run simultaneously in different folders)
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## **Computer Setup (Using Conda)**
|
|
106
|
+
|
|
107
|
+
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.
|
|
108
|
+
|
|
109
|
+
You need:
|
|
110
|
+
- Linux computer or Mac Laptop or Windows Subsystem for Linux (WSL) activated in your windows laptop
|
|
111
|
+
- Python 3.9 – runs the GUI
|
|
112
|
+
- tkinter – displays the window and buttons
|
|
113
|
+
- Singularity – runs the built-in containers in the background
|
|
114
|
+
|
|
115
|
+
You do not need to understand or use these softwares directly.
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
conda install bioconda::singularity
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## **Step 1: Create a clean environment**
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
conda create -n blastdbbuilder python=3.9 -y
|
|
125
|
+
```
|
|
126
|
+
## **Step 2: Activate the environment**
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
conda activate blastdbbuilder
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## **Step 3: Install tkinter**
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
conda install tk || conda install -c conda-forge tk
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## **Step 4: Install Singularity**
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
conda install -c bioconda singularity -y
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## **blastdbbuilder Installation**
|
|
147
|
+
|
|
148
|
+
1. [Download the Linux GUI installer](https://github.com/asadprodhan/blastdbbuilder/releases)
|
|
149
|
+
|
|
150
|
+
2. Extract the downloaded file
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
unzip blastdbbuilder-gui-linux.zip
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
3. Navigate the packae directory
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
cd blastdbbuilder_package_gui
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
4. Install
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
./install.sh
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Or, right-click on `install.sh` and run as program if you are in front of your computer.
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
After installation, run the following command in the terminal
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
blastdbbuilder-gui
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Or double-click on the blastdbbuilder icon on the Desktop.
|
|
178
|
+
|
|
179
|
+
blastdbbuilder app will pop up in front of you- regardless you are working remotely or in front of your computer.
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
<br /> <p align="center"> <img src="https://github.com/asadprodhan/blastdbbuilderGUI/blob/main/blastdbbuilderGUI_v3.png" width="100%" > </p> <p> <strong>Figure 1. blastdbbuilder graphical user interface (GUI).</strong>
|
|
185
|
+
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. </p> <br />
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## **Introduction of the Buttons and their meaning**
|
|
191
|
+
|
|
192
|
+
**Browse...** Select the working directory.
|
|
193
|
+
|
|
194
|
+
**Detect running job** Reconnects the GUI to an already running job in the selected directory and attaches to its log.
|
|
195
|
+
|
|
196
|
+
**Run** Starts the selected action(s).
|
|
197
|
+
|
|
198
|
+
**Stop** Sends a graceful termination request to the running job in the selected directory.
|
|
199
|
+
|
|
200
|
+
**Force Kill** Immediately kills the running job and all related processes. Use only if the job does not stop using *Stop*.
|
|
201
|
+
|
|
202
|
+
**Clear log view** Clears the log display inside the GUI window only. The log file on disk is not deleted.
|
|
203
|
+
|
|
204
|
+
**Exit** Closes the GUI window only. If the job is running in background mode, it continues running.
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## **How to use the GUI locally**
|
|
209
|
+
|
|
210
|
+
1. Launch the program by double-clicking the desktop icon.
|
|
211
|
+
2 Select the working directory through navigating into the directory and DOUBLE-CLICK the folder** to select it, and then pressing OK
|
|
212
|
+
3. Select one or more groups:
|
|
213
|
+
- Archaea
|
|
214
|
+
- Bacteria
|
|
215
|
+
- Fungi
|
|
216
|
+
- Virus
|
|
217
|
+
- Plants
|
|
218
|
+
4. Select action (usually *Run all*)
|
|
219
|
+
- Download only (Step 1)
|
|
220
|
+
- Concat only (Step 2)
|
|
221
|
+
- Build only (Step 3)
|
|
222
|
+
- Run all (1 → 2 → 3)
|
|
223
|
+
5. Ensure *Run in background* is enabled (recommended)
|
|
224
|
+
6. Click **Run**
|
|
225
|
+
|
|
226
|
+
**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**
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## **How to use the GUI remotely**
|
|
231
|
+
|
|
232
|
+
The GUI is fully supported on remote Linux and HPC systems using X11 forwarding.
|
|
233
|
+
|
|
234
|
+
1. From your local computer, connect to the remote machine:
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
ssh -X user@remote_server
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
2. Then open a terminal and run the following command
|
|
241
|
+
|
|
242
|
+
```
|
|
243
|
+
blastdbbuilder-gui
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
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**
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## **Checking progress later**
|
|
251
|
+
|
|
252
|
+
1. Launch the GUI again by double-clicking on the Desktop icon (if you use it locally) or by running `blastdbbuilder-gui` in a terminal
|
|
253
|
+
2. Click **Browse…**
|
|
254
|
+
3. Navigate to the **same working directory**
|
|
255
|
+
4. **DOUBLE-CLICK** that directory to select it
|
|
256
|
+
5. Click **Detect running job**
|
|
257
|
+
|
|
258
|
+
The GUI will reconnect and continue displaying the live log.
|
|
259
|
+
|
|
260
|
+
**This directory selection step is essential. The GUI cannot detect jobs without using the same directory.**
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## **Stopping a job**
|
|
265
|
+
|
|
266
|
+
To stop a running job:
|
|
267
|
+
|
|
268
|
+
1. Select the same working directory
|
|
269
|
+
2. Click **Detect running job**
|
|
270
|
+
3. Click **Stop**
|
|
271
|
+
|
|
272
|
+
If the job does not stop (for example, a stalled container), click **Force Kill**.
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## **Citation**
|
|
277
|
+
|
|
278
|
+
If you use this software in your work, please cite:
|
|
279
|
+
|
|
280
|
+
Prodhan, M. A. (2025). blastdbbuilder: Building a Customised BLASTn Database. https://doi.org/10.5281/zenodo.17394137
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## **Support**
|
|
285
|
+
|
|
286
|
+
For issues, bug reports, or feature requests, please contact:
|
|
287
|
+
|
|
288
|
+
**Asad Prodhan**
|
|
289
|
+
E-mail: asad.prodhan@dpird.wa.gov.au, prodhan82@gmail.com
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
<h1 align="center">blastdbbuilder GUI: Building a Customised BLASTn Database</h1>
|
|
2
|
+
|
|
3
|
+
<h3 align="center">M. Asaduzzaman Prodhan<sup>*</sup> </h3>
|
|
4
|
+
|
|
5
|
+
<div align="center"><b> DPIRD Diagnostics and Laboratory Services </b></div>
|
|
6
|
+
|
|
7
|
+
<div align="center"><b> Department of Primary Industries and Regional Development </b></div>
|
|
8
|
+
|
|
9
|
+
<div align="center"><b> 31 Cedric St, Stirling WA 6021, Australia </b></div>
|
|
10
|
+
|
|
11
|
+
<div align="center"><b> *Correspondence: asad.prodhan@dpird.wa.gov.au; prodhan82@gmail.com </b></div>
|
|
12
|
+
|
|
13
|
+
<br />
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<a href="https://github.com/asadprodhan/blastdbbuilder/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-GPL%203.0-yellow.svg" alt="License GPL 3.0" style="display: inline-block;"></a>
|
|
17
|
+
<a href="https://orcid.org/0000-0002-1320-3486"><img src="https://img.shields.io/badge/ORCID-green?style=flat-square&logo=ORCID&logoColor=white" alt="ORCID" style="display: inline-block;"></a>
|
|
18
|
+
<a href="https://doi.org/10.5281/zenodo.17394137"><img src="https://img.shields.io/badge/DOI-10.5281%2Fzenodo.17394137-blue?style=flat-square&logo=Zenodo&logoColor=white" alt="DOI: 10.5281/zenodo.17394137" style="display: inline-block;"></a>
|
|
19
|
+
</p>
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## **Content**
|
|
24
|
+
|
|
25
|
+
- [Introduction](#introduction)
|
|
26
|
+
- [blastdbbuilder GUI](#blastdbbuilder-gui)
|
|
27
|
+
- [Features](#features)
|
|
28
|
+
- [Pre-requisite](#pre-requisite)
|
|
29
|
+
- [Installation](#installation)
|
|
30
|
+
- [Using the GUI](#using-the-gui)
|
|
31
|
+
- [Working directory](#working-directory-very-important)
|
|
32
|
+
- [Selecting a directory](#selecting-a-directory-important-note)
|
|
33
|
+
- [Genome group selection](#genome-group-selection)
|
|
34
|
+
- [Action selection](#action-selection)
|
|
35
|
+
- [Buttons and their meaning](#buttons-and-their-meaning)
|
|
36
|
+
- [Running a job](#running-a-job)
|
|
37
|
+
- [Checking progress later](#checking-progress-later)
|
|
38
|
+
- [Stopping a job](#stopping-a-job)
|
|
39
|
+
- [Citation](#citation)
|
|
40
|
+
- [Support](#support)
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## **Introduction**
|
|
44
|
+
|
|
45
|
+
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.
|
|
46
|
+
|
|
47
|
+
Public databases are comprehensive but rapidly expanding, often containing redundant, low-quality or irrelevant entries. This leads to slower searches and reduced search resolution.
|
|
48
|
+
|
|
49
|
+
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.
|
|
50
|
+
|
|
51
|
+
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.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## **blastdbbuilder GUI**
|
|
56
|
+
|
|
57
|
+
`blastdbbuilder GUI` is a Linux graphical front-end for the `blastdbbuilder` command-line toolkit.
|
|
58
|
+
|
|
59
|
+
It enables users to:
|
|
60
|
+
|
|
61
|
+
- download public reference genomes
|
|
62
|
+
- concatenate genome FASTA files
|
|
63
|
+
- build customised BLASTn databases
|
|
64
|
+
|
|
65
|
+
using an interactive graphical interface.
|
|
66
|
+
|
|
67
|
+
The GUI is specifically designed for:
|
|
68
|
+
|
|
69
|
+
- long-running downloads (many hours to days)
|
|
70
|
+
- remote Linux and HPC systems
|
|
71
|
+
- safe background execution
|
|
72
|
+
- reconnecting to running jobs after closing the interface
|
|
73
|
+
|
|
74
|
+
The GUI internally executes the same backend commands as the original `blastdbbuilder` toolkit.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## **Features**
|
|
79
|
+
|
|
80
|
+
- Graphical selection of genome groups (Archaea, Bacteria, Fungi, Virus, Plants)
|
|
81
|
+
- Graphical execution of:
|
|
82
|
+
- genome download
|
|
83
|
+
- FASTA concatenation
|
|
84
|
+
- BLASTn database construction
|
|
85
|
+
- Background execution (safe to close the GUI)
|
|
86
|
+
- Reconnect to running jobs at any time
|
|
87
|
+
- Live log monitoring
|
|
88
|
+
- Safe termination and emergency kill options
|
|
89
|
+
- Directory-based job management (multiple jobs can run simultaneously in different folders)
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## **Computer Setup (Using Conda)**
|
|
94
|
+
|
|
95
|
+
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.
|
|
96
|
+
|
|
97
|
+
You need:
|
|
98
|
+
- Linux computer or Mac Laptop or Windows Subsystem for Linux (WSL) activated in your windows laptop
|
|
99
|
+
- Python 3.9 – runs the GUI
|
|
100
|
+
- tkinter – displays the window and buttons
|
|
101
|
+
- Singularity – runs the built-in containers in the background
|
|
102
|
+
|
|
103
|
+
You do not need to understand or use these softwares directly.
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
conda install bioconda::singularity
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## **Step 1: Create a clean environment**
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
conda create -n blastdbbuilder python=3.9 -y
|
|
113
|
+
```
|
|
114
|
+
## **Step 2: Activate the environment**
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
conda activate blastdbbuilder
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## **Step 3: Install tkinter**
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
conda install tk || conda install -c conda-forge tk
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## **Step 4: Install Singularity**
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
conda install -c bioconda singularity -y
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## **blastdbbuilder Installation**
|
|
135
|
+
|
|
136
|
+
1. [Download the Linux GUI installer](https://github.com/asadprodhan/blastdbbuilder/releases)
|
|
137
|
+
|
|
138
|
+
2. Extract the downloaded file
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
unzip blastdbbuilder-gui-linux.zip
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
3. Navigate the packae directory
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
cd blastdbbuilder_package_gui
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
4. Install
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
./install.sh
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Or, right-click on `install.sh` and run as program if you are in front of your computer.
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
After installation, run the following command in the terminal
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
blastdbbuilder-gui
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Or double-click on the blastdbbuilder icon on the Desktop.
|
|
166
|
+
|
|
167
|
+
blastdbbuilder app will pop up in front of you- regardless you are working remotely or in front of your computer.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
<br /> <p align="center"> <img src="https://github.com/asadprodhan/blastdbbuilderGUI/blob/main/blastdbbuilderGUI_v3.png" width="100%" > </p> <p> <strong>Figure 1. blastdbbuilder graphical user interface (GUI).</strong>
|
|
173
|
+
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. </p> <br />
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## **Introduction of the Buttons and their meaning**
|
|
179
|
+
|
|
180
|
+
**Browse...** Select the working directory.
|
|
181
|
+
|
|
182
|
+
**Detect running job** Reconnects the GUI to an already running job in the selected directory and attaches to its log.
|
|
183
|
+
|
|
184
|
+
**Run** Starts the selected action(s).
|
|
185
|
+
|
|
186
|
+
**Stop** Sends a graceful termination request to the running job in the selected directory.
|
|
187
|
+
|
|
188
|
+
**Force Kill** Immediately kills the running job and all related processes. Use only if the job does not stop using *Stop*.
|
|
189
|
+
|
|
190
|
+
**Clear log view** Clears the log display inside the GUI window only. The log file on disk is not deleted.
|
|
191
|
+
|
|
192
|
+
**Exit** Closes the GUI window only. If the job is running in background mode, it continues running.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## **How to use the GUI locally**
|
|
197
|
+
|
|
198
|
+
1. Launch the program by double-clicking the desktop icon.
|
|
199
|
+
2 Select the working directory through navigating into the directory and DOUBLE-CLICK the folder** to select it, and then pressing OK
|
|
200
|
+
3. Select one or more groups:
|
|
201
|
+
- Archaea
|
|
202
|
+
- Bacteria
|
|
203
|
+
- Fungi
|
|
204
|
+
- Virus
|
|
205
|
+
- Plants
|
|
206
|
+
4. Select action (usually *Run all*)
|
|
207
|
+
- Download only (Step 1)
|
|
208
|
+
- Concat only (Step 2)
|
|
209
|
+
- Build only (Step 3)
|
|
210
|
+
- Run all (1 → 2 → 3)
|
|
211
|
+
5. Ensure *Run in background* is enabled (recommended)
|
|
212
|
+
6. Click **Run**
|
|
213
|
+
|
|
214
|
+
**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**
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## **How to use the GUI remotely**
|
|
219
|
+
|
|
220
|
+
The GUI is fully supported on remote Linux and HPC systems using X11 forwarding.
|
|
221
|
+
|
|
222
|
+
1. From your local computer, connect to the remote machine:
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
ssh -X user@remote_server
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
2. Then open a terminal and run the following command
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
blastdbbuilder-gui
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
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**
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## **Checking progress later**
|
|
239
|
+
|
|
240
|
+
1. Launch the GUI again by double-clicking on the Desktop icon (if you use it locally) or by running `blastdbbuilder-gui` in a terminal
|
|
241
|
+
2. Click **Browse…**
|
|
242
|
+
3. Navigate to the **same working directory**
|
|
243
|
+
4. **DOUBLE-CLICK** that directory to select it
|
|
244
|
+
5. Click **Detect running job**
|
|
245
|
+
|
|
246
|
+
The GUI will reconnect and continue displaying the live log.
|
|
247
|
+
|
|
248
|
+
**This directory selection step is essential. The GUI cannot detect jobs without using the same directory.**
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## **Stopping a job**
|
|
253
|
+
|
|
254
|
+
To stop a running job:
|
|
255
|
+
|
|
256
|
+
1. Select the same working directory
|
|
257
|
+
2. Click **Detect running job**
|
|
258
|
+
3. Click **Stop**
|
|
259
|
+
|
|
260
|
+
If the job does not stop (for example, a stalled container), click **Force Kill**.
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## **Citation**
|
|
265
|
+
|
|
266
|
+
If you use this software in your work, please cite:
|
|
267
|
+
|
|
268
|
+
Prodhan, M. A. (2025). blastdbbuilder: Building a Customised BLASTn Database. https://doi.org/10.5281/zenodo.17394137
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
## **Support**
|
|
273
|
+
|
|
274
|
+
For issues, bug reports, or feature requests, please contact:
|
|
275
|
+
|
|
276
|
+
**Asad Prodhan**
|
|
277
|
+
E-mail: asad.prodhan@dpird.wa.gov.au, prodhan82@gmail.com
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|