Skip to content
View andreaderuvo's full-sized avatar
  • Italy

Block or report andreaderuvo

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
andreaderuvo/README.md

Andrea de Ruvo

Bioinformatician. At work I write the software behind genomic surveillance of foodborne and zoonotic bacteria — Salmonella, Listeria, Klebsiella — for One Health outbreak investigation: typing, distances, trees, and the pipelines that run them. In my spare time I build self-hosted tools for working with AI coding agents.

Bioinformatics

Mostly Rust, where a cgMLST matrix of tens of thousands of genomes has to fit in a coffee break. Published under genpat-it.

  • cgDist — distances between cgMLST/wgMLST profiles counted in SNPs and indels, not just differing alleles, by aligning the alleles that differ. Finer resolution where outbreak clusters are decided. de Ruvo et al. (2025), bioRxiv, 10.1101/2025.10.16.682749.
  • chewcall — a cgMLST/wgMLST allele caller with SIMD Smith-Waterman scoring: 10.7–22.3× faster than chewBBACA, with the same DNA sequences called.
  • mm2-geo — geometry-guided band doubling for minimap2's gap-filling DP: faster, with identical variant-calling F1.
  • cgmlst-dists-rs · cgmlst-dists-py — pairwise Hamming matrices for cgMLST: AVX-512 in Rust (~6× the C cgmlst-dists, byte-identical), GPU in Python.
  • dist2mst-rs · grapetree-rs · ohe-rs — minimum spanning trees, GrapeTree's engine and one-hot encoding of allele profiles, rewritten for speed.
  • CoreGuard — compares SNP calls from several variant-calling pipelines against a ground truth and shows where they disagree.
  • cohesive-llm — a self-hostable platform that writes Nextflow DSL2 pipelines from a description, with its benchmark.
  • Platform comparison — bacterial and viral genomic-surveillance platforms compared, every value backed by a cited source.

Several of these are on Bioconda (cgmlst-dists-py, dist2mst, dist2mst-rs, ohe-rs).

In my spare time: Argus

Argus — the workspace around your AI agents

Argus is a self-hosted workspace around the AI coding agents and other processes already running in tmux: terminal sessions, files, reports, alerts and hand-offs together, on desktop or phone, with no hosted control plane. It came out of long genomics jobs and agents running on a lab server that I wanted to follow from anywhere.

  • Argus Fleet, powered by Panoptes — one board for several Argus machines, ordered by which one needs you.
  • argus-sync — a folder of an Argus server kept in sync with your computer, both ways, on macOS, Windows and Linux.

Other things I make

  • Assembly Studio — browser-based 3D CAD assembly with optional FreeCAD verification.
  • FreeCAD Timing Belt Generator — parametric timing belts for the common tooth profiles.
  • AgID LLM UI — an experimental machine-readable design system for Italian public-administration interfaces.

I care about tools that are inspectable, durable and useful beyond the machine on which they were created.

Popular repositories Loading

  1. freecad-timing-belt-generator freecad-timing-belt-generator Public

    FreeCAD macro for generating timing belts - GT2, T2.5, S3M, MXL and more

    2

  2. rc_car_tracking rc_car_tracking Public

    Jupyter Notebook 1

  3. miniautodromoteramo.github.io miniautodromoteramo.github.io Public

    HTML

  4. andreaderuvo.github.io andreaderuvo.github.io Public

    Source code of

    HTML

  5. jscourse jscourse Public

    HTML

  6. jslab jslab Public

    JavaScript