Repository navigation
Conversation
Add a responsive Tools header menu (dropdown at md/lg, More-menu entry at sm, drawer link at xs) linking out to the six tools supported by BRC Analytics: Bushwacker, HyPhy 3 / WALRUS, Logan Search, PrimAeon, RhizAeon and TRACE-5.0, plus an internal link to the new /learn/associated-tools page. The page describes each tool, how to choose between them, and their privacy model. Reframe /learn/logan-search around logan-search.org rather than the BRC-hosted UI: drop the in-dev file-load/example/index-matrix/retention mechanics, and replace the comparison section with one describing the relationship to BRC Analytics (the API runs kmindex jobs on usegalaxy.org, and the teams are collaborating on a new UI and the Logan v1.2 December 2025 index through the TACC partnership). Add two What's New cards (Logan Search support first, Tools menu second), an Associated Tools Learn card, and a cross-link from the PrimAeon page; update the header visibility tests for the new entry. Also fix a pre-existing mypy arg-type error in check_against_ncbi_gtf's open_source: types-requests types Response.raw as HTTPResponse | Any, outside BufferedReader's accepted stream union; the cast documents that urllib3's response object satisfies the raw-stream protocol.
NoopDog
left a comment
There was a problem hiding this comment.
Thanks for putting this together. A Tools menu is a nice way to surface these, and the new Associated Tools page reads well. Lint, type checks and the test suites all pass locally. One question and one fix need settling before this can merge, plus a naming question and a few optional points.
Needs an answer or a fix before merge
-
Was overwriting
learn/logan-search.mdxintentional? The description doesn't mention it, so I wanted to check. That page documents BRC Analytics' own Logan Search at/logan-search, which is a separate search UI that's currently behind theNEXT_PUBLIC_LOGAN_SEARCH_ENABLEDflag, so it's easy not to notice. The page covers that UI's index matrix and presets, the 50,000-hit cap, TSV/Parquet export, how long results are kept, and how it differs from logan-search.org. The rewrite describes logan-search.org instead, including features BRC's version doesn't have (GenBank/RefSeq search, aligning a hit against contigs, email notification). Two places still link to this page and expect the old content:- the "How it works" link on BRC's Logan Search page (
sites/brc-analytics/views/LoganSearchView/loganSearchView.tsx:34); - the Logan Search Learn card (
LearnView/constants.ts:77), which promises "inputs, scores, limits and export".
If the overwrite wasn't intended, the logan-search.org description would fit well in the new Associated Tools page or a page of its own. If it was, let's talk about what should happen to BRC's own Logan Search page and those two links.
- the "How it works" link on BRC's Logan Search page (
-
Not every tool is on usegalaxy.org. Inline at
associated-tools.mdx:17.
Naming question
- Bushwacker vs. Bushwhacker. This PR writes "Bushwacker", matching the tool's URL (
bushwacker), but the tool's own site calls it "Bushwhacker" throughout. Could the name be aligned with the URL at the tool's end, so people searching for it find one spelling? (Inline atnavigation.ts:61.)
Optional
- The navigation comment about the drawer isn't quite right, which may open up a simpler design (inline at
navigation.ts:36). - The updated test checks the "Tools" labels but not where they point. Emptying the menu, blanking the
xslink's URL, or pointing the "More" entry at the wrong page all still pass. Consider asserting that thesmandxsentries go to/learn/associated-tools, and that themd/lgmenu lists the six tool URLs plus the Learn page. - With the Logan Search flag on, the header shows two "Logan Search" entries: the top-level one goes to BRC's
/logan-search, and the Tools one goes to logan-search.org. Consider labelling the Tools entry so the two are distinguishable, for example "logan-search.org". - The mypy
castis unrelated to the menu (inline). - The Learn card leaves out one of the tools (inline).
It would also help to mention the Logan Search page change in the description, since the description becomes the commit message.
| text: "Logan Search" | ||
| contentType: "ARTICLE" | ||
| description: "Search a DNA sequence against Logan's assemblies of the Sequence Read Archive and get back the SRA runs it occurs in: inputs, limits, scores, export and retention." | ||
| description: "Search a DNA sequence against Logan's assemblies of the Sequence Read Archive and get back the SRA runs it occurs in: inputs, limits, scores and results." |
There was a problem hiding this comment.
Was this overwrite intended? This page is the documentation for BRC Analytics' own Logan Search (/logan-search, behind the NEXT_PUBLIC_LOGAN_SEARCH_ENABLED flag), and BRC's Logan Search page and its Learn card both link here. More detail is in the review summary.
| ## Relationship to BRC Analytics | ||
|
|
||
| Some things are only on logan-search.org for now: searching GenBank and RefSeq reference genomes, its "Fast" index groups, email notification when a search finishes, and alignment of the query against a run's contigs. If you need one of those, use logan-search.org; the threshold and scores mean the same thing on both. | ||
| Logan Search runs on BRC Analytics and Galaxy infrastructure: searches submitted on logan-search.org go through the BRC Analytics API, which runs the kmindex lookups as jobs on usegalaxy.org. The BRC Analytics and Logan teams are also collaborating to bring a new UI to logan-search.org, and — through BRC Analytics' partnership with TACC — to deploy the updated Logan v1.2 index, which covers the December 2025 freeze of the SRA (87 petabases across 38 million accessions). |
There was a problem hiding this comment.
Wherever this paragraph ends up: it puts plans and figures into public copy (the new logan-search.org UI, the TACC partnership, Logan v1.2, "87 petabases across 38 million accessions"). Please make sure the teams involved are happy to have those stated publicly.
| /** Associated tools in alphabetical order, opened in a new tab; the last entry is the learn page. */ | ||
| const TOOLS_MENU_ITEMS: NavLinkItem[] = [ | ||
| { | ||
| label: "Bushwacker", |
There was a problem hiding this comment.
Naming question: this matches the URL (bushwacker), but the tool's own site spells it "Bushwhacker". Could the tool's name be aligned with its URL, so there's one spelling?
There was a problem hiding this comment.
i actual think its the gh url that needs updating
| workflows in this catalog. They complement the hosted analysis environment: | ||
| every one is web-based, and most run entirely in your browser via WebAssembly, | ||
| so your data never leaves your device. They're also available as tools on | ||
| usegalaxy.org for users who prefer that, or as local installs for batch and |
There was a problem hiding this comment.
Required: a search of usegalaxy.org's and usegalaxy.eu's public tool lists found HyphAeon and ChronAeon on usegalaxy.org and RhizAeon on usegalaxy.eu only. It found nothing for WALRUS, TRACE-5.0 or Bushwacker. Could you name the tools that have Galaxy wrappers, here and in the Privacy section, or drop the claim?
| /** | ||
| * "Tools" is a dropdown where the header has room for it; at `sm` it collapses | ||
| * into "More" with the primary links, and at `xs` the drawer lists it as a | ||
| * link, since the drawer renders no menus. |
There was a problem hiding this comment.
Optional: findable-ui 60.0.1 does render menus in the drawer (NavigationDrawer) and submenus inside a dropdown (NavigationMenuItems with isSubMenu). So a single "Tools" entry with menuItems might work at every width, letting phone users reach a tool in one tap. Either is fine, but if you keep the link, please correct the comment.
| @@ -311,7 +311,7 @@ def open_source(source: str) -> Iterator[io.BufferedIOBase]: | |||
| response.raise_for_status() | |||
| # urllib3 closes the body at its last byte, but gzip reads once more. | |||
| response.raw.auto_close = False | |||
There was a problem hiding this comment.
Optional: with the types-requests version CI pins, mypy passes on this file without the cast. Consider dropping it here, or moving it to its own PR that names the setup where mypy complains.
| StartIcon: InventoryIcon, | ||
| href: "/learn/associated-tools", | ||
| secondaryText: | ||
| "Sequence search, selection analysis, recombination scanning, and transmission surveillance tools supported by BRC Analytics.", |
There was a problem hiding this comment.
Optional: this leaves out phylogenetic inference (Bushwacker), which the page itself includes.
i think eventually our logan search page becomes the new logan-search.org . we can update the leaern page again then w new features or something if needed but i think the canonical place to point to for logan search is and should remain logan-search.org |
The tool's own site and the upcoming preprint spell it Bushwhacker; rename it in the Tools menu, the Associated Tools page, the What's New card and the PrimAeon cross-link (the veg.github.io/bushwacker URL is unchanged). Also bring the Learn cards in line with the rewritten pages: the Logan Search card no longer promises export, and the Associated Tools card now mentions phylogenetic inference so all six tools are covered.
they will be, this is happening in parallel |
veg.github.io/chronaeon is live, so list it alongside the other tools: a menu entry (alphabetical, after Bushwhacker), a table row and Choosing-a-tool bullet on the learn page, and mentions in the What's New card, the Learn card and the PrimAeon cross-link.
adds tools menu w links out to some things sergei built recently, and to logan-search.org .. also adding associated news and learn pages. plus something mypy was complaining about