Skip to content

feat!(config, website): split mutation search by segment and remove segment prefix#5936

Merged
anna-parker merged 34 commits intomainfrom
search_ui_demo
Feb 17, 2026
Merged

feat!(config, website): split mutation search by segment and remove segment prefix#5936
anna-parker merged 34 commits intomainfrom
search_ui_demo

Conversation

@anna-parker
Copy link
Copy Markdown
Contributor

@anna-parker anna-parker commented Feb 4, 2026

resolves #5842, #5945, #5943

Summary

A. Allows mutation search for multi-seg, multi-ref organisms without having to select all references.

  1. SearchUI is now split between sample and sequence related fields, in turn sequence-related fields are split between segments. Each segment has its own mutation search field and reference seletor in the case it has multiple references.
  2. Url parameters are now adapted to have mutation_<segmentName> in the case where an organism has multiple segments.
  3. The segment prefix is removed from mucleotide mutations as the segment is now known from the mutation box, this is also extended to the sequenceDetails page to allow easier copying of mutations.
  4. Insertions and deletions are now also split by segment on the sequenceDetails page.
  5. The mutation info box now included a list of valid names

B. It is now possible to configure segment and reference displayNames which are shown in the searchUI and reference selection dropdowns and on the sequenceDetails page (in the mutation section)

Screenshot

Screen.Recording.2026-02-13.at.09.49.52.mov

Config Changes

Metadata relating to the sequence should now be marked with the argument isSequenceFilter: true (the default is false):

- name: length
  perSegment: true

becomes

- name: length
  isSequenceFilter: true
  perSegment: true

If a sequence-related field should be created/shown only for one segment add the field relatesToSegment: S. Additionally, the config will now populate preprocessing args related to the reference and segment for you from these fields, this means you should change:

- name: lineage
  preprocessing:
    args: 
      segment: S
    inputs: {input: nextclade.clade}

to:

- name: lineage
  isSequenceFilter: true
  relatesToSegment: S
  preprocessing:
    inputs: {input: nextclade.clade}

This is also true for fields with onlyForReference, for example:

- name: clade_cv_a16
  onlyForReference: CV-A16
  preprocessing:
    args:
      reference: CV-A16
    inputs: {input: nextclade.clade}

can be changed to:

- name: clade_cv_a16
  onlyForReference: CV-A16
  preprocessing:
    inputs: {input: nextclade.clade}

If you would like to use a displayName instead of the segment or reference name you can add this to the referenceGenomes section, for example:

referenceGenomes:
- name: M
        displayName: M segment
        references:
          - name: MH396653
            displayName: "M (MH396653.1)"
            sequence: "[[URL:https://corneliusroemer.github.io/seqs/artefacts/cchf/M/MH396653/reference.fasta]]"
            insdcAccessionFull: MH396653.1
            genes:
              - name: GPC
                sequence: "[[URL:https://corneliusroemer.github.io/seqs/artefacts/cchf/M/MH396653/GPC.fasta]]"

PR Checklist

  • All necessary documentation has been adapted.
  • The implemented feature is covered by appropriate, automated tests.
  • Any manual testing that has been done is documented (i.e. what exactly was tested?) -> see preview

🚀 Preview: https://search-ui-demo.loculus.org

@claude claude Bot added deployment Code changes targetting the deployment infrastructure website Tasks related to the web application config Configuration related issues, i.e. helm processing labels Feb 4, 2026
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Feb 4, 2026

This PR may be related to: #5566 (feature: add option to hide metadata fields from web interface)

@anna-parker anna-parker added the preview Triggers a deployment to argocd label Feb 4, 2026
@anna-parker
Copy link
Copy Markdown
Contributor Author

anna-parker commented Feb 5, 2026

Comments from @rneher and @theosanderson in https://loculus.slack.com/archives/C094HTT8XEJ/p1770225352248569 (I made issues only for the more complicated sections:

Other issues:

  • Make aligned sequence download segment-dependent (now need to select references for all to download any sequence)
  • Fix integration tests

@anna-parker anna-parker changed the base branch from calculate_gca_groups to add_count February 5, 2026 10:31
@anna-parker anna-parker changed the title feat(config): add new metadataScope param feat(config, website): multi-seg, multi-ref searchUI mockup Feb 6, 2026
@anna-parker anna-parker force-pushed the search_ui_demo branch 2 times, most recently from ce85872 to cf49f1e Compare February 6, 2026 17:36
@anna-parker anna-parker removed the preview Triggers a deployment to argocd label Feb 6, 2026
Comment thread kubernetes/loculus/values.yaml Outdated
@anna-parker anna-parker force-pushed the add_count branch 2 times, most recently from cac6268 to 97235ea Compare February 12, 2026 14:49
@anna-parker anna-parker changed the base branch from add_count to main February 12, 2026 19:15
@anna-parker anna-parker added the preview Triggers a deployment to argocd label Feb 12, 2026
Comment thread website/src/components/SearchPage/DownloadDialog/DownloadForm.tsx Outdated
Comment thread website/src/components/SearchPage/ReferenceSelector.tsx
@anna-parker anna-parker changed the title feat(config, website): multi-seg, multi-ref searchUI mockup feat!(config, website): multi-seg, multi-ref searchUI mockup Feb 13, 2026
@anna-parker anna-parker changed the title feat!(config, website): multi-seg, multi-ref searchUI mockup feat!(config, website): split mutation search by segment and remove segment prefix Feb 13, 2026
@anna-parker anna-parker marked this pull request as ready for review February 13, 2026 13:12
@theosanderson
Copy link
Copy Markdown
Member

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9fa4c93d8d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread website/src/components/SearchPage/SearchForm.tsx Outdated
Comment thread website/src/components/SearchPage/SearchForm.tsx Outdated
theosanderson and others added 2 commits February 17, 2026 16:25
resolves #

### Screenshot

### PR Checklist
- [ ] All necessary documentation has been adapted.
- [ ] The implemented feature is covered by appropriate, automated
tests.
- [ ] Any manual testing that has been done is documented (i.e. what
exactly was tested?)

🚀 Preview: https://search-ui-demo-thoe.loculus.org
@theosanderson
Copy link
Copy Markdown
Member

@codex review

Copy link
Copy Markdown
Member

@theosanderson theosanderson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b2db5e3b8a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread website/src/components/SearchPage/SearchForm.tsx
Comment thread website/src/components/SearchPage/SearchForm.tsx
…cting a reference (#5986)

resolves #5980

### Screenshot
<img width="1744" height="1340" alt="image"
src="https://github.com/user-attachments/assets/4ff62e3f-da8e-4fab-b5a3-52ffec3c915b"
/>


### PR Checklist
- [x] The implemented feature is covered by appropriate, automated
tests.
- [x] Any manual testing that has been done is documented (i.e. what
exactly was tested?)

🚀 Preview: https://allow-download-all.loculus.org
@anna-parker anna-parker merged commit 2fee507 into main Feb 17, 2026
44 checks passed
@anna-parker anna-parker deleted the search_ui_demo branch February 17, 2026 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config Configuration related issues, i.e. helm processing deployment Code changes targetting the deployment infrastructure preview Triggers a deployment to argocd website Tasks related to the web application

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-segment, multi-reference: Allow users to search for mutations in one segment without having to select references for other segments

2 participants