Skip to content

feat(silo): remove insertion and mutation field from responses - #1408

Merged
fengelniederhammer merged 1 commit into
mainfrom
1403-remove-insertion-field-from-insertions-response
Jul 29, 2026
Merged

feat(silo): remove insertion and mutation field from responses#1408
fengelniederhammer merged 1 commit into
mainfrom
1403-remove-insertion-field-from-insertions-response

Conversation

@fengelniederhammer

@fengelniederhammer fengelniederhammer commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

resolves #1403

Summary

Removes the specialized insertion field from insertions / aminoAcidInsertions responses and the mutation field from mutations / aminoAcidMutations responses. These were redundant concatenations (ins_<seq>:<pos>:<symbols> and <from><pos><to>) that clients can reconstruct from the remaining fields (sequenceName, position, insertedSymbols; mutationFrom, position, mutationTo).

BREAKING CHANGE: Insertions response: removed insertion field. Mutations response: removed mutation field. The string was constructed from information that is still present in the response.

PR Checklist

  • All necessary documentation has been adapted or there is an issue to do so.
  • The implemented feature is covered by an appropriate test.

@fengelniederhammer fengelniederhammer changed the title feat: remove insertion and mutation field from responses feat!: remove insertion and mutation field from responses Jul 29, 2026
@fengelniederhammer fengelniederhammer changed the title feat!: remove insertion and mutation field from responses feat: remove insertion and mutation field from responses Jul 29, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the query-engine response schema for mutations/aminoAcidMutations and insertions/aminoAcidInsertions by removing redundant, client-reconstructible string fields (mutation and insertion). This aligns the public query API with the issue request (#1403) and reduces response duplication.

Changes:

  • Removed computed mutation field from mutations outputs and validation/schema handling.
  • Removed computed insertion field from insertions outputs and schema handling.
  • Updated unit tests, E2E expected outputs, and query documentation to reflect the new response schema.

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/silo/query_engine/optimizer/node_resolution_pass.cpp Drops default/validated use of the removed mutation field and updates the validation error text.
src/silo/query_engine/operators/unresolved_mutations_node.h Removes mutation from unresolved mutations output schema.
src/silo/query_engine/operators/unresolved_insertions_node.h Removes insertion from unresolved insertions output schema.
src/silo/query_engine/operators/mutations_node.h Removes MUTATION_FIELD_NAME and updates valid/output fields accordingly.
src/silo/query_engine/operators/mutations_node.cpp Stops emitting the formatted mutation string value (and removes now-unused fmt include).
src/silo/query_engine/operators/insertions_node.h Removes INSERTION_FIELD_NAME from the insertions schema.
src/silo/query_engine/operators/insertions_node.cpp Stops emitting the formatted insertion string value (and removes now-unused fmt include).
src/silo/query_engine/operators/union_all_node.test.cpp Updates unionAll test query/result to avoid removed mutation field usage.
src/silo/query_engine/operators/schema_node.test.cpp Updates schema expectations to no longer include mutation/insertion.
endToEndTests/test/queries/sequenceStartEndMutations.json Removes mutation from expected mutation responses.
endToEndTests/test/queries/nOf_2of3_mutations.json Removes mutation from expected mutation responses.
endToEndTests/test/queries/aaMutDistribution*.json Removes mutation from expected AA mutation responses and adjusts ordering expectations where needed.
endToEndTests/test/queries/insertionsAction*.json Removes insertion from expected insertion responses and updates ordering queries accordingly.
endToEndTests/test/queries/aaInsertionsAction*.json Removes insertion from expected AA insertion responses and updates ordering queries accordingly.
documentation/query_documentation.md Removes documentation/examples for the redundant mutation/insertion output fields.

Comment thread src/silo/query_engine/operators/mutations_node.h

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 22 out of 22 changed files in this pull request and generated no new comments.

@fengelniederhammer
fengelniederhammer marked this pull request as ready for review July 29, 2026 08:33
@github-actions

Copy link
Copy Markdown
Contributor

This is a preview of the changelog of the next release. If this branch is not up-to-date with the current main branch, the changelog may not be accurate. Rebase your branch on the main branch to get the most accurate changelog.

Note that this might contain changes that are on main, but not yet released.

Changelog:

0.13.0 (2026-07-29)

⚠ BREAKING CHANGES

  • preprocessing: the database config options defaultNucleotideSequence and defaultAminoAcidSequence have been removed. sequenceName is now required on all nucleotide and amino acid filters (nucleotideEquals/aminoAcidEquals, hasMutation/hasAAMutation, insertionContains/aminoAcidInsertionContains, symbolInSet and the mutation profile filters).

Features

  • 1403 wip (bb890a7)
  • app: add a --version command to the silo binary (8b3146e)
  • preprocessing: remove default sequence names from database config (#1386) (b8712ec)
  • silo: allow updating of string columns (818a737)

@fengelniederhammer fengelniederhammer changed the title feat: remove insertion and mutation field from responses feat(silo): remove insertion and mutation field from responses Jul 29, 2026

@taepper taepper left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@fengelniederhammer
fengelniederhammer merged commit 72fca9f into main Jul 29, 2026
35 checks passed
@fengelniederhammer
fengelniederhammer deleted the 1403-remove-insertion-field-from-insertions-response branch July 29, 2026 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove insertion field from insertions response

3 participants