Summary
A multi-organisation platform where genomic sample files are uploaded and checked against known mutation sequences for configured genes. A dedicated matching service scans each gene region of a sample and produces a report of which genes, and which associated conditions, show a match.
Context
Genetic research produces large variant files, and the questions asked of them are precise: does this sample contain this known mutation in this gene? Can the same check be run again, the same way, on the next sample?
The client needed a platform that could take those files from several organisations, run the checks reliably, and present the results in a form researchers can use.
What N-Thesis delivered
N-Thesis built the platform and the matching engine behind it.
- A portal where organisations upload samples, run predefined reports and read the results
- Administration of organisations, users, genes, known mutation sequences and report definitions
- Large-file uploads that go straight to file storage, with sample files indexed automatically on arrival
- A matching service that reads the relevant region of each sample for every gene in a report and compares it with the known mutation sequences
- Asynchronous report runs with status tracking, so long jobs do not block the user
- Work on the matching algorithm that decides whether a sample contains a specific mutation
- Upload
An organisation uploads a variant file; it is stored and indexed automatically.
- Report request
A predefined report selects the genes and known mutations to check.
- Parallel matching
For each gene, the sample’s region is read and compared with known mutation sequences.
- Report
Matched genes and their associated conditions, with the run tracked to completion.
The difficult problem
Variant files are large and a report covers many genes. The matching service reads only the indexed region it needs for each gene, rebuilds the sample’s sequence for that region, and checks it against each known mutation using configurable windows and thresholds.
That work runs in parallel worker pools sized to the machine. Getting the concurrency right, so that jobs keep flowing without deadlocks and progress can be reported, was a substantial part of the engineering.
Algorithmic work in a scientific domain also has to be reasoned about in the terms of that domain. A change to the matching logic has to make sense for the data it reads and the mutation it looks for, not only pass in code.
Results and delivered capability
A working platform that turns uploaded variant files into gene-by-gene mutation reports, built as research tooling.
We do not describe it as a diagnostic product, and we make no claims about clinical or regulatory validation or about the accuracy of the algorithm.