Fold the views into one panel, right-size the controls, and open Database from a group

#7
by lvwerra HF Staff - opened
Hugging Face Biology Research org

Navigation

The two views now sit inside one curved panel with a full-width toggle at the top, the selected half filled dark green, and the Hugging Face Bio kicker removed. The atlas and the database panels drop their own frames so the whole thing reads as one surface rather than cards inside cards.

Disclosures

These were out of proportion. Gradio's block padding wrapped the whole accordion, so a one-line title stood 76 points tall with a chunky arrow beside it. The frame is now the button itself, the title carries weight, the arrow is small and muted, and a closed row is 44 points.

Lineage search

Search takes the English names too, so "sponges", "jellyfish" and "house mouse" all find their taxon. Matches are a list rather than a dropdown, closest first and already selected, with no separate search button: the list follows what is typed, Enter opens the closest match, and clicking a row opens that one.

Ranking prefers whole-name and word-start matches over substrings, so "thale" finds thale cress rather than Magnaporthales. Dropping the recursive CTE in favour of the eukaryote set already held in memory took a search from 130ms to 40ms, which is what makes search-as-you-type affordable at all.

Show database results

This carries the selected group across to the Database tab. The atlas names groups and the Database tab searches accessions, so it needed a taxon-to-accession table that did not exist: refresh_assemblies.py writes one row per annotated eukaryotic assembly into data/taxonomy.sqlite, about 33,600 of them.

Two deliberate constraints. Only annotated assemblies are stored, so the jump never offers an accession with nothing behind it, and the button says plainly when a group has none. And counts are left alone — rebuilding them here would re-read a newer assembly summary and silently shift every total in the interface away from the published snapshot, which is a separate decision.

All six accessions the production index suggests as examples are present in the new table, which is the check that ties the two datasets together.

Silhouette credits

Now follow the explanation they belong to.

Nineteen tests pass.

šŸ¤– Generated with Claude Code

lvwerra changed pull request status to merged

Sign up or log in to comment