← All posts · Michael Baffour Awuah

Free & open source · MIT · v.rev-1

Gibson reactions,
drafted like a blueprint.

Enter each fragment's length and concentration. Read off the exact microlitres to pipette — vector, inserts, and water — at NEB-recommended molar ratios. A faithful browser port of the Barrick Lab spreadsheet math: no .xlsx, no server, nothing leaves your machine.

TypeStatic single page
Data pathStays on device
NetworkOffline-ready
~30s
to set up a reaction — not a spreadsheet detour
3
molar limits enforced on every vector mass
×N
master-mix scaling for batch reactions
0
dependencies, servers, or accounts
Sheet 01 — Parts schedule

Every part the calculator carries, and nothing it doesn't

The molar-ratio math done correctly on every keystroke, plus the bench conveniences the spreadsheet never had. Each line is a discrete, testable capability.

A-01

Live recalculation as you type

Volumes, masses, and pmol amounts update on every keystroke. There is no "calculate" button to forget — the answer is always current, and a cell gives a small visual cue the moment the reaction becomes solvable.

A-02

NEB fold excesses by default

The vector sits at 1×; inserts default to 5× if ≤ 200 bp and 2.5× otherwise, exactly as NEBuilder recommends. Every fold excess is overridable per row, and the fold actually used is printed back in its own column.

A-03

Custom molar ratio

One optional input applies a custom fold excess to every insert without a per-row override — useful when your protocol calls for a ratio other than the NEB defaults. Leave it blank and the standard defaults stand.

A-04

Add and remove fragments freely

Start with a vector and one insert; add rows for as many fragments as your assembly needs. The first row is always the reference vector and is protected from deletion, so the math never loses its anchor.

A-05

Editable vmax

The volume available for fragments defaults to 5 µL — leaving room for a 1.33× master mix — but you can set it to whatever your protocol uses. The water volume falls out automatically so your total always lands on target.

A-06

Master mix for N reactions

Enter a reaction count and a scaled per-component table appears, so you pipette one batch instead of running the numbers N times. The export gains a matching ×N column. The single-reaction math is untouched.

A-07

Printable protocol

One click opens a clean, self-contained page with your reaction parameters and volumes table — including the ×N master-mix column when it applies — and hands it to your browser's print or "Save as PDF" dialog for the bench.

A-08

CSV export & clipboard copy

Export the full result table as CSV, or copy it tab-separated straight into a lab notebook or spreadsheet. Roles, labels, lengths, concentrations, fold, volume, mass, and pmol amount all come along — plus the water row.

A-09

Named presets

Save a reaction setup under a name and reload it later — stored in your browser via localStorage, so your go-to constructs are one click away. Presets carry the newer parameters too, and older saved presets still load cleanly.

A-10

One-click worked example

Load a three-fragment example — a 7 kb vector and two inserts — to see a full reaction solved end to end. The fastest way to sanity-check the tool against a case you can reason about before trusting it with your own numbers.

A-11

The three molar limits, shown

The vector mass m1 is the minimum of a volume limit, a molarity limit, and a hard 100 ng cap. The chosen pmax and resulting m1 are surfaced in the parameters panel, so you can see which constraint is binding.

A-12

Runs entirely client-side

The whole thing is HTML, CSS, and one small JavaScript file. No backend, no analytics, no network call after the page loads. It's an aria-live results region too, so screen-reader users hear updated volumes as they type.

Why this exists

Ben's spreadsheet, and a promise I made to myself

Before every cloning reaction there's a small ritual I never really chose. Open the Gibson spreadsheet. Type in the vector's length and concentration. Type in each insert. Squint at the molar-ratio column, confirm the fold excesses are the ones I meant, and copy the microlitres onto a scrap of paper by the pipette. Dull, quick, and exactly the kind of task where a tired brain makes a quiet mistake.

For years the spreadsheet I opened was Ben's Gibson Assembly calculator from the Barrick Lab's cloning protocol, and I want to be clear: it's excellent. The method it encodes is sound — genuinely the reason my reactions work at all. Ben and that spreadsheet have quietly helped an enormous number of grad students and postdocs get their cloning right, mine included. This whole page is, more than anything, a thank-you note.

The math is not hard. That's exactly why it's dangerous — beneath your attention, but able to quietly ruin an experiment.

The problem was never the math

The problem was, honestly, me and Excel. I have a small, stubborn wish to never open a spreadsheet again if I can possibly avoid it. A `.xlsx` is a wonderful place to author a formula and a slightly awkward place to use one at the bench — three tabs deep, cursor in the wrong cell — when all you want is one instant answer to "how much of each do I pipette?"

The formula itself is compact: the volume of the n-th fragment is v_n = (f_n · l_n / c_n) · (m_1 / l_1), with the vector mass m_1 the minimum of three limits — a volume limit, a molarity limit from p_max, and a hard 100 ng cap. Every piece is knowable, and every piece is a place to fat-finger a decimal at six in the evening. The real cost was never the minutes; it was not quite trusting the number — re-checking it, doubting it — instead of it being a solved problem.

A faithful port, not a reinvention

So I did what I've started doing whenever a small, repeated task keeps costing more than it should: I took the spreadsheet's math and rebuilt it as a browser tool. Underneath, it's a faithful port of the Barrick Lab spreadsheet — the same formula, the same three limits, the same conversion constant. I didn't want to improve the method; I wanted to reproduce it exactly and wrap it in something quicker to use. All credit for the method stays with Ben and the Barrick Lab.

On top of that faithful core I added what I kept wishing the spreadsheet had: a custom molar ratio for protocols that deviate from the NEB defaults, a master-mix multiplier so a plate of N reactions is one number instead of N, a printable protocol you can save as a PDF, CSV export, and named presets for constructs I build over and over. None of it is clever — that's the point. The value is in the sum being instant, correct, and reproducible.

A note on how it was built

I'm a scientist who's gotten good at building small tools, not a career software engineer — and I build these with AI assistance, which is the honest reason a bench frustration can turn into a working calculator in an afternoon. The idea, and the decision to port Ben's math faithfully rather than reinvent it, are mine; the AI was the implementation partner. It runs, it's already saved me more time than it took to build, and it turned a recurring source of quiet error into a solved problem.

All credit for the underlying method goes to Ben and the Barrick Lab. Read the original cloning protocol at barricklab.org. This tool is a homage — the math is theirs; only the spreadsheet is gone.

Sheet 03 — Assembly sequence

Open it and set up a reaction in six steps

The interface should be self-explanatory. If it isn't, that's a bug — tell me on GitHub.

STEP 01

Open it in your browser

Click through. No download, no account, no sign-up. It's a static page and works entirely offline once loaded — nothing you type ever leaves the tab.

STEP 02

Enter your vector first

The first row is the reference vector. Type its length in bp and concentration in ng/µL. No true vector? Use the largest fragment as row one.

STEP 03

Add your inserts

Click Add a fragment for each insert and fill in length and concentration. Fold excesses default to the NEB recommendation; override any per row.

STEP 04

Tune the parameters

Adjust v_max if your protocol differs, set a custom molar ratio if you need one, and enter a reaction count to see the scaled master-mix table.

STEP 05

Read off the volumes

The µL to pipette for each fragment — and for water — appear live as you type. The vector mass and binding molar limit are shown in the parameters panel.

STEP 06

Export, print, or save

Copy the table to your clipboard, export a CSV, print a formatted protocol, or save the whole setup as a named preset in your browser for next time.

Ready to run

Set up your next reaction in thirty seconds.

Free, open-source, and it runs entirely in your browser. Nothing to install, nothing to open in Excel.

STATIC · CLIENT-SIDE · MIT LICENSED · DATA STAYS ON YOUR MACHINE