Plot Results
Interactive multi-parameter trade-off explorer, Pareto optimization, and candidate distribution tool for antibody screening.
This tool enables scientists to dynamically plot and evaluate any computed or experimental developability metrics against one another, identify property trade-offs, explore single-metric distributions, and visualize multi-dimensional candidate distributions without relying on external spreadsheet software.
Accessing the Tool
From the Project View, select one or more antibodies (or leave unselected to plot the full project). Go to the Analysis menu and select Plot Results. This will open the Plot Results workspace in a new tab.

Using the Tool
Plot Results offers an interactive Chart.js canvas with comprehensive controls to customize axes, regression models, categorical groupings, and bubble dimensions.
Chart Modes
- 2D Scatter Plot: Correlates any two numeric properties on customizable X and Y axes for visual Pareto optimization and trade-off screening.
- Box Plot: Compares property distributions across categorical groups (e.g. Parent Clone, Germlines, Species, Score Tiers) with overlaid interquartile range (\(Q_1\) to \(Q_3\)), median, mean, min/max whiskers, smooth kernel density violin contours, and jittered individual candidate data points.
- Distribution / Histogram: Bins candidate values into dynamic frequency histograms to assess population spread for any single metric.
- Bar Ranking: Displays a sorted, ranked bar chart of all candidates for quick comparative ranking.
Metric Selection & Axis Scaling
Metric menus for the X-Axis, Y-Axis, and Size strictly follow the left-to-right canonical column order of the results grid:
- Genetic Origin: V-Gene and J-Gene percent identity (%id) across Light and Heavy chains.
- Nearest Neighbor: Sequence distance to the nearest reference or parental sequence.
- CDR Lengths: Individual CDR lengths (L1–L3, H1–H3) and total CDR sum.
- Stability: AbLang2 and AbLang framework/full scores, severe framework violation counts, and disrupted salt bridges.
- Surface Properties: Spatial patch metrics (SPH, SPP, SPN, SPCD) and DeepSP surface descriptors.
- Predicted Biophysical Properties: All 10 developability and machine learning models prefixed with
PB:(e.g. PB: Hydrophobicity, PB: Colloidal Stability, PB: Self-Association, PB: Polyreactivity, PB: Cross-Interaction, PB: Thermostability, PB: Expression Titer, and PB: Viscosity at 150 mg/mL) to distinguish computational predictions from actual experimental metadata. Warning: Predictions for Expression Titer and Thermostability (Tm) have lower reliability and should be treated as informational only rather than definitive criteria. - Cysteines & Potential PTMs: Quantitative liability counts (unpaired/unusual cysteines, deamidation, isomerization, N-glycosylation, oxidation, hydrolysis, fragmentation).
- Humanness Score: OASign humanness metrics (VL, VH, and combined Fv).
- Physical Properties: Isoelectric point (pI Bjellqvist), net charges at pH 5.5, 6.0, and 7.4, and dipole moment.
- KBC Score: Overall composite ranking score.
- Metadata: User-uploaded experimental columns and custom metadata.
Axis Scaling & Numerical Formatting
- Logarithmic Scaling (
Log): Dedicated Log toggle buttons next to the X and Y metric dropdowns switch axes to a \(\log_{10}\) scale, rendering logarithmic decade ticks, adjusting quartile zone shading, and re-spacing histogram distributions into logarithmic bins. - Adaptive Scientific Notation: Small values such as binding affinities (\(K_D\)), kinetic rates (\(k_{on}, k_{off}\)), and \(p\)-values formatted in scientific notation (e.g.
5.61e-9) dynamically render in clean exponential format across axes, tooltips, stats summaries, candidate preview cards, and regression formulas without rounding down to zero. - Discrete Count Precision: Discrete count columns (CDR loop lengths,
#liability counts, mutation counts) automatically enforce whole-integer axis ticks (preventing decimal fractions like0.5,1.5). In histograms, integer distributions with a span \(\le 20\) display discrete single-integer bars (0,1,2,3...) rather than decimal range intervals.
Candidate Name Labels & Overlap Avoidance
Click the Labels toggle button in the toolbar to display candidate names directly alongside data points across 2D Scatter Plots and Box Plots:
- Automatic Overlap Avoidance: The label placement engine uses a multi-candidate collision-avoidance layout algorithm that evaluates 8 radial directions around each point (Right, Top-Right, Top, Bottom-Right, Bottom, Left, Top-Left, Bottom-Left).
- Point Obstacle Detection: Data point markers are treated as spatial obstacles so that labels never obscure neighboring antibody points.
- Leader Lines in Clusters: For dense point clusters where standard adjacent positions are blocked, labels automatically shift to an extended clearance offset with crisp leader lines connecting the text back to the point.
- High Contrast & Highlighting: Text labels feature an outline stroke for readability across background quadrant zones and grid lines. Labels synchronize with the Find search tool (bolding and highlighting matching clones while soft-dimming others) and are preserved in PNG exports.
Permanent Two-Row Statistics & Label Management Card
The bottom bar features a dedicated, fixed two-row card that prevents layout shifting:
- Row 1 (Dataset Statistics): Displays population metrics at a glance, including total sample count, Pearson correlation coefficient (\(r\)), regression curve fit equations (\(R^2\)), and dynamic X/Y range and average values.
- Row 2 (Candidate Selection & Labels):
- Candidate Selection Preview: Displays the currently inspected antibody name, parent clone, germlines, and values. When no dot is selected, a helpful guide prompt is displayed.
- Label All Toggle: The
[ 🏷️ Label All ]button toggles candidate name labels across the entire dataset using the 8-way collision-avoidance layout algorithm. - Clear All Labels: A dedicated
[ ✕ Clear Labels ]button appears whenever labels are active (showing the count of pinned labels, e.g.Clear Labels (3), orClear All Labels), allowing a 1-click reset to a clean chart.
- Individual Candidate Labeling: Clicking directly on any candidate dot opens its details card with a
[ 🏷️ Label on Plot: OFF / ON ]toggle to pin that candidate's label to the canvas without cluttering other points. - Dismissal: Clicking empty plot canvas space, clicking another candidate dot, clicking
✕, or resetting zoom automatically dismisses the active tooltip.
Scope & Multi-Selection
- Selected Scope: Focuses strictly on the subset of antibodies checked in the results grid.
- All Entries: Plots the complete project population simultaneously.
- Use the scope toggle pills (
[ Selected (N) | All Entries (Total) ]) at the top right to switch scopes instantly.
Curve Fitting & Trendlines
When in 2D Scatter Plot mode, apply real-time regression models via the Fit dropdown:
- Linear Fit: Calculates least-squares linear regression (\(y = mx + b\)), displaying slope, intercept, and goodness-of-fit (\(R^2\)).
- Polynomial Fit (Degree 2): Solves quadratic curvature (\(y = ax^2 + bx + c\)) using least-squares normal equations, providing non-linear trendlines and \(R^2\).
Best Fits & 1-vs-All Correlation Search
Click the [ ⚡ Best Fits ] button in the toolbar to instantly evaluate and rank all available developability metrics against the currently fixed reference axis (e.g. PB: Viscosity, Score, or AbLang FR):
- Instant Multi-Property Correlation: Evaluates every numerical property in the active candidate dataset (Surface descriptors like
SPNandSPCD, stability scores, predicted biophysicsPB:*, humanness metricsOASign, charges, liability counts, and custom metadata), calculating the exact Pearson correlation coefficient (\(r\)), coefficient of determination (\(R^2\)), trend direction, and valid pair count (\(N\)) in real-time. - Candidate Feature Inclusion / Exclusion Selector: A dedicated
[ Features: All Included ▾ ]popover lets users include or exclude specific measures or entire property categories (e.g., Predicted Biophysics, Surface Properties, Stability, Humanness, PTMs, or Metadata) from the 1-vs-All correlation search. - Color-Coded Strength Badges: Clearly distinguishes strong positive correlations (\(r \ge +0.50\), dark green), moderate positive correlations (\(r \ge +0.25\), soft green), strong inverse correlations (\(r \le -0.50\), dark red), moderate inverse correlations (\(r \le -0.25\), soft red), and neutral correlations (\(|r| < 0.25\)).
- Interactive Filtering & Sorting: Filter metrics by name or search text, and sort by absolute strength (\(|r|\)), positive correlation (\(r > 0\)), inverse correlation (\(r < 0\)), goodness-of-fit (\(R^2\)), or property name.
- Bi-Directional Reference: Choose between fixing the X-Axis (to search the best correlating Y metric) or fixing the Y-Axis (to search the best correlating X metric).
- 1-Click Plot Update: Click any metric row or the
[ Plot as Y ]button to instantly assign the metric to the axis, automatically enable the linear regression trendline, and update the scatter plot and diagnostics.
Multi-Variable Predictor & Feature Selection
When experimental metadata (or any developability property) cannot be adequately captured by a single descriptor, switch to the Multi-Variable Predictor (Composite Fit) tab inside the Best Fits modal:
- Ordinary Least Squares (OLS) Regression Engine: Executes real-time multiple linear regression using Gaussian elimination with partial pivoting on the client, systematically evaluating single features, 2-feature pairs, and 3-feature triplet combinations across all candidate descriptors.
- Collinearity & Singularity Protection: Automatically detects near-singular matrices and discards collinear combinations, ensuring numerical stability across complex datasets.
- Candidate Feature Inclusion / Exclusion Selector: A dedicated
[ Features: All Included ▾ ]popover lets users filter in or out specific measures or entire property categories (such as Predicted Biophysics, Surface Properties, Stability, Humanness, PTMs, or Metadata) from the combinatorial search, allowing custom feature subsets. - Adjusted \(R^2\) Ranking: Ranks composite models by Adjusted \(R^2\) (\(R^2_{\text{adj}}\)) to penalize over-parameterization, alongside standard \(R^2\), Root Mean Square Error (RMSE), and sample size (\(N\)).
- Complexity Filtering & Search: Filter models by term count (1 Variable, 2 Variables (Pairs), 3 Variables (Triplets), or All) and search for specific descriptor combinations (e.g.,
SPN + SPCDorAbLang + Charge). - Wide Non-Scrolling Dialog Layout: The Best Fits window expands to a spacious 1200px viewport, accommodating long property names and 3-term equations cleanly without horizontal scrolling.
- Predicted vs. Target Plot Mode: Clicking
[ Plot Model ]maps the fitted multi-term formula \(\hat{Y} = \beta_0 + \sum \beta_j X_j\) on the X-axis (Predicted [Target] (Model)) against the target property \(Y\) on the Y-axis:- Ideal Unity Line: Draws a \(y = x\) dashed diagonal line indicating perfect prediction agreement.
- Active Model Toolbar Banner: Displays the active target, fitted equation, Adjusted \(R^2\), and an
[ ✕ Exit Model View ]button to return to standard 2D scatter plotting. - Interactive Equation Mouseover: Mousing over the fitted equation chip dynamically expands to display the complete, untruncated mathematical formula without ellipsis.
- Candidate Residual Inspection: Hovering or clicking any antibody dot reveals its target property value, model-predicted value, residual error (\(\Delta = Y - \hat{Y}\)), and component descriptor breakdown.
Zones & Shading (Quadrants & Quartiles)
Apply background zone tinting and crosshair partitions via the Zones dropdown:
- Median Quadrants (4-Zone): Divides the 2D scatter space along median X and median Y into four distinct quadrants (Top-Right optimal green zone, trade-off blue/amber zones, and lower-left risk zone) with live candidate counts and percentages per quadrant.
- Y-Axis Quartiles (25% Bands): Overlays four horizontal 25% percentile bands (\(0\text{--}25\%\), \(25\text{--}50\%\), \(50\text{--}75\%\), and Top \(25\%\)) based on the Y-axis metric.
- X-Axis Quartiles (25% Bands): Overlays four vertical 25% percentile bands across scatter plots or single-metric distribution histograms.
Categorical Grouping & Bubble Sizing
- Group By: Color-code data points by Parent Clone, Heavy Germline, Light Germline, Species, or Score Tier (dynamically calibrated project terciles).
- Size (Z-Axis): Scale point radii (5px to 16px) by any selected developability metric or leave as Uniform.
Search & Highlighting
- Use the Find input to type a candidate or clone name. Matching points are immediately highlighted with an amber marker and bold name label while non-matching data points and labels are dimmed, allowing rapid visual isolation in dense candidate clouds with zero animation lag.
Diagnostics & Export
The statistics bar below the chart continuously calculates:
- Sample Count (\(N\)): Total active data points plotted.
- Pearson Correlation (\(r\)): Linear correlation coefficient with color-coded positive/negative badges.
- Regression Fit: Active fit formula and coefficient of determination (\(R^2\)).
- Ranges & Averages: Minimum, maximum, and average values across X and Y axes.
- PNG Export: Export publication-quality, high-resolution PNG charts with one click (including active labels, trendlines, and quartile shading).