# EMSA Analyzer (emsa-analyzer.com) > Browser-only tool that quantifies an EMSA gel image, fits a binding curve and reports Kd > with a bootstrap 95% CI. A second tab measures the integrated intensity of any band on any > gel. Nothing is uploaded; all processing runs in the page. This file is for assistants helping someone use the tool. The illustrated version is https://emsa-analyzer.com/guide/ — one page, screenshots of every step, same URL scheme as the app. Images are at https://emsa-analyzer.com/guide/img/ (see the guide page). ## Facts - Input: JPEG, PNG or 16-bit TIFF. Dark bands on a light background. - Tabs, left to right: EMSA analysis (Kd from one gel) | Overlay (compare titrations) | Triplicate (replicate statistics) | Band Analyzer (intensity per band on any gel). - Outputs: annotated gel PNG, binding-curve PNG, quantification CSV, band-intensity CSV. - Nothing is placed automatically. "Detect" buttons are a starting point; the user confirms and corrects by hand. Lanes are added by DOUBLE-CLICKING the image. ## Get a Kd (EMSA analysis tab) Shortcut: "Auto analyse" (under the crop and area buttons) straightens a little (at most 2 degrees, relative to any rotation already set) so each lane runs straight through its own bound and free bands, draws the EMSA area around the lanes and bands (several loadings side by side become one area) and detects lanes and bands inside it; if the user has drawn an EMSA area it works inside that area instead. RECOMMENDED ORDER: crop, draw the EMSA area, then Auto analyse. Without a drawn area lane and band detection is much less reliable. The user then checks and corrects. "Reset lanes, bands & settings" returns to a freshly loaded image (placements, concentrations, area, rotation and background defaults); the crop stays. 1. Upload: drop the image on the panel. 2. Crop, and rotate if necessary: "Crop image", drag a box around the gel so the plate edge is left out; the "rotate" slider straightens tilted lanes (grid lines and a live preview show while dragging; safe at any time). "Reset crop" restores the full frame. 3. EMSA area: "Draw EMSA area", drag a box around ONE titration from the wells down past the free probe. Lanes, bands and background are confined to it; the image is not cropped again. 4. Exclude artefacts: "Draw exclusion region", drag a box over bubbles, fingerprints or reflections (the example gel has a pale reflection at the top of lanes 1-2). Those pixels are dropped from every integration. Each region is listed with a remove control. 5. Lanes: double-click each lane centre, left to right. Drag the round handle to adjust; set "lane width" so strips cover bands without overlapping. "Detect lanes" places evenly spaced lanes inside the EMSA area; reliable with an area drawn, otherwise check the count. 6. Bands: "Detect bands" gives a red BOUND window and a green FREE window. Drag the BOUND/FREE arrow handles so each window encloses its band in every lane. If the complex sits in the wells and smears beneath them, drag the bound window down to take in the smear; make the free window tall enough to include the tail above partially bound bands. 7. Background (optional): the wave button next to a lane opens its "bg trace" (grey raw, black after rolling ball, blue dashed ALS baseline). Baseline should sit just under the black trace between bands. Controls: Rolling ball radius (keep > widest band, default 100 px); ALS smoothness lambda (higher = straighter, default 1e5 - lowering it makes the baseline climb into wide bands and lose signal); asymmetry p (default 0.01). Defaults are right for most gels. 8. Concentrations: one per lane, 0 for the no-protein control. Unit selector on the left. [DNA] is only needed for the tight-binding model. 9. Fraction bound definition, then fit: "Bound / total" = bound/(bound+free), self-normalising but assumes equal label brightness in both bands. "Free depletion" = 1 - free/free(ref), reads only the disappearance of free probe: use it when the complex smears, super-shifts or sits in the wells, or when binding changes probe brightness (the example gel uses it; the reference lane defaults to the lowest [protein]). The fit appears after 3+ concentrations: Kd, bootstrap CI (single gel), plateau, baseline, Hill n, R2, and the isotherm. Models: Hill (default), Hyperbolic, Tight-binding. Heed "Kd is poorly constrained": top point < ~10x Kd means saturation is not reached and Kd is uncertain regardless of R2. 10. Export: Download gel (annotated PNG), Download curve (PNG with parameters and the fraction definition), Download CSV (lane,[protein],bound,free,total,fraction_bound), Add to overlay / Add to triplicate. 11. Second EMSA on the same gel: "Reset lanes, bands & settings" (image and crop stay), then "Draw EMSA area" around the other titration and repeat from step 4. Send both to Overlay to compare. ## Measure any band (Band Analyzer tab) 1. Upload. The analysis area starts as the WHOLE frame: "Draw analysis area" and drag it around the gel so plate edges and wells stay out of the background fit. 2. "Detect lanes", or double-click OUTSIDE a lane to add one; double-click INSIDE a lane to drop a box on a band (lane-wide, "lane box height" tall). Drag boxes vertically; edit height in the table. 3. Table: raw sum, background, net intensity per box; Download CSV includes pixel coordinates. Same background trace and rolling-ball/ALS controls as the EMSA tab; the trace shades where that strip's boxes sit. Boxes in one lane alternate red and blue from the top, on the gel and on the trace, so neighbouring boxes are easy to tell apart. 4. "Draw free box": drag a rectangle around any band to measure it without lanes (stays on until clicked again). Drawn boxes are dashed, drag in both directions, are listed as strips F1, F2, ... with their own background trace, and each gets its own baseline down its column. "Lane box height" resizes every lane box at once; drawn boxes keep their size. 5. "Reset lanes, boxes & settings" (top of the side panel) clears placements and restores lane width, box height, area, rotation and background defaults; "New image" starts over. ## Troubleshooting - Detect lanes wrong count -> place lanes by double-click. - Fraction bound not monotonic -> a band window misses part of a band; widen it, check trace. - Net intensity ~0 for a visible band -> box off the band, or lambda too low. - Band Analyzer vs EMSA values differ -> different window heights; match them to compare. - Kd differs between the two fraction definitions -> label brightness differs between complex and free probe; prefer Free depletion. ## Links - App: https://emsa-analyzer.com - Guide with screenshots: https://emsa-analyzer.com/guide/ - About (what it does, how it compares with ImageJ): https://emsa-analyzer.com/about/