Flagship platform
VNX-DNA
Software for the digital side of DNA data storage. It packs files into a verifiable archive, encodes them as DNA strands, passes them through simulated storage and sequencing, and reconstructs them from noisy reads.
Product overview
VNX-DNA is CPU-only and runs without a GPU or a laboratory. It reports success only after verification and otherwise refuses to write output. Optional C kernels accelerate alignment, read parsing, Reed-Solomon decoding and consensus; without a compiler, bit-identical NumPy references run instead.
Scope.Simulated, not physically validated. No strand has been synthesised, stored, amplified or sequenced by VNX-DNA, and none of the channel models is fitted to a measured platform.
Interactive pipeline
Digital file
Files and directories enter as ordinary bytes.
The archive engine packs files and directories into a VNX4 container with compression, optional AES-256-GCM encryption and deduplication, and records a Merkle tree over the content.
- Interface
vnx archive · vnxdna.archive- Reference
- docs/ARCHIVE_ENGINE.md
- Stage
- 1 of 10
Illustration
Read the molecule
This model spells the bytes of “VNX” at two bits per base. Drag to rotate it and select any rung to see which base it holds and what it encodes. It is a scientific illustration, not a model of a real sample.
Proportions follow B-DNA: about 10.5 base pairs per turn, antiparallel strands, and an offset between them that forms the major and minor grooves.
Technical detail
Each part links to the document in the repository that defines it.
One codec, two interfaces: the vnx command line and the vnxdna.sdk Python API. Formats are stable since VNX-DNA 4 (VNX4 container, strand frame 4, superblocks 1 and 2), and V4 and V5 archives still decode. Archive byte identity across V6 to V9 is pinned by compatibility tests.
The default profile v4-balanced writes 313-nucleotide strands carrying 14 bytes of header and CRC each, with synchronisation markers. With two 20-nt primers a strand would be 353 nt, above a common 350-nt pool limit; primers are specified but not yet emitted.
An outer MDS erasure code spans strands (64 data plus 16 parity per group in v4-balanced) and an inner Reed-Solomon code with CRC protects each strand. The opt-in V6 product code decoded 20 of 20 seeds up to 16 % i.i.d. strand loss in simulation.
Reads are clustered without relying on headers, aligned by a native kernel, and passed through marker-based synchronisation and dynamic programming to handle insertions and deletions.
Indel-aware consensus rebuilds each strand from its cluster. Consensus V2 (V9) raised pooled oracle recovery efficiency from 0.488 to 0.575 over 600 paired simulated cases with no false success.
Every success is gated by SHA-256 and Merkle verification. A PARTIAL result writes only files that verified individually; a FAILURE writes nothing.
Hypotheses and stopping rules are pre-registered before evaluation decodes. Results are committed with seeds, host load and commit identifiers, and a reproduction script re-derives the reported numbers.
Encryption uses AES-256-GCM with keys derived through HKDF and scrypt; key custody is the user's responsibility. The optional VNX-Secure control plane is described, with its limits, on its own page.
- No physical DNA. No strand has been synthesised, stored, amplified or sequenced by VNX-DNA. Every channel result is simulated or derived from public data.
- Channel models are stress models. None of the 14 shipped channel models is fitted to a measured sequencing platform.
- Nanopore-like reads are not decoded. The simulated nanopore-like model decoded 0 of 20 at coverage 3, 5 and 10 in the V6 measurements.
- Large archives under noise. Under the D13-F1 stress channel at coverage 10, whole-archive success fell from 28/30 at 20 KB to 2/30 at 1 MiB, because every row must decode.
- One host, one architecture. Timings come from a shared x86-64 development host. Native kernels were built and tested on x86-64 only.
- No external review. Neither VNX-DNA nor VNX-Secure has been peer reviewed or independently audited.
Evaluate it
The source is public. Installation and the command reference are in the documentation.
Validate it with us
If you run synthesis or sequencing, we would like to test VNX-DNA against real reads under a shared protocol.