NGS-Agent / GeneOS
“A finished pipeline is not automatically a trustworthy result.”
A bioinformatics side project for reading sequencing run evidence
> 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
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.
The order matters. Each step is what earns the next one the right to run.
- 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.
- 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.
- 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.
- 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, 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
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
Aletheia
A small experiment in making coding agents check their work