A streamlined workflow and GUI for real-time species identification and pathogen characterization via nanopore sequencing data. Engineered for precision, speed, and user-friendliness, with offline functionality post-initialization.
This PR introduces several changes to improve the efficiency and maintainability of the code related to BLAST database management. The main goal is to build only missing BLAST databases and enhance logging for better traceability.
Changes:
build_blast_databases Function Update:
The function now accepts an additional argument missing_databases, which is a list of Tax IDs for which BLAST databases need to be built.
Added logic to skip the building of BLAST databases if they already exist or if missing_databases is empty.
Enhanced logging to include Tax IDs.
New check_blast_dbs_exist Function:
This function checks for the existence of BLAST databases based on a given dictionary that maps species names to their Tax IDs.
Returns a list of missing databases by Tax ID.
Enhanced logging to include species names and Tax IDs.
Main Script (nanometa_prepare.py) Update:
The main script now first checks for missing BLAST databases using check_blast_dbs_exist and then passes this information to build_blast_databases.
By implementing these changes, we ensure that only the necessary BLAST databases are built, thereby saving computational resources. Additionally, the enhanced logging will assist in debugging and traceability.
Description:
This PR introduces several changes to improve the efficiency and maintainability of the code related to BLAST database management. The main goal is to build only missing BLAST databases and enhance logging for better traceability.
Changes:
build_blast_databases
Function Update:missing_databases
, which is a list of Tax IDs for which BLAST databases need to be built.missing_databases
is empty.New
check_blast_dbs_exist
Function:Main Script (
nanometa_prepare.py
) Update:check_blast_dbs_exist
and then passes this information tobuild_blast_databases
.By implementing these changes, we ensure that only the necessary BLAST databases are built, thereby saving computational resources. Additionally, the enhanced logging will assist in debugging and traceability.