How it works — Bio-Scry
/ Under the hood

A full scientific stack, running in-process on the phone.

For the technically curious: here's how Bio-Scry runs whole-genome pipelines on an iPhone, with nothing offloaded to a server.

Everything runs on the phone

A full scientific stack — an embedded Python runtime, native compute, and Metal GPU kernels — executes locally. Nothing is offloaded to a server, and no code is downloaded at runtime; all logic ships in the app.

GPU-accelerated

The heaviest steps — read overlap, consensus and alignment — are accelerated on the phone's GPU via Apple's Metal, so the Spine assembler finishes a whole genome in about a minute and a half on-device.

Memory-disciplined

The pipelines are engineered to stay within a phone's memory budget, so full genomes assemble on-device without crashing.

Deterministic & versioned

Reference databases carry version manifests, and results record the exact versions used — so a run is reproducible and citable.

See it working

The whole workflow, on one screen.

A track-based genome browser renders GC content, read depth, variants, restriction sites and the raw sequence — all computed and drawn on the device, offline.

  • Linear & circular views
  • Jump by gene, locus or ACGT motif
  • Draggable selection down to the base
Genome browser
/ The Spine assembler, step by step

From raw reads to a finished, circular genome.

Spine is a complete overlap–layout–consensus assembler. Every stage is engineered to run in a phone's memory budget, and the whole thing finishes in about a minute and a half on a recent iPhone.

01

Intake & coverage

Reads are streamed in, longest first, and coverage is capped to what the genome needs — so repeats can be spanned without wasting memory on redundant depth.

02

All-vs-all overlap

Every read is compared against every other to find where they overlap — GPU-accelerated, in-process, with no temporary files written to disk.

03

Layout

The overlaps are threaded into long contigs. The chromosome and each plasmid fall out as separate paths — no manual binning.

04

Consensus

At each position, the reads that cover it vote on the correct base. An iterative pileup turns the draft into an accurate sequence, one contig's worth of memory at a time.

05

Close the circles

Bacterial replicons are circular. Spine detects where a contig's ends overlap, joins them, and trims the duplicated seam — turning a linear draft into a true circular molecule.

06

Reorient to origin

Each replicon is rotated to begin at its replication-origin gene (dnaA for the chromosome, repA for plasmids), so coordinates line up with public reference genomes.

More on the Spine assembler →