All projects
Project 03 · 2026

NGS-Agent / GeneOS

“A finished pipeline is not automatically a trustworthy result.”

A bioinformatics side project for reading sequencing run evidence

Instrument readout
> rule ....... AUD-STRAND-01
> file ....... 751e79c3d819
> line ....... 28
> verdict .... FIX AND RE-RUN
Project
03
Category
Bioinformatics
Year
2026
Status
In progress
License
Apache-2.0
Built with
Python 3.11+ · FastAPI
The problem

I study bioinformatics, and one thing I keep coming back to is how much a sequencing result depends on the small files and settings around it.

A pipeline can finish successfully while a naming mismatch, a strandedness setting, or a low-quality input quietly changes what the result means.

NGS-Agent, also called GeneOS in my notes, is an attempt to read those run artefacts and logs with explicit checks. It is less about replacing a bioinformatics workflow and more about making its awkward details easier to inspect.

How it works

The order matters. Each step is what earns the next one the right to run.

  1. 01

    Identify by content

    FastQC zips, MultiQC reports, run folders, VCFs and workflow logs are recognised by what they are, not by a flag you have to remember.

  2. 02

    Apply named rules

    Six read-quality rules, ten cross-file run-audit rules, five VCF call-quality checks. Each rule has an ID you can look up.

  3. 03

    Diagnose the log

    Nextflow, Snakemake and Cromwell logs are matched against ranked failure signatures to produce one root cause — or an honest unknown with the log tail attached.

  4. 04

    Cite the receipt

    Every finding reports its rule, the source file, the line, and a content hash. Example: QC-QUAL-01 @ fastqc_data.txt:line=28 — mean 17.8 at position 40-49 (threshold Q20).

Claims

Claims, and how you'd check them

A claim without a way to test it is marketing. Each of these has a method.

Findings can be checked, not just trusted

check · Rule ID, file, line and content hash on every finding

Unrecognised input returns unknown rather than a guess

check · Exit code 2 means the input could not be interpreted

Runs inside an existing pipeline

check · nf-core process with a read-only root filesystem; findings don't fail the run unless you opt in

Core makes no network calls

check · It reads results and uploads nothing

What it doesn't do

The scope of a tool is part of its honesty. These are the edges of NGS-Agent / GeneOS, stated by the person who wrote it.

  • It reads results — it does not run or orchestrate pipelines
  • No variant interpretation, gene context or ACMG classification
  • A healthy call-quality verdict says nothing about pathogenicity
  • WDL source is recognised but not statically analysed
Read the sourceAll projects
Next project

Aletheia

A small experiment in making coding agents check their work