Check GTDB database integrity before proceeding with GTDB-Tk classify workflow
Nobody has claimed this yet.
- Dominant language
- Nextflow
- Stars
- 321
- Forks
- 156
- Avg merge
- 12h 59m
- Merged PRs (30d)
- 5
Description
Is your feature request related to a problem? Please describe
I was using the nf-core/mag pipeline on a bunch of samples recently, and the GTDB-Tk classify workflow step kept failing with segfaults. After much digging, it turns out that the GTDB database extraction did not go as expected, and some files had 0-byte sizes. This caused the FastANI step of GTDB-Tk to fail and issue a segfault.
I ran gtdbtk check_install on the extracted database and it failed with a hash mismatch error. I re-extracted the database and
Describe the solution you'd like
gtdbtk check_install should be run after the GTDB has been extracted, and if it fails, then the DB should be re-extracted. Only if this check passes, then the pipeline should continue with GTDB-Tk workflows.
Additional context
Adding a gtdbtk check_install step after the DB has been extracted, and prior to GTDB-Tk usage, can save lots of potentially wasted compute and queuing time if the DB extraction didn't complete fully.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the GTDB database extraction step in the nf-core/mag pipeline and review how GTDB-Tk classify is invoked. Run gtdbtk check_install after extraction; done when a failed integrity check triggers re-extraction and GTDB-Tk workflows continue only after a passing check.
Written by the indexing model from the issue text.
Assessment
- Domain
- bioinformatics
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100