CAD for DNA
and mRNA.

Assemble a construct from parametric parts rather than typing characters. Nucleora re-checks it against 23 design constraints on every edit, folds and simulates it, and writes a release record that records every check, waiver and source.

23 constraint rules · 38 workspace views · 39 RefSeq codon tables · Browser or desktop app

Every figure below is counted from this build. The command that produced it is printed underneath.

Nucleora 0.11.0
1,609
Registered backend routes, of which 1,589 are distinct /api/* paths.
server.py → app.url_map.iter_rules()
38
Workspace views in the application shell.
static/index.html → distinct data-view attributes
422
Python modules in the analysis engine.
find engine -name '*.py'
23
Design constraint rules — 16 hard, 7 guideline. Listed in full below.
engine/cad_constraints.py → RULES
39
Species codon-usage tables tallied from RefSeq coding sequences.
data/codon_tables/*.json (excluding 5 codon-pair-score files)
256
Golden Gate overhangs in the ligation-fidelity matrix (Potapov et al. 2018).
data/golden_gate_overhang_ligation_matrix_potapov2018.csv
517
Calculations with a recorded source, formula and code reference.
data/provenance_registry.json → calculations
239
Of those 517, the number labelled heuristic rather than published or derived.
provenance_registry.json → is_heuristic = true
7,636
Coding sequences tallied across the 28 codon tables.
sum of n_cds across data/codon_tables/*.json

A construct is a design, not a string of characters.

Nucleora holds a DNA or mRNA construct as a parametric document: promoter, 5′ UTR, coding sequence, 3′ UTR, poly(A) tract, backbone, each with its own parameters and its own source.

The nucleotide sequence is a rendering of that document. Change the poly(A) target length and the sequence regenerates. Swap the host and the coding sequence is re-optimised against that host's codon table. The two stay in sync in both directions — edit the sequence and the part boundaries follow.

On every edit the constraint engine re-evaluates all 23 rules against the current document and returns one of four verdicts for each — PASS, WARN, FAIL or NA — with the evidence that produced it. Sixteen rules carry hard severity: an unwaived hard failure blocks the build, and the document reads blocked until every one of them is explicitly waived. Seven carry guideline severity: they are reported but do not block. Every waiver is recorded against the document revision.

RNA secondary structure is folded through ViennaRNA on Nucleora's servers. In-vitro transcription is simulated against the template to produce a yield estimate and a manufacturability grade. The result is a release record: the document revision, every rule verdict, every waiver, every simulation output, and the bill of materials, exportable as GenBank, FASTA, SBOL 2 or SBOL 3.

38 workspace views. One document model.

Cloning, codon optimisation, CRISPR design, gel and sequencing QC, phylogenetics, protocols and release — all acting on the same construct.

Nucleora dashboard showing recent constructs, quick actions and recent analyses

HOME — Dashboard and project overview

Nucleora Design Studio showing cloning, codon optimisation and sequence editing

DESIGN STUDIO — Cloning, codon optimisation, mutagenesis

Nucleora sequence editor showing an mRNA linear view with a feature map

SEQUENCE EDITOR — mRNA linear and IVT plasmid circular views, with auto-annotation

Nucleora sequencing QC view aligning a read set to the reference design

ANALYSIS & QC — Align sequencing results to the design, classify every variant

Home & Projects
1 / 4

The complete rule set. All 23 of them.

Not a sample. This is every rule registered in engine/cad_constraints.py, with the severity each one carries. An unwaived hard failure blocks the build; a guideline failure is reported but does not block. Each rule returns its evidence and a citation alongside its PASS / WARN / FAIL / NA verdict.

CONSTRAINT REGISTRY  ·  RE-EVALUATED ON EVERY EDIT 23 RULES
engine/cad_constraints.py — RULES registry, 16 hard / 7 guideline
Rule idTitleSeverity
kozak_contextKozak context must precede the start codonHARD
bacterial_rbs_presentBacterial CDS must be preceded by a Shine-Dalgarno RBSHARD
no_internal_sdNo internal ribosome-binding (SD-like) site inside a bacterial CDSGUIDELINE
frame_preservedReading frame preserved across every junctionHARD
no_premature_stopNo premature stop codon inside the coding sequenceHARD
gc_windowGC content within a synthesizable rangeGUIDELINE
no_strategy_site_collisionNo restriction-site collision with the chosen cloning strategyHARD
no_cryptic_polyaNo cryptic poly(A) signal inside the coding sequenceGUIDELINE
packaging_capacityViral payload within the vector's packaging capacityHARD
promoter_host_matchPromoter host must match the codon-optimization hostHARD
terminator_presentTranscription terminator / poly(A) signal present and downstreamHARD
methylation_blockingDam/Dcm methylation must not block the strategy's restriction enzymeGUIDELINE
insert_no_premature_stopInsert CDS must contain no premature in-frame stop (checked before assembly)HARD
insert_gc_windowInsert GC should sit inside the synthesis vendor's window (before assembly)GUIDELINE
backbone_marker_presentBackbone must declare a selection marker (checked at selection time)HARD
codon_host_coherenceCodon table used should match the host the backbone declares (before assembly)GUIDELINE
mrna_utr5_uorf_burden5'UTR should carry no upstream AUG that competes with the main start codonHARD
mrna_polya_tail_lengthEncoded poly(A) tract should sit inside the design windowHARD
mrna_cap_compatibilityTranscript 5' end must be compatible with the selected capping chemistryHARD
mrna_dsrna_propensityTranscript should not show a high dsRNA-forming propensity indexGUIDELINE
mrna_runoff_template_integrityIVT template must support run-off transcription to a defined 3' endHARD
gateway_site_integrityGateway vectors must carry their recombination sites (attP + ccdB / attL / attR + ccdB)HARD
lentiviral_elements_presentLentiviral transfer vectors must carry LTRs and the packaging signal (cPPT / WPRE raise titre and expression)HARD

Severity counts: 16 hard, 7 guideline. Rule ids and titles are read verbatim from the registry — nothing on this list is illustrative.
Rules that depend on an optional component (RNA folding, for example) return NA rather than PASS when that component is absent.

517 calculations, each one labelled.

Every quantity Nucleora computes is registered with a formula, a code reference, a source list and a status. The status says what kind of thing the number is — a published method, a physical definition, a library lookup, a deterministic computation, or a heuristic.

239 of the 517 carry the heuristic flag. That is 46% of everything the application calculates, and the application says so at the point of use: a heuristic result carries a disclosure in the interface naming what it approximates and why.

Source: data/provenance_registry.json, last updated 2026-08-14. All 517 entries carry a non-empty sources list.

HEURISTIC 207
PHYSICS_DEFINITION 114
ANCHOR 64
PUBLISHED 63
LIBRARY 34
DETERMINISTIC 20
COMPOUND LABELS 15

Seven segments, 517 entries, no remainder. The registry uses 12 distinct status values; the six largest are named above, and the remaining 15 entries carry compound labels — PUBLISHED-inspired / HEURISTIC (10), LITERATURE (1), PUBLISHED-inspired / ANCHOR (1), ANCHOR / HEURISTIC (1), HEURISTIC / ANCHOR (1) and LIBRARY / HEURISTIC (1).
The separate is_heuristic boolean is true for 239 entries. 207 of those carry status HEURISTIC outright; the other 32 carry a different status — ANCHOR (10), PUBLISHED-inspired / HEURISTIC (10), PHYSICS_DEFINITION (4), LIBRARY (2), PUBLISHED (2) and four one-off compound labels — but are flagged heuristic because the formula behind them is approximate.

Nothing to install. Nothing left on your laptop.

Nucleora runs as a hosted service. You work in a browser or the desktop app, and the computation happens on Nucleora's servers.

Hosted, not installed

Open app.nucleora.org in a current browser. The 422-module engine, the codon tables and the constraint registry run server-side, so every tester is on the same build and there is nothing to update.

The device holds nothing

The desktop app is a window onto the same service. It stores no password, no session token and no copy of your sequences or projects. Sequences you compute are sent to Nucleora's servers; the Privacy page says where.

Every number is attributable

All 517 registered calculations expose their formula, code reference and sources from inside the interface. The 239 heuristics are labelled as heuristics where they are used.

Full workbench during testing

Closed testing, access on request. All 38 workspace views are available to testers — there is no reduced tier. Academic and commercial use are both in scope.

39 codon tables. 194,152 coding sequences.

Tallied directly from RefSeq CDS records, not modelled or interpolated. Each table reports the number of coding sequences behind it, so you can see which ones are thin before you rely on them.

data/codon_tables/ — species tables, by CDS count
OrganismCDS tallied
Arabidopsis thaliana27,203
Danio rerio24,939
Rattus norvegicus22,804
Mus musculus22,121
Cricetulus griseus20,316
Homo sapiens20,015
Caenorhabditis elegans19,963
Drosophila melanogaster13,882
Saccharomyces cerevisiae5,955
Komagataella phaffii5,032
Escherichia coli str. K-12 substr. MG16554,286
Mycobacterium bovis1,229
Mycobacterium tuberculosis472
Acinonyx jubatus250
Anolis carolinensis250
Bos taurus250
Elephas maximus250
Gorilla gorilla250
Gymnogyps californianus250
Ovis aries250
Panthera leo250
Phascolarctos cinereus250
Sus scrofa250
Tursiops truncatus250
Vulpes vulpes250
Equus caballus249
Panthera tigris249
Canis lupus familiaris248
Felis catus248
Loxodonta africana248
Macaca mulatta248
Mustela putorius furo248
Ursus maritimus248
Ailuropoda melanoleuca247
Ambystoma mexicanum247
Pan troglodytes241
Ceratotherium simum201
Giraffa camelopardalis7
Procyon lotor6

Two of the 39 tables are built from fewer than ten coding sequences — Giraffa camelopardalis at 7 and Procyon lotor at 6. A table that thin is not a reliable usage distribution, and Nucleora shows the CDS count next to the table rather than hiding it.

Eleven of the tables, including human, mouse, rat, CHO, zebrafish, yeast and E. coli, are tallied from a whole RefSeq genome assembly, and each records its assembly accession. Where a species has no table, Nucleora names the proxy it falls back to instead of substituting one silently.

Alongside the 39 usage tables, the build ships 4 codon-pair-score tables (human, mouse, yeast, chicken) derived from 40–60 reference sequences each, plus one placeholder file that is empty and is not used.

Browse the codon usage data →

Paste a sequence. See a subset of the checks.

This runs in your browser on this page. It is a small preview of composition and sequence checks — not the 23-rule constraint engine, which requires the application.

0 nt
Paste a sequence above — checks run as you type.

Runs entirely in your browser; nothing is sent anywhere. Input is capped at 2,000 nt.

What this is not.

Design software can be wrong in ways that only show up at the bench or in a subject. These are the boundaries of what Nucleora can tell you.

Not a medical device

Nucleora is research and design software. It is not a diagnostic, not a therapeutic, and not a component of one. No output of this software is clinical advice or a clinical decision.

No regulatory clearance or certification

Nucleora holds no FDA clearance or approval, no CE marking, no ISO certification and no SOC 2 attestation. It has not been validated against any of them. The application implements an e-signature and chain-of-custody workflow modelled on 21 CFR Part 11 §11.50 and §11.200; implementing a workflow is not the same as being a validated system, and binding it to your organisation's identity provider and validating it remains your responsibility.

It does not assess biosafety

Nucleora performs no biosafety, biosecurity, select-agent or dual-use screening. It will not tell you whether a construct is hazardous, whether a sequence is controlled, or whether the work is permitted at your institution. It does not substitute for synthesis-provider screening.

It does not predict behaviour in a living system

Off-target effects, immunogenicity, integration, toxicity, persistence and expression in a cell, animal or person are outside what this software models. Folding, yield and manufacturability figures describe the molecule, not the organism it is put into.

Every construct goes through your own IBC

A passing constraint check is a statement about a design document, not an authorisation. Review, approval and oversight of the work remain with your institutional biosafety committee and the applicable regulators in your jurisdiction.

46% of its calculations are heuristics

239 of the 517 registered calculations are labelled heuristic. They are useful for comparing options and ranking designs. They are not measurements, and they should not be the sole basis for an irreversible decision.

Nucleora is in closed testing at version 0.11.0. Interfaces, defaults and outputs are expected to change between releases.
If a figure on this site cannot be reproduced from the build, we would like to know: [email protected].

Where the build stands.

Version0.11.0 — from the repository VERSION file
StageIn development. Closed testing, access on request. No public release has shipped.
PlatformsA web browser, at app.nucleora.org. A desktop app is built but not yet code-signed, so it is not offered for download.
Folding engineViennaRNA, a declared dependency of the server build (requirements.txt). If it is unavailable, folding-dependent rules report NA rather than passing.
Export formatsGenBank, FASTA, SBOL 2, SBOL 3
BenchmarksNot published on this page. No timing, accuracy or throughput figure is claimed here because none has been measured under a stated protocol.

Common questions.

0.11.0 · closed testing Request access