Multiplex PCR
Marked experimental: the surface can change.
A multiplex fails on the pairs nobody checked.
| Reached by | Tools → Multiplex PCR |
| Sample project | Multiplex pool design · Primer test |
What it does
Two things, in order.
It screens. Give it a set of primers and one or more templates and it finds every pair that amplifies, on every template, within the size window you set — including the pairings you did not intend. A forward primer meant for one gene and a reverse primer meant for another will amplify the span between them if that span is short enough, and in a shared tube it does exactly that. Each product is listed with its size and position, drawn on the map, and placed on a virtual gel.
Then it pools. Given those reactions it works out which of them can share a tube. Two reactions that each work perfectly alone can be impossible together, and the reason is almost never obvious from looking at the primers: one primer's 3′ end anneals inside the other reaction's amplicon and primes on it, or two primers form a blunt end-to-end dimer and consume each other, or the two products are 30 bp apart and you cannot tell the bands apart on a gel. The panel measures each of those, splits the reactions into tubes where none of them happens, and colours the map by tube.
When you'd use this
Used in: Design primers, simulate the PCR, and predict the band
- A diagnostic panel. Several loci, one reaction per sample, read off one gel — genotyping, pathogen panels, colony screens across a plate. You need to know which assays can travel together.
- Checking a primer set you inherited. Before ordering, screen the whole set against the template and see what it actually makes rather than what the spreadsheet says it makes.
- Deciding how many tubes an assay needs. The answer is a property of the primers, not a preference, and tightening the stringency shows you what it costs.
What this computes
Two questions, in order, and it keeps them apart.
The screen — what amplifies at all
- Every primer pair that produces a product, on every template, within your size window, including the pairings you did not intend: a forward primer meant for one gene and a reverse meant for another amplify the span between them if it is short enough, and in a shared tube they do
- Each product's size and position, drawn on the map and placed on a virtual gel, so "can I tell these bands apart" is answered by looking rather than by arithmetic
- Which products a gel cannot separate, named as a pair with both sizes. Looking is the right first answer, but it is not a reliable one for two bands a few tens of bp apart, so the reading states them: the criterion is the same one the screen uses to call two sizes distinguishable — the sizes must differ by at least 20 % of the larger — and it is applied to the products the pool actually made, not only to the pairs meant to tell templates apart. On a four-gene lac-operon pool this is not hypothetical: the lacA product at 560 bp and the lacY product at 650 bp differ by 90 bp where the rule needs 130, so those two arrive as one band
- The dimer verdict, always — including when nothing amplified. A pool that produced no product can still be a pool full of primer-dimers, and those are different failures with different fixes, so the headline reading carries the worst offending pair and its temperature rather than leaving it to be found in the matrix
- Primers that bind nowhere, by name — in the tube, taking no part, and still free to dimerise with the primers that work — and primers that bind in more than two places, which is the pool failure that is not a dimer
- Which primers stopped producing products when you raised the 3′-match requirement, by name
The pooling — what can share a tube
Every reason two working reactions cannot be combined is measured, not assumed, and each one is its own switchable cutoff:
- Primer–primer, both 3′ ends — a blunt 3′–3′ dimer, where each primer extends on the other
- Primer–primer, one 3′ end — one primer's 3′ end annealing anywhere on the other
- Primer–primer, anywhere — any duplex between two primers, extendable or not, because it still takes primer out of the reaction
- Primer–product, 3′ end and primer–product, anywhere — a primer priming on, or binding into, another reaction's amplicon
- Cross-dimer Tm, the same two questions on primer3's scale as temperatures rather than energies. A clean matrix is a statement about those limits, not a promise about the gel. They are set at 35 °C for a 3′-paired dimer and 45 °C anywhere, which is where primer3 rejects a pair while primers are being picked — a stricter question than whether a dimer band appears. Against a published set of 48 primer pairs run out on a gel (Johnston et al., Scientific Reports 9, 2019), 23 produced a visible primer-primer band and none of them passed either limit. So the matrix names the strongest interaction it actually found in your pool, and you should read that number rather than only the verdict: a pool whose hottest cross-dimer is 30 °C is a different proposition from one at 4 °C, even though neither trips a limit
- Band separation and band spread — the smallest size difference a gel can resolve, and the largest one extension time can serve
- Primer Tm spread, since one annealing temperature must suit every reaction in the tube. Each reaction is judged by its weaker primer, which is what actually sets that temperature
The pools themselves: which reactions share which tube, under your max pools and max per pool bench constraints, with the map coloured by tube.
Whose limits judged it is a control, not a default — MultiPLX's High / Normal / Low presets or primer3's structural limits, and editing any cutoff switches the label to Custom so a mixed set never reads as a published one. A cutoff switched off is not applied at all, and switching one on starts it at a value measured from your own products — the closest band gap, the current spread — rather than a number chosen for you.
Where it lives
Tools → Multiplex PCR, in the right-hand rail. Build the pool from primers you have saved, from primers annotated on the open molecule, from the current selection (as a forward or a reverse), or by pasting bases. Templates come from the open sequence or from anything else you add.
Products are drawn on the canvas as their own track — a ring on the circular map, a labelled lane in the linear and sequence views — so a product is visible where it happens rather than only in a table. After pooling, each product is coloured by the tube it belongs to and its tooltip names that tube in words. Selecting a tube dims the others and narrows the gel to that tube's bands, which is the lane you would actually load.
Inputs and outputs
In: two or more primers (any length the thermodynamic aligner takes, up to 60 nt), one or more templates, linear or circular. A 3′-match setting controls how much of a primer's 3′ end must match before it counts as annealing.
Out: the predicted products with their sizes and coordinates, each one openable as a project of its own; per-primer binding-site counts across all templates (a primer that binds in several places cannot anchor a clean product); the all-against-all cross-dimer table; the diagnostic pairs that tell two templates apart by product size; a virtual gel; and, after pooling, the tubes with the reason for every split.
What it refuses, and says so: a primer shorter than the 3′-match setting is named as unable to anneal rather than quietly producing no product. A product on a template other than the one open in the editor is listed and explicitly not drawn, because drawing another molecule's coordinates on this one would be right about the numbers and wrong about everything else. If no partition fits your limits, the panel names the cutoff that rejected the most pairs and lists the reactions it could not place — it never returns an empty pool.
Demo
No screencast exists for this tool. The worked example below is the next best thing and it is reproducible: it runs on a starter project shipped with the app, and the numbers in it are the ones the panel returns.
Worked example
Open the Multiplex pool design starter. It is the E. coli lac operon (GenBank J01636, 7,477 bp) with its four annotated genes, and one primer pair per gene. The panel opens with all eight primers pooled and lac as the template.
Screen pool returns eight products, not four: the four intended ones at 240, 420, 560 and 650 bp, plus four longer cross-pairings (lacI forward with lacZ reverse at 1,625 bp, and so on) that genuinely amplify inside the default 50–5,000 bp window. All eight are real; a tube makes what it makes.
Group into pools at Normal stringency puts those eight reactions into four tubes and reports 14 incompatible pairs kept apart. Open Why they were split and every one names its cutoff and its measured energy — mostly primer-against-product, which is what you would expect when the long cross-products contain the short ones' primer sites.
Raise the stringency to High and more reactions separate. Turn on Band separation and set it to 150 bp: the 560 and 650 bp products are 90 bp apart, so they are forced into different tubes even though their thermodynamics are fine.
Controls
| Control | What it changes |
|---|---|
| 3′ match | How many 3′-terminal bases must match for a primer to count as annealing. Raise it and marginal primers stop producing products — the panel names which ones. |
| Product size | The window a product must fall in to be reported. |
| Buffer (Na⁺, Mg²⁺, dNTPs, primer concentration) | The reaction the thermodynamics describe. Every ΔG and Tm on the panel moves with it. |
| Compatibility limits | Which authority's cutoffs judge the pool: High / Normal / Low (MultiPLX's own presets) or primer3's structural limits. Editing any cutoff switches the label to Custom. |
| Max pools / Max per pool | The bench constraint — how many tubes you are willing to run and how many reactions fit in one. |
| Primer–primer, both 3′ ends | Rejects pairs whose primers form a blunt 3′–3′ dimer, where each can extend on the other. |
| Primer–primer, one 3′ end | Rejects pairs where one primer's 3′ end anneals anywhere on the other. |
| Primer–primer, anywhere | Rejects any duplex between two primers, extendable or not — it still takes primer out of the reaction. |
| Primer–product, 3′ end | Rejects a primer whose 3′ end anneals inside another reaction's amplicon. |
| Primer–product, anywhere | Rejects any duplex between a primer and another reaction's amplicon. |
| Cross-dimer Tm, anywhere / 3′ end | The same two questions on primer3's own scale, as melting temperatures rather than energies. |
| Band separation (ladder) | The smallest product-size difference you can resolve on a gel. |
| Band spread (range) | The largest difference one extension time can serve. |
| Primer Tm spread | How far apart the reactions' primer Tms may be, since one annealing temperature has to suit them all. Each reaction is judged by its weaker primer, which is what sets that temperature. |
A cutoff switched off is not applied at all. Switching one on starts it at a value measured from your own products — the closest band gap, the current spread — rather than a number chosen for you.
Algorithms you can choose
Two calibrations, and they disagree on purpose.
- MultiPLX's stringency presets (High / Normal / Low) are the compatibility model this panel implements: five interaction energies with a cutoff each, from Kaplinski & Remm's multiplex grouping tool.
- primer3's structural limits judge the same reactions by melting temperature instead — the thresholds primer3 itself applies to cross-dimers.
The reason both are offered: MultiPLX's cutoffs were calibrated against MultiPLX's own nearest-neighbour tables, and the energies here come from primer3's. Measured across MultiPLX's own 100-primer demo set, our values run 1.6–3.5 kcal/mol less negative depending on the score, so applying the MultiPLX presets to these numbers is somewhat more permissive than MultiPLX would be. Rescaling the presets to hide that would mean inventing constants, so instead both scales are available, the difference is stated, and every cutoff is yours to set.
The science
The five interactions. For any two reactions in a tube, the panel measures the strongest duplex that can form in each of five configurations: the two primers' 3′ ends against each other; one 3′ end against any part of the other primer; any part of either primer against the other; a primer's 3′ end against the other reaction's amplicon; and any part of a primer against that amplicon. Each is reported as ΔG in kcal/mol, where more negative means more stable and therefore worse, and each is the worst case over every primer and product the two reactions put in the tube.
Where the energies come from. All of them are computed by primer3's thal nearest-neighbour
alignment engine (SantaLucia's parameters, with the salt and magnesium corrections the buffer
controls set). This is the same engine behind the dimer columns in the Primer Designer, so a pool's
numbers agree with the designer's instead of contradicting them. Its results are checked
byte-for-byte against primer3's own C code.
Aligning a primer against a whole amplicon is the same engine, not an approximation: one side of a thermodynamic alignment may be a full-length product while the other is an oligo.
The grouping is a deterministic packing: reactions are ordered by how many partners they conflict with, each is placed in the first tube with room and no conflict, and a second pass re-places anything left over once the tubes are fuller. MultiPLX's own grouper is a randomised optimiser; this one is not, which is why it gives the same answer every time you run it. What is guaranteed is that every tube it returns breaks no cutoff, and that it needs no more tubes than MultiPLX does on the same table — both checked against the MultiPLX program itself.
Provenance. The compatibility model, its stringency presets and its file formats are MultiPLX 1.4's; the thermodynamics are primer3's; the product prediction is validated against pydna. The cutoff values and the verification report are checked against the MultiPLX program's own output.
Limitations
- The pool ΔG scale is primer3's, not MultiPLX's. See Algorithms you can choose: the presets are more permissive here than in MultiPLX, by a measured amount. If you are reproducing a published MultiPLX grouping, expect our tubes to be no more numerous and possibly fewer.
- Nested amplicons can never be multiplexed, and the panel is right to say so. If your targets overlap — several products inside one locus, as a colony-screen primer set usually is — every pair will conflict on primer-against-product and you will get one tube per reaction. That is the correct answer, not a failure to find a grouping.
- The custom score column is not offered. MultiPLX allows a user-supplied score as a ninth cutoff, read from a score file. This panel computes every score itself, so there is nothing to supply.
- Primers longer than 60 bases cannot be aligned thermodynamically; the panel says so rather than scoring them as clean.
- Cost grows with the square of the pool. Every primer is aligned against every other reaction's amplicon, so a large pool takes a noticeable moment to group.
Compared with other tools
Not written. A comparison row needs a first-party source and a retrieval date, and no vendor page has been read for this tool yet — so the honest state is a gap rather than a recalled claim. What can be said without a sweep is on this page already: the compatibility model and its stringency presets are MultiPLX's, and where our numbers differ from MultiPLX's the difference is measured and stated above.
Taking one amplicon out of the screen
A screen predicts every compatible pair on every template, which is often dozens of molecules you have no intention of building. So there is no "make projects from this run" button, and that is a deliberate choice rather than a missing feature: it would mint a project per predicted product and bury the two things you actually came for, the table and the gel.
What you usually want is one of them — the amplicon you picked out, to order, to BLAST, or to clone into something. Every row in the products table carries an action that opens exactly that amplicon as a new project:
- The sequence is read off its own template, including the case that catches people out: an
amplicon whose primers straddle the origin of a circular plasmid. Its span reads as though it runs
backwards (
3293–1276on a 4,361 bp vector) and the product is the two arcs joined, which is what the molecule in the tube will be. - Both primer-binding sites are annotated on the product, in the product's own coordinates, with the reverse primer on the reverse strand.
- The construction is recorded, exactly as an Amplify run would record it: the template as the parent it came from, both primers as the reagents that made it. Open the History & Provenance tool on the new project and the step is there, so a construct you later assemble from this amplicon can be traced back to the plasmid it was screened off.
The amplicon is identified by its position in the run rather than by the names in the table, which matters if two of your templates happen to share a name — a common enough thing when both are called insert. Naming would silently read the wrong molecule and give you a product of exactly the right length made of the wrong bases.
![]()
Export
The pool itself has no file export yet. What leaves the panel today is the screen beneath it: the product table, the per-primer binding counts and the cross-dimer matrix, alongside the virtual gel. A tube is a list of reactions you can read off the panel and the map, and the reactions themselves are already primers you have — so nothing is lost, but there is no "order this pool" file.
API
Not documented here. This page is about the method; the programmatic entry points live in the API section of the site.
Automation
Not available. Pooling runs from the panel only — there is no batch path over many primer sets and no workflow node for it yet. The screen it consumes is scriptable; the partition is not.
Provenance
A pool is not written into the document. The tubes, the cutoffs that produced them and the violations that split them live in the panel for the session, and the amplicons they colour are a prediction drawn on the map rather than an annotation of the molecule. To keep a pooling decision, record the stringency and any cutoffs you changed — with the same primers and the same buffer the partition is reproducible, because the algorithm is deterministic.
Screenshots
The panel as the starter opens it — nothing typed in.
After Group into pools. The dots carry the tube colours used on the map.
Tubes on the canvas, so a reaction's tube is visible where the product is.
Every limit is a control. A cutoff switched on starts from a value measured off your own products.
Related
Feeds it: Primer Designer designs the pairs, and Primer Library is where a pool is assembled from oligos you already have. Follows it: PCR Simulation for one reaction in detail, and Digest & Gel for the bands. An alternative to it: running each reaction separately — which is what the panel tells you to do when nothing fits.
In this group: Primer Designer · LAMP primer set · Bisulfite methylation primers · Degenerate primers from an alignment · CODEHOP hybrid primers from a protein alignment · Primer Library · PCR Simulation · Fusion PCR · qPCR Design · Digital PCR · Amplification Curves → Cq · Melt Curves → Tm · Droplet gating → concentration · Droplet classification · Melting Temperature