virtual-pcr-sim — Virtual PCR 시뮬레이션Lab

Wallace + SantaLucia NN + Owczarzy Mg²⁺-corrected Tm, cycle-by-cycle (1+E)^n amplification, gel band SVG, and Learning/Sandbox mode toggle (zero external libs, ko/en/ja).

Tm = ΔH / (ΔS + R·ln(C/4)) − 273.15 + 16.6·log₁₀([Na⁺])

Virtual PCR Simulation

Mode:
Cycle00/30·1.0K copies

Gene Auto-Search

20 popular gene fixture + NCBI Entrez direct search. Auto-fills primer / amplicon / anneal temp.

Note: NCBI search needs NCBI_API_KEY in .env.local + Vercel env. 20 popular genes work without a key.

Tm Calculation

Fwd (20 nt, SantaLucia NN)45.9
Rev (20 nt)45.9
Δ from Mg²⁺ (Owczarzy)+-1.0

⚠ Warning — Ta > Tm+5℃. Primer binding failure (learning mode). Lower Ta to Tm-5℃.

Ta - Tm = 9.1 ℃ / binding eff = 0%

Amplicon Exponential Growth — (plateau applied)

010203010^010^3Cycleamplicon copies

Gel Electrophoresis

10kb5kb3kb2kb1.5kb1kb700bp500bp400bp300bp200bp100bp0 cyc10 cyc20 cyc30 cyc

Key terms (hover) — 24

tmprimerDimergcClamptaqannealingampliconwallacennsantaLuciaowczarzydenatureextendmisprimingefficiencyhdrplateaugelBandmgCorrectionentrezrefseqgeneSymbolmRNAhousekeepinggeneAutoSearch

Tool Guide

Definition

virtual-pcr-sim is a free PCR simulator that renders the three-step cycle (Denature 95°C / Anneal Tm−5°C / Extend 72°C) as a node graph with cycle-by-cycle (1+E)^n amplification and gel band SVG. Full Tm stack — Wallace 1979 (≤14 nt) 2(A+T)+4(G+C), SantaLucia 1998 nearest-neighbour ΔH/ΔS + Na⁺ correction, Owczarzy 2004/2008 Mg²⁺ correction — all self-implemented in JS. Learning mode (default, guard box on Tm violation) and Sandbox mode (multi-band free exploration) toggle supports both undergrad baseline learning and free inference (zero npm).

Purpose

(1) NEB Tm Calculator / Thermo Primer Analyzer — English-only and not visual → ko/en/ja interactive entry (2) Undergraduate textbooks teach only Wallace → step up to NN + Mg²⁺ correction (3) Abstract PCR cycles → gel band visualisation makes amplicon exponentiation intuitive (4) Learning mode = Tm−5°C guard box (undergrad baseline) / Sandbox mode = Ta=40°C violations free for multi-band exploration (self-directed inference) (5) HDR efficiency 5-38% slider (Chen 2017 + eLife 2014) — donor concentration baseline (6) Zero external libs

How to Use

① Pick a mode in the top-right toggle — 🎓 Learning (default, guard box) / 🔬 Sandbox (free exploration, multi-band) ② Enter the primer sequence (5-50 nt) + Mg²⁺ concentration slider (0-5 mM) + Na⁺ concentration ③ Tm auto-calculated — Wallace (≤14 nt) / SantaLucia NN (≥14 nt) + Owczarzy Mg²⁺ correction ΔTm shown ④ Enter the anneal temperature → recommended Tm−5°C. Learning mode: violation triggers binding failure + ko/en/ja guard box / Sandbox mode: non-specific multi-band, no warning (self-directed) ⑤ Extension Efficiency E slider (0.6-0.95, Henegariu 1997) + cycle count (10/20/30) → amplicon (1+E)^n auto ⑥ Gel band SVG (cycle 0/10/20/30 comparison) — in-house SVG `<rect>` ⑦ Hover 18 academic terms (Tm / primer dimer / GC clamp / Taq / annealing / amplicon / Wallace / nearest-neighbor / SantaLucia / Owczarzy, etc.) ⑧ sessionStorage `bp_pcr_mode` saves mode + `bp_intro_shown_virtual-pcr-sim` IntroAnimation

Examples

Example 1) Wallace 20 nt ACGTACGTACGTACGTACGT → Tm = 2·10 + 4·10 = 60°C (undergrad baseline) Example 2) SantaLucia NN 24 nt GC=12 → matches R primer3 ±0.5°C Example 3) Owczarzy Mg²⁺ 1.5 mM correction → ΔTm > 0 (Mg²⁺ ↑ ⇒ Tm ↑) Example 4) Learning mode + Anneal Tm+5°C violation → binding failure + ko/en/ja guard box Example 5) Sandbox mode + Ta=40°C → non-specific multi-band, no warning (self-directed inference) Example 6) 30 cycles + E=0.95 + initial 100 → amplicon ≈ (1.95)^30 × 100 ≈ 4.3 × 10¹¹ (exponentiation verified)