BLAST Results — Empty-Column Reason Banner (#32)¶
Motivation¶
When a BLAST search uses -outfmt 7 std staxids sscinames (the dashboard's
"Mode B core_nt tabular + taxids" path), the result table's Description and
HSP Cover columns are necessarily blank, because that specifier carries no
source data:
- Description renders
stitle(subject title) — not instdor the taxonomy columns. - HSP Cover renders
qcovs, which the backend derives fromqlen(query length) —stdcarries noqlen.
This is correct given the chosen outfmt, but the columns were present yet always empty with no explanation. NCBI Web BLAST always shows Description + Query Cover, so a researcher reasonably reads the blanks as missing data.
User-facing change¶
When every hit in the result set has no stitle (Description) and/or no
derivable qcovs (HSP Cover), the results table renders a one-line note above
the table:
Description and HSP Cover are blank for this run. This search used a tabular output format (e.g.
7 std staxids sscinames) that does not includestitle(Description) orqlen(needed for HSP Cover). Re-run withstitle qlenappended to the outfmt specifier, or useoutfmt 5(XML), to populate these columns.
The banner only shows when the whole result set is blank for that column, so a
genuinely populated run (e.g. outfmt 5 XML, which always carries both) never
sees it.
API / IaC diff summary¶
Frontend-only, presentational:
- web/src/pages/blastResults/analytics/BlastHitsTable.tsx
— compute
descriptionColumnEmpty/coverColumnEmptyfrom the hit set and render arole="note"banner when either is whole-set blank.
No backend, schema, or outfmt change. (Changing the default preset outfmt was considered — option 1 in the issue — but is deferred so we do not silently widen every taxonomy run's column set.)
Validation evidence¶
cd web && npm run build→ success.npx vitest related --run …BlastHitsTable.tsx→ 87 passed (incl. existingBlastHitsTable.test.ts).