Skip to content

Search does not report when BLAST fails #4

@aringeri

Description

@aringeri

Hi,
I've been troubleshooting an issue I've encountered with dnabarcoder's search function when attempting to classify a relatively large number of full ITS sequences (~6000) against the UNITE-INSD 2024 database.
I've been using dnabarcoder v1.06.

What I've found is that the BLAST command runs out of memory and dnabarcoder continues as though BLAST command was successful.
The blastoutput file is empty or incomplete and the search.py command returns a .bestmatch file reporting BLAST scores of 0.

I think there are two issues at play here:

  • dnabarcoder should detect whether the BLAST command fails
  • the number of cpus (nproc) should be configurable. Currently this uses all threads on my system (on my cluster: 124 threads) and I believe is the source the excessive memory use.

I've manually edited the code on my system to use fewer threads and this temporarily alleviates memory the issue for me.

The first issue is a little trickier to deal with as dnabarcoder might need to check return codes from the BLAST process.
This might be better suited using python's subprocess module (https://docs.python.org/3/library/subprocess.html#), but just a suggestion.

Thank you!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions