Skip to content

Release Notes

2026-09-04

  • 2D MHC-II Heatmap Metadata Columns & Section Controls: Enhanced the 2D MHC-II binding matrix heatmaps and inspection views in Humanness and RPEMHC:

  • Region, Germline Status, & Peak Allele Columns: The 2D MHC Class II binding heatmaps in both Humanness and RPEMHC now feature three dedicated, high-value metadata columns directly preceding the allele grid:

    • Region: Badges strictly match the standardized platform palette in colors.py with chain-aware color differentiation (Light chain: Silver framework, Dodger Blue CDR1, Medium Purple CDR2, Cyan CDR3; Heavy chain: Dim Gray framework, Blue CDR1, Dark Orchid CDR2, Dark Cyan CDR3).
    • Multi-Colored Split Badges: Boundary-spanning composite regions (such as CDR3/FMWK4 or FMWK1/CDR1) render as dual-color split badges displaying each constituent segment in its respective region color with optimal luminance-based text contrast.
    • Germline: Self-tolerance status indicating whether the 15-mer window matches human germline repertoire (Germline), belongs to hypervariable CDR3 (consistently colored with the standardized CDR3 palette from colors.py—Cyan for Light chain and Dark Cyan for Heavy chain—matching the Region column), or represents a potentially immunogenic somatic mutation (Non-Germ).
    • Peak Allele: The maximum predicted MHC-II binding score across the panel alongside its presenting HLA Class II allele designation.
    • Aligned 15-mer Sliding Window Sequences: The 15-mer sequence window labels in 2D MHC-II binding heatmaps are now right-justified across variable-width ranges (e.g. 1–15 through 100+), ensuring all peptide sequences and residue color badges align vertically in a clean, uniform grid.
    • Open by Default Heatmaps (Humanness): The 2D MHC Class II binding heatmaps in the Humanness tool are now expanded and visible by default upon opening the page, while retaining one-click collapse functionality.
    • Collapsible High-Risk MHC-II Epitopes Card & Dedicated Title Banner: High-Risk MHC-II Epitopes (T-Cell Hotspots) in Humanness and RPEMHC now features a clean, dedicated title banner with summary risk counts and an interactive Hide/Show toggle button permanently positioned in the upper right. Filter controls and Excel export actions are encapsulated in a dedicated toolbar row directly below the header.
    • RPEMHC Uniform Card Hide/Show Toggles: Every card in RPEMHC (High-Risk Epitopes, Per-Chain Sections, 2D Matrix Heatmap, Linear Sequence Track, and Residue Diagnostic Table) features a consistent Hide/Show toggle button placed uniformly in the upper right corner of its title banner. Navigating from hotspot items or scrolling to residue rows automatically unfolds target cards if collapsed.
  • Germline Liabilities Row & Color Lookup Legend: Added a dedicated Liabilities row to the Germline Analysis tool, matching the presentation used in Positional Frequency Analysis (PFA):

  • Sequence & Machine Learning Liabilities Row: Renders directly above the Query sequence row in the Variable domain section for both light and heavy chains. Highlights sequence liabilities (deamidation, isomerization, cleavage, glycosylation, oxidation, disrupted CDR3 salt bridges) and language model framework/stability penalties (AbLang, AbLang2, IgBert, and CVV).

  • Severe Indicator & Detailed Tooltips: Cells with score differences in the severe range display a prominent 'S' indicator with luminance-based text contrast. Hovering over any liability cell displays a multi-line tooltip detailing all detected liabilities and numerical model scores at that residue.
  • Liability Color Lookup Card: Displays an interactive reference palette in the settings sidebar with swatches for all active liability types, severe threshold definitions, and motif start highlighting conventions.
  • Excel Export Support: Exporting the germline analysis to Excel automatically includes the colored liabilities row and severity indicators with transparent cells preserved cleanly.

  • Multispecific Construct Dissection & Standardized Linker Recognition: Enhanced sequence ingestion and the Assembler with automated multi-domain dissection and recognized linker classification:

  • Automated Single-Chain Multispecific Detection: Single-chain constructs containing multiple variable domains (such as BiTEs, tandem scFvs, and multi-domain fusions) are automatically recognized as multispecific molecules upon upload, tagging them with the Multispecific badge and opening directly in the Assembler for dissection and re-engineering.

  • Standardized Linker Identification: Intervening linker and spacer sequences (such as (G4S)3, G4S, and flexible GS/EAAAK repeats) are automatically identified against canonical linker libraries and repeat patterns. Recognized labels display cleanly across the Assembler dropzone and parts breakdown rather than generic labels.
  • Harmonized Modal Instructions: Project Import, Add Files, and Add Fv dialogs now feature identical, clear guidance detailing standard Fv associations, multi-chain multispecifics (>Name_HC_1, >Name_LC_1), and single-chain constructs.

  • Multispecific Sequence Export & Assembler Re-Import Roundtrip: Standardized multi-chain sequence export formatting and streamlined re-import parity with the Assembler:

  • Light-Before-Heavy Sequence Export Ordering: When exporting sequences containing multispecific antibodies across all supported formats (FASTA, GenBank, EMBL, PIR, and WIPO ST.26 XML), constituent chains are strictly ordered with all Light chains preceding Heavy chains (Name_LC_1, Name_LC_2, Name_HC_1, Name_HC_2), while preserving descriptive chain labels (such as Light Chain 1, Heavy Chain 1 (Knob)) in FASTA header annotations.

  • Seamless Roundtrip Assembler Re-Import: Re-importing exported multispecific sequences back into a project accurately maps each constituent chain directly into the Assembler with full domain and constant region parity. Engineered heterodimerization domains (such as Knob and Hole CH3 variants) and constant segments are accurately matched and partitioned into their dedicated dropzone slots without misclassification.
  • Direct Queueless Ingestion: Uploading multispecific constructs populates ready placeholder rows immediately in the project results table with the Multispecific badge, completely bypassing single-Fv calculation queues and providing immediate access to sequence exports and Assembler workflows.

2026-09-03

  • Clading Liability Tooltip Column Selection: Added the ability to directly select and inspect residue columns in the sequence group table(s) below the phylogenetic tree when viewing liability tooltips in Clading:

  • Interactive In-Tooltip Column Selection: Opening any branch or leaf liability tooltip now provides an action button (Select Column in Sequence Group(s)) that targets the specific residue position(s) associated with that liability motif or outlier.

  • Dynamic Clade Group Targeting: Automatically maps descendant clones on the branch to their respective sequence cluster groups below. For clades spanning multiple clusters or ancestral branches, users can choose to highlight the column across the affected clade groups or select across all sequence groups.
  • Smooth Viewport Centering & Toggle: Selecting a column applies the standard visual column overlay across the targeted sequence group(s) and smoothly scrolls the lower sequence pane horizontally to center the column in view. Clicking the action again deselects the column.

  • Humanization Deterministic 5-Tier Sorting & Settings Panel Hierarchy Annotation: Refined and annotated the germline sorting comparator in the Humanization workspace and Bulk Humanize to ensure reproducible, deterministic ranking when candidate germlines share identical identity and homology scores:

  • 5-Tier Ranking Breakdown in Settings Panel: Added an annotated breakdown directly below the Sort By dropdown in the Humanization sidebar. Toggling between Modifiable Residues and Full Sequence dynamically updates the visual hierarchy of the 5 evaluation tiers.

  • Full Sequence Identity & Homology Tie-Breakers: When sorting by Modifiable Residues, ties on Modifiable % Identity (Tier 1) and Modifiable % Homology (Tier 2) are broken by Full Sequence % Identity (Tier 3), followed by Full Sequence % Homology (Tier 4), and alphabetical gene name (Tier 5).
  • Complete Workspace & Bulk Parity: Aligned the client-side sorting comparator in humanization.html and the backend bulk_humanize selection engine to identical 5-tier logic, guaranteeing that interactive and bulk workflows select identical germline templates.

  • Bulk Humanize Strategy Selections & Sapiens ML Integration: Enhanced the Bulk Humanize tool in the Project View with fine-grained humanization strategy and exclusion controls across batches of selected antibodies:

  • Top Germline vs. Sapiens Method: Choose between standard Top Germline humanization (matching closest V/J germline genes and grafting framework residues) or Sapiens deep learning humanization (substituting human framework residues recommended by the Sapiens language model). When Sapiens is selected, target species is automatically configured to Human.

  • Exclusion Schemes (Honegger vs. CDRs): Select whether to apply standard Honegger exclusions (retaining structural framework and CDR residues) or pure CDRs exclusions across any supported region scheme (North, IMGT, Kabat, Martin, or AHo).
  • Vernier Zone Position Preservation: Optional checkbox to preserve parental residues at all 30 classic Vernier zone positions (16 on Heavy Chain, 14 on Light Chain) to maintain antigen binding affinity and CDR loops.
  • Automatic VHH Hallmark Retention: Single-domain VHH entries automatically preserve parental residues at hallmark solubility positions (IMGT 42, 49, 50, and 52) across all methods and exclusion schemes.
  • Side-by-Side Strategy Evaluation: Candidates humanized via Top Germline receive <Parent>_Hum naming, while those humanized via Sapiens receive <Parent>_Sapiens naming, allowing users to test and rank both humanization approaches on the same candidates.

  • Clading Overlay Metadata & 'Other' Category Integration: Added the ability to overlay custom project-level metadata attributes directly on phylogenetic trees in the Clading workspace:

  • 'Other' Metadata Group: Consistent with Plot Results and the main results grid, any custom columns defined on the project (e.g. expression yield, thermal stability, binding affinities, or experimental labels) appear under a dedicated 'Other' section in the Overlay Metrics on Tree multi-select dropdown. Projects without custom metadata keep this section neatly hidden to prevent clutter.

  • Tree Badges & Radial Tracks: Selected metadata columns render as formatted, color-coded badges alongside leaf nodes in the linear dendrogram and as concentric radial pill tracks in the circular dendrogram layout, honoring custom numeric formats and threshold color rules.
  • Cluster Summary Averages & Exports: Numerical metadata columns automatically compute family averages displayed in clade headers, and seamlessly export alongside sequence alignments in Excel (.xlsx) and vector graphics (.svg).

  • BiTE Quick Build Template Inter-scFv Linker: Updated the BiTE (1-chain) Quick Build preset in the Assembler to connect the two scFvs using a single G4S (GGGGS) linker rather than (G4S)3, conforming with standard bispecific T-cell engager engineering layouts while retaining flexible (G4S)3 linkers within each scFv unit.

  • Login Card Proportions & Password Field Visibility: Widened the authentication card on the login page from 420px to 500px and balanced vertical padding. This provides a more spacious input area for reviewing long email addresses and multi-word passphrases or autogenerated passwords without truncation or excessive horizontal scrolling.

  • Landing Page Capabilities & Comprehensive Feature Expansion: Expanded the Capabilities section on the public landing page to reflect the full breadth of modern antibody analysis, prediction, in-silico engineering, and compliance features across the platform:

  • High-Level Capabilities Layout: Reorganized platform capabilities into three structured pillars: Rank Order Analysis & Lead Selection, In-Silico Engineering & Optimization, and Visual Analysis, Discovery & Reporting.

  • Direct Documentation Access: Added a prominent direct link at the top of the Capabilities section connecting users directly to the comprehensive AbLead User Guide and workflow documentation.
  • Modern Predictive & Analytics Highlights: Integrated high-level overviews of key platform modules including Predicted Biophysical Properties (Predict Biophys), RPEMHC MHC-II Immunogenicity, Covariance constraint analysis, Plot Results multi-parameter discovery with automated Best Fits, First Pass Optimization, Bulk Humanization, Combinatorial Variant pairing rules, and WIPO ST.26 patent sequence listings.
  • Refined Citations & References: Streamlined academic references and resolved duplicate entries to provide clean scholarly attribution.

2026-09-02

  • Plot Results Best Fits & Automated 1-vs-All Correlation Search: Added an automated Best Fits discovery tool in the Plot Results workspace. By clicking the [ ⚡ Best Fits ] button in the toolbar, users can instantly scan and rank every numerical property across the project dataset against a chosen reference axis (e.g. PB: Viscosity, Score, or AbLang FR):

  • Real-Time Property Evaluation: Evaluates all developability metrics simultaneously (Predicted Biophysical properties PB:*, Surface descriptors SPN/SPCD/SPH, Stability scores, Humanness OASign, net charges, liability counts, and custom metadata), computing Pearson correlation coefficient (\(r\)), coefficient of determination (\(R^2\)), trend direction, and valid pair count (\(N\)) in milliseconds.

  • Color-Coded Strength Badges: Distinguishes strong positive correlations (dark green, \(r \ge 0.50\)), moderate positive correlations (soft green, \(r \ge 0.25\)), strong inverse correlations (dark red, \(r \le -0.50\)), moderate inverse correlations (soft red, \(r \le -0.25\)), and neutral correlations (\(|r| < 0.25\)).
  • Candidate Feature Inclusion & Dynamic Sorting: Filter in/out specific measures or categories via the dedicated [ Features: All Included ▾ ] popover, search by name, and sort rankings by absolute strength (\(|r|\)), positive correlation (\(r > 0\)), inverse correlation (\(r < 0\)), goodness-of-fit (\(R^2\)), or property name.
  • Bi-Directional Search & 1-Click Axis Application: Choose whether to fix X (to search best correlating Y metrics) or fix Y (to search best correlating X metrics). Clicking any metric row or the [ Plot as Y ] action immediately applies the property to the scatter plot, enables the linear regression trendline, and refreshes all diagnostics.

  • Plot Results Multi-Variable Predictor & Feature Selection: When experimental metadata or calculated properties require multi-parameter models, users can switch to the Multi-Variable Predictor (Composite Fit) tab in the Best Fits modal:

  • Automated Combinatorial Regression: Runs real-time multiple linear regression across single features, 2-variable pairs, and 3-variable triplets using client-side Ordinary Least Squares (OLS) with partial pivoting and collinearity detection.

  • Candidate Feature Inclusion Selector: Filter in or out specific measures or entire property categories (such as Predicted Biophysics, Surface Properties, Stability, Humanness, PTMs, or Metadata) to customize the descriptor candidate pool.
  • Adjusted \(R^2\) Model Rankings: Ranks composite models by Adjusted \(R^2\) (\(R^2_{\text{adj}}\)) to prevent overfitting, alongside standard \(R^2\), Root Mean Square Error (RMSE), sample size (\(N\)), and formula terms.
  • Spacious 1200px Modal Layout: Expanded dialog width to 1200px so multi-term formulas and long property names render cleanly without horizontal scrolling.
  • Predicted vs. Target Scatter Mode & Equation Hover: Clicking [ Plot Model ] maps model-predicted values \(\hat{Y}\) on the X-axis against target property values \(Y\) on the Y-axis with an ideal unity diagonal (\(y = x\)), persistent model toolbar banner, smooth equation mouseover hover expansion, and candidate residual tooltips (\(\Delta = Y - \hat{Y}\)).

2026-09-01

  • Results Grid Column Sort State Persistence: Column sort configurations (including multi-column composite sort hierarchies and directions) are now persistently remembered across page reloads, tab switches, and project re-entry, matching the persistence behavior of candidate selections and column filters. When returning to or refreshing a project, active sorts are automatically restored and applied with header direction arrows, precedence rank badges, and active sort chips.

  • Persistent Compact Active Filters & Sorts Bar in Results: The active filters and sorts status row above the main project results grid is now permanently visible with a streamlined, compact height (28px) and a dedicated horizontal scrollbar, preventing layout shifting and vertical table jumping when applying or clearing filters and column sorts. When multiple filters or sorts overflow the available horizontal space, users can smoothly scroll through chips via trackpad, mouse wheel, or scrollbar dragging while keeping the Clear All action permanently accessible on the right. When no filters or sorts are active, the bar displays a subtle placeholder with an inactive Clear All button.

  • Plot Results Permanent Two-Row Statistics & Label Management Card: Streamlined candidate labeling, inspection, and statistical metrics in the Plot Results workspace:

  • Permanent Two-Row Card: Structured the bottom info bar into two permanent, non-shifting rows: Row 1 displays dataset population statistics (sample count, correlation, curve fit, X/Y ranges and averages); Row 2 displays inspected candidate metrics on the left and label actions ([ 🏷️ Label All ], [ ✕ Clear Labels ]) on the right.

  • Identical Typography: Ensured that individual pinned candidate labels and full-dataset labels share the exact same clean, legible typography, reserving bold styling exclusively for search queries matched via the Find tool.
  • Click-to-Open Tooltips & Individual Pinning: Tooltips open exclusively on dot click with candidate metrics and a [ 🏷️ Label on Plot: OFF / ON ] toggle button to pin/unpin individual candidate names directly on the canvas.
  • Clear All Labels: Added a 1-click [ ✕ Clear Labels ] action that instantly resets all pinned labels and full-dataset labels to a clean canvas.

2026-08-31

  • Plot Results Candidate Name Labels & Automatic Overlap Avoidance: Added a dedicated Labels toggle setting in the toolbar to display candidate names directly alongside data points across 2D Scatter Plots and Box Plots. The labeling engine features an automated multi-candidate collision-avoidance layout algorithm that tests 8 radial directions and extended offsets per point, ensuring labels never collide with adjacent data points or other labels. In dense clusters, labels automatically nudge to clear space with subtle leader lines connecting back to their points. Labels seamlessly integrate with the Find search highlighter (bolding and popping out matching candidate names while soft-dimming others) and are included in high-resolution PNG chart exports.

  • Plot Results Discrete Count Axes & Clean Histogram Binning: Improved charting and axis handling for discrete count metrics (such as CDR loop lengths L1H3, CDR Sum, liability counts, mutation counts, and integer metadata):

  • Integer Axis Precision: Automatically detects discrete count and integer metrics, restricting Chart.js axis tick marks and gridlines to whole integer values (e.g. 0, 1, 2, 3, 4) and eliminating fractional decimal steps (such as 0.5, 1.5, 2.5) across Scatter Plots, Box Plots, and Bar Ranking charts.

  • Discrete Single-Value Histogram Bins: For count distributions with a small integer span (\(\le 20\)), histograms now render discrete single-integer bars for each exact count (0, 1, 2, 3, etc.) with clear frequency tooltips (Metric = 2: 14 candidates) instead of fractional floating-point ranges (such as 0.0 - 0.8).
  • Clean Integer Ranges for Large Counts: When integer count data spans more than 20 values, histograms dynamically group candidates into clean, whole-number integer range bins (e.g. 0 - 4, 5 - 9, 10 - 14) with integer-based frequency Y-axes.

  • Plot Results Adaptive Scientific Notation & Logarithmic Scaling: Enhanced numerical formatting and dynamic axis scaling across the Plot Results workspace:

  • Adaptive Scientific Notation: Small numerical 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) now dynamically format cleanly as exponential notation across chart axes, hover tooltips, summary statistics cards, candidate preview cards, regression formulas, and histogram bin ranges without being rounded down to 0.00.

  • Independent X & Y Logarithmic Scale Toggles: Added dedicated Log scale toggle buttons next to the X and Y axis metric selectors in the toolbar. Toggling Log instantly switches the respective axis to a \(\log_{10}\) scale, rendering logarithmic decade ticks, adjusting quartile zone shading, re-spacing histogram distributions into logarithmic bins, and filtering non-positive outliers.
  • Seamless Multi-Plot Parity: Logarithmic scaling and adaptive scientific precision are fully synchronized across 2D Scatter Plots, Box Plots, Binned Histograms, and Bar Ranking charts, as well as axis swap actions.

  • Unified Active Filters & Sorts Bar in Results: When filtering or sorting columns in the project Results grid, active sorts are now displayed directly alongside active filters in a dedicated active status banner above the table. Active column sorts are rendered as interactive chips showing column name, sort direction arrows, and multi-sort priority badges (1, 2, etc.) with individual removal buttons (×). A unified Clear All button resets all active filters and column sorts simultaneously.

  • Results Grid Multi-Column & Natural Alphanumeric Sorting: Enhanced column sorting in the main project results grid. Clicking column headers supports interactive multi-column composite sorting with precedence rank badges ([1], [2], etc.) and natural alphanumeric ordering (ensuring germlines such as IGKV1-5 sort before IGKV1-39, and clone numbers sort in natural numeric sequence).

  • User Email Notification Preferences: Users can now customize their email notification preferences directly within their User Profile settings via two independent toggles: Product & Feature Updates (announcements on new tools, methods, and release notes) and System & Downtime Alerts (scheduled maintenance and system availability notices). Account security notices (passphrase changes, passkeys, 2FA) remain active across all accounts.

  • Show Liabilities in Alignment: Added a Show Liabilities setting to the Alignment viewer. When enabled, a dedicated liabilities row is displayed directly above each antibody's sequence row, highlighting sequence liabilities (deamidation, isomerization, cleavage, glycosylation, oxidation, disrupted CDR3 salt bridges) and language model framework/stability penalties (AbLang, AbLang2, IgBert, and CVV). Positions with severe language model score differences are annotated with an S indicator, and an interactive Liability Color Lookup legend is rendered directly in the settings sidebar. When exporting the alignment to Excel with Show Liabilities enabled, corresponding formatted liability rows and indicators are included in the generated workbook.

  • Dashboard Sidebar Smooth Fade Animation: Refined the dashboard pancake menu toggle so that label names and icons smoothly fade out when collapsing and unfade when expanding (matching Gmail's sidebar behavior), rather than wrapping and squishing during panel transition.

  • Engineering Set Collision Resolution & Auto-Numbering: All tools that generate or save named sets in the Engineering workspace (including First Pass Optimize, Covariance Sandbox, Mutagenesis Library Import, Engineer pI, Mutation Grid, and Surface Mutagenesis) now automatically detect name collisions. When a tool generates a set whose name already exists on an antibody (for example, running First Pass Optimize a second time), the system creates a new uniquely numbered set (such as First Pass Optimize 2, First Pass Optimize 3, Covariance 2) rather than overwriting or merging into the prior set.

2026-08-30

  • In-Project Search Selection Retention: In-project search queries no longer deselect or prune previously selected candidates that do not match the current search term. All selected entries are preserved in the project's active selection set, allowing users to search, select specific subsets, and perform bulk actions or clear searches without losing earlier selections.

  • Entry Selection Persistence Across Project Re-Entry: Candidate entry selections in the project results table are now remembered across visits and when returning to a project from the dashboard or another page, matching the persistence behavior of column filters and search queries.

  • Clading Branch Glyph Scaling & Readability Enhancements: Increased the dimensions, typography, and spacing of developability branch glyphs across linear and circular phylogenetic cladograms to improve visual clarity:

  • Private Leaf Glyph Expansion: Enlarged private leaf branch badges from 4.5px radius (linear) / 4.0px (circular) to 6.0px (linear) / 5.5px (circular) and scaled internal symbol typography up to 5.0–7.0px, ensuring 1-character, 2-character, and 3-character liability symbols (such as AL2, SB, C*, D, I, G) are crisp and easily legible.

  • Shared Clade Badge Scaling: Scaled shared ancestral branch badges from 6.5px (linear) / 6.0px (circular) to 7.5px (linear) / 7.0px (circular) with larger 6.2–8.5px typography and reinforced stroke borders to maintain a clear visual hierarchy between shared ancestral mutations and private clone acquisitions.
  • Seamless Edge-to-Edge Badge Spacing: Spacing between consecutive badges is now dynamically calculated based on their exact radii (12.0px between small glyphs, 15.0px between big glyphs in linear; 11.0px / 14.0px in circular), allowing small private glyphs to sit tightly edge-to-edge without gaps, matching the continuous styling of the big shared ancestral badges.
  • Adaptive Branch Stretching & 100% Glyph Visibility: Rather than collapsing mutations into popup groups on short branches, branches now adaptively expand horizontally (linear trees) and radially (circular trees) to guarantee full physical spacing for all mutation badges. Every single liability glyph remains 100% visible, directly hoverable, and interconnected with cross-branch multi-glow highlighting across the tree canvas.

  • Clading Stability Cutoffs, Protein Language Model Branch Glyphs & Glyph Legend: Expanded phylogenetic clade analysis to highlight residue-specific protein language model outliers and covariance anomalies directly along tree branches:

  • Protein Language Model & Covariance Branch Glyphs: The cladogram now highlights specific developability mutations and outliers for AbLang (AL), AbLang2 (AL2), IgBert (IB), and Covariance (CV), mapping exactly where stability and framework risks arose during lineage evolution. For ancestral branches shared across multiple clones, the score reported in detail cards and tooltips calculates the maximum score observed across all descendant clones on that branch.

  • Stability Cutoffs in Clading Settings: Integrated real-time Stability Cutoffs into the Clading settings sidebar matching the Liabilities tool, allowing users to customize score difference thresholds and toggle Include CDRs for AbLang, AbLang2, IgBert, and CVV/Covariance with 1-click reset buttons.
  • Prioritized Liability Highlighting Filters: Placed AbLang, AbLang2, IgBert, and Covariance at the top of the Liability Highlighting Filter panel above Deamidation for instant one-click highlight and soft-dimming triage.
  • AbLang & Complete Humanness Overlay Metrics: Added AbLang FR to the Stability & Language Models overlay metrics, and expanded Humanness & Immunogenicity to include VL, VH, and Fv scores for OASign, Sapiens, and RPEMHC, strictly ordered as VL / VH / Fv (Light chain before Heavy chain).
  • Branch Glyph Labels Legend: Added an interactive visual legend at the bottom of the sidebar displaying all 16 developability glyph symbols, full liability names, and distinct styling for ancestral shared versus private branch badges.

2026-08-29

  • ZIP Archive Support for PDB & Structure Uploads: Added direct support for uploading zipped archives (.zip) containing structure files when creating projects, importing batches, or attaching structures to existing projects:

  • Single-Archive Batch Uploads: Users can now drag-and-drop or select a single .zip archive containing dozens or hundreds of .pdb, .cif, .mmcif, or .ent structure files, eliminating the need to multi-select individual files in browser pickers.

  • Automated In-Memory Extraction & Conversion: Uploaded archives are inspected and unpacked in memory, ignoring folder hierarchies and system artifacts (like macOS metadata), and automatically converting mmCIF/CIF files into standardized PDB format.
  • Universal Workspace Support: Fully enabled across the New Project modal, Add PDBs modal, and Project Import workspace.

  • Plot Results Interactive Charting & Multi-Parameter Explorer: Added a new Plot Results analysis tool accessible under the Analysis dropdown menu in Project View:

  • Interactive 2D Scatter & Bubble Plot: Select any computed or experimental metrics (KBC Score, OASign Humanness, AbLang2 scores, Bjellqvist pI, net charges, DeepSP descriptors, liability counts, and custom metadata) on customizable X and Y axes for instant visual trade-off and Pareto analysis.

  • Predicted Biophysical Properties Section: Integrated all machine learning and biophysical predictions prefixed with PB: (PB: HIC Hydrophobicity, PB: SMAC Colloidal Stability, PB: AC-SINS & SGAC-SINS Self-Association, PB: PSR & BVP ELISA Polyreactivity, PB: CIC Cross-Interaction, PB: DSF Tm Thermostability, PB: HEK Expression Titer, and PB: Viscosity at 150 mg/mL) directly into their own dedicated section in the X/Y metric selection menus to prevent confusion with actual experimental metadata.
  • Linear & Curve Fit Options: Apply real-time Linear Fit (\(y = mx + b\)) or Polynomial Fit (\(y = ax^2 + bx + c\)) trendlines across scatter plots with live regression equation and goodness-of-fit (\(R^2\)) calculations.
  • Median Quadrants & 25% Quartile Shading: Overlay background zone tinting including Median Quadrants (4-zone crosshair partition with live candidate counts and percentages per quadrant) and Quartile Ranges (horizontal or vertical 25% percentile bands).
  • Single & Multi-Entry Scope: Works on all project entries or isolates specifically selected candidates with a single-click scope toggle ([ Selected (N) | All Entries (Total) ]).
  • Dynamic Grouping & Sizing: Color data points by parent lineage, heavy/light germlines, species, or score tiers, with optional bubble sizing based on liability counts or severe framework violations.
  • Box Plot, Distribution & Bar Ranking Modes: Switch seamlessly between 2D Scatter Plots, Box Plots (with overlaid interquartile boxes, medians, means, min/max whiskers, kernel density violin contours, and jittered candidate points), Binned Histograms, and sorted Bar Ranking charts.
  • Real-Time Diagnostics & Export: Automatically calculates sample count, Pearson correlation coefficient (\(r\)), regression \(R^2\), mean, and min/max ranges, with candidate search highlighting, interactive hover tooltips, and one-click high-resolution PNG export.

  • Scoring Preferences Drag Handle & Stability Section Reorganization: Improved interaction and layout within the Scoring Preferences workspace:

  • Grip Handle Row Sorting: Restricted table row dragging so that scoring rules can only be reordered by grabbing the drag grip bars on the left. This restores native text and number selection/highlighting across all rule inputs and notes fields.

  • Stability Section & Salt Bridge Grouping: Grouped # Disrupted CDR3 Salt Bridge with the protein language model and severe violation scoring rules, and updated the section title to Stability to align with the platform's developability categorization.

  • Streamlined Project View Menu Bar & Toolbar Decluttering: Redesigned the project view header toolbar to eliminate visual crowding, reduce horizontal footprint, and enhance workflow focus:

  • Consolidated Presets Menu: Merged the standalone Scoring and Format preset selectors into a unified Presets dropdown menu (Presets ▾) containing both scoring weight profiles and table formatting sets, streamlining toolbar real estate.

  • Compact Search Input: Narrowed the search bar width and simplified placeholder text, optimizing space while keeping full search and scope filtering capabilities readily accessible.
  • Cleaned Status Indicators: Removed redundant toolbar filter pills in favor of the active filter bar and filter chips directly above the results table, and streamlined status badges so completion badges remain unobtrusive during steady-state inspection.

  • Multi-Tab & Cross-Session Filter and Search Persistence: Hardened persistence of project filters, selections, and search queries across browser tabs, sessions, and project re-opens:

  • Column-Name Based Filter Persistence: Enhanced active column filtering to bind and persist filters by standardized column names in addition to indices, ensuring filters remain stable and accurate across reloaded tables, custom column modifications, and multiple browser tabs.

  • Toolbar Search State Persistence: Project-level search terms and search area criteria are now preserved in storage and automatically restored when re-opening projects or navigating in new tabs.

  • Project Selection Counter with Active Filters: Corrected the selection counter in the project view toolbar to accurately display the total number of selected entries against the full project total (e.g. 2 of 15 Selected instead of 2 of 9 Selected) when column filters are active, ensuring selection counts remain clear and accurate regardless of active filters.

2026-08-28

  • Export to Project (Copy / Move Entries): Added a dedicated function under Export > To Project... in the Project View toolbar, allowing users to copy or move selected antibody entries from the current project to any project they own or have write privileges for:

  • Copy vs. Move Modes: Users can choose to either Copy selected entries (keeping originals in the current project intact) or Move selected entries (transferring entries to the target project and cleanly removing them from the current project). Move mode automatically verifies write permissions on the source project.

  • Create New or Existing Project Targets: The destination dropdown allows picking + Create New Project... at the top of the list to instantly create a new project workspace on the fly for the transferred entries, or selecting an existing project from "My Projects" and "Shared Projects (Write Access)".
  • Real-Time Name Collision Detection: Selecting an existing target project immediately checks for duplicate or colliding entry names. If collisions are found, users can select their preferred resolution strategy: Rename (automatically appends a unique _Copy suffix), Overwrite (updates the matching target records), or Skip (transfers only non-conflicting entries).
  • Seamless Zero-Recompute Data Transfer: Sequences, PDB structural models, parent lineage metadata, engineering histories, custom metadata columns, and pre-calculated developability analyses (scores, liabilities, alignments, humanness) are seamlessly preserved and merged into the destination project without re-running calculations.

  • Row-Level Mutated Position Selection in Humanization Workspace: Added an inline position selection button to every candidate germline row in the Humanization tool, allowing users to instantly select, highlight, and inspect the specific amino acid positions that would be mutated for that candidate:

  • 1-Click Row-Level Position Selection: Next to the "Apply these mutations to Engineering" wand button on each germline row, a dedicated selector button () scans all modifiable framework positions for that row. Clicking it immediately selects and highlights the exact set of columns representing mutations for that germline candidate on the alignment grid.

  • Dynamic Overlay & 3D Structure Highlighting: Selected positions automatically display vertical column highlight overlays on the alignment grid and synchronize with the 3D structure viewer (Mol*), highlighting the mutated residues in Spacefill or Ball-and-Stick for immediate structural evaluation.
  • Toggle Selection & Multi-Chain Inspection: Clicking the button again deselects the positions, while clicking selector buttons across different germlines or chains (e.g. Light and Heavy) allows inspecting and combining candidate positions simultaneously.

  • Visual Active Filter Indicators, 'Clear All' & Persistent State in Results Grid: Enhanced filtering and selection workflows in the project results grid with clear visual feedback, one-click 'Clear All' actions, and cross-session persistence:

  • Active Filters Banner & Interactive Filter Chips: Whenever column filters are applied in the project results grid, an active filter banner appears at the top of the table displaying interactive chips for each active filter (e.g. VL CDR3: 9, Score: >50), a summary of visible vs. total entries (e.g. Showing 12 of 50 entries), and a dedicated Clear All button. Clicking the × on any chip removes that specific filter, while clicking Clear All resets all active column filters simultaneously.

  • Project View Toolbar Filter Status Pill: Added a prominent active filter pill in the project toolbar alongside the search bar and selection counter. The pill clearly indicates when results are filtered (e.g. 2 Filters (12 of 50)) and provides an inline Clear All button to reset all filters in one click.
  • Filter Popover 'Clear All': Added a Clear All button inside the column header filter popover so users can clear all active filters across the entire dataset directly from any open popover.
  • Cross-Dashboard State Persistence: Both active column filters and entry selections are now remembered and preserved when navigating to the dashboard and re-opening the project.

2026-08-27

  • Cross-Branch Hover Linking & Click-to-Open In-Place Detail Cards in Clading: Enhanced the Clading Analysis workspace with cross-branch liability hover linking and interactive, click-to-open in-place detail cards:

  • Cross-Branch Hover Linking (Unobstructed Multi-Glow): Hovering over any developability liability badge along a tree branch or leaf dynamically highlights all identical liability sites across the entire cladogram with an illuminated glow and prominent halo while softly dimming unrelated badges. Hovering leaves the tree canvas 100% clean and unobstructed with zero floating popups over surrounding badges or clades.

  • Click-to-Open In-Place Detail Cards: Clicking any liability badge opens an interactive, in-place detail card with a close button (×), detailing the exact mutation, IMGT residue coordinates, motif, and the complete copyable list of all descendant member clones (Cmd+C / Ctrl+C). Clicking a glyph does not modify or shift the Clade Distance threshold line. Clicking outside or pressing Escape dismisses the card.

  • Four-Quadrant Clinical Triage Benchmark Plots & Architecture Documentation: Enhanced the Predict Biophysical Properties documentation and benchmark reports with publication-quality Four-Quadrant Clinical Triage plots replacing traditional linear regressions:

  • 10-Assay Four-Quadrant Clinical Triage Plots: Upgraded all benchmark scatter plots to 4-quadrant decision triage figures bisected by clinical liability cutoffs (\(p_{90}\) for liabilities, \(p_{10}\) for favorable traits) with shaded operational decision zones: True Clean (Green Circle ●), True Liability Caught (Crimson Square ■), False Alarm (Gold Triangle ▲), and Slipped Liability (Purple Cross ✖).

  • Concordance Tolerance Corridor: Overlaid a \(\pm 0.75\,\sigma_{\text{assay}}\) shaded confidence corridor around the identity line (\(y = x\)) illustrating biophysical assay repeatability variance.
  • Clinical Decision Metrics: Annotated each assay with exact clinical sensitivity, specificity, true liability counts, and slipped liability minimization alongside ROC-AUC and rank correlations (\(\rho\)).
  • Individual Assay Breakouts: Embedded dedicated dual-panel (With 3D Structure vs. Sequence Only) triage plots directly within each individual property section for focused analysis.
  • Independent Ginkgo GDPa1 Zero-Shot Benchmark (N=246): Generated and embedded Four-Quadrant Zero-Shot Clinical Triage plots for the external 2025 GDPa1 benchmark dataset, demonstrating high liability discrimination across Hydrophobicity (ROC-AUC \(= 0.724\)), Self-Association (ROC-AUC \(= 0.784\)), Colloidal Stability (ROC-AUC \(= 0.716\)), and Polyreactivity (ROC-AUC \(= 0.804\)) using sequence-only DeepSP descriptors (without 3D structural modeling or surface patch solvation potentials SPH/SPP/SPN/SPCD), complete with formal CC BY-NC 4.0 scholarly attribution.
  • Clinical Training Cohorts & Methodology: Detailed the curation of the 180+ clinical-stage antibody reference cohort (Jain, Shehata, Tomar, Sharma), the 45+ multi-modal candidate feature space (3D surface patches, 30 DeepSP spatial maps, pLMs, electrostatics, OASign humanness), stepwise feature selection, and regularized Ridge regression formulations.

  • Identical Germline Shading & Sort by Germline in Alignment: Enhanced the Sequence Alignment viewer and Excel export to dynamically shade identical germline rows with consistent group colors and provide one-click sorting by germline gene:

  • Visual Germline Cluster Shading: When the Germline toggle is enabled, all rows sharing identical closest germline gene assignments (e.g. IGHV3-23*01 / IGHJ4*01 or IGKV1-39*01 / IGKJ1*01) are rendered with matching soft pastel background tints, distinctive left border accents, and coordinated label typography.

  • Standardized Clading Palette Integration: Colors are dynamically assigned using the platform's standardized 20-color clading palette, making it effortless to visually group and differentiate clone lineages across heavy and light chain alignments.
  • Sort by Germline Sub-Toggle: Added a dedicated sub-checkbox under Germline, Sort by Germline. Checking it automatically groups and sorts sequence entries alphabetically by their assigned germline gene within each chain section, while unchecking it smoothly restores the default project sequence order.
  • Synchronized Alignment Excel Export: Exporting alignments with germlines included preserves the matching germline cluster colors, soft background fills, and active germline sort ordering in the exported Excel spreadsheet.

  • Automatic Nucleotide Sequence Detection & Frame 1 Translation: Enhanced sequence imports across the platform (Standalone Import, Dashboard New Project Modal, Add Files, and Add FVs) to automatically detect imported nucleotide sequences:

  • Interactive Nucleotide Warning Modal: If uploaded sequence files or pasted text contain nucleotide sequences rather than amino acids, an interactive warning modal is presented detailing the affected sequences.

  • First Forward Reading Frame (Frame 1) Translation: Users can choose to convert nucleotide sequences directly into amino acid sequences (assuming reading Frame 1), proceed as-is without translation, or cancel to adjust input.
  • Automated Sequence Legitimacy Verification: Converted sequences are thoroughly validated for biological legitimacy before proceeding, checking for internal stop codons, unresolved residues, adequate sequence length, and valid antibody variable domain recognition to ensure reliable downstream analysis.

  • Targeted Search Area Filters in Dashboard & Project View: Enhanced search across both the project Dashboard and the Project View results toolbar to allow filtering queries to specific data areas:

  • Interactive Area Filter Selectors: Added Area Filter dropdown menus directly integrated into both the Dashboard and Project View inner toolbar search bars. Users can filter queries to All Areas, Entry Name, Notes, Sequence, Germline, or Metadata / Values (along with Project Name and Labels on the Dashboard).

  • Intuitive Search Prefix Syntax: Added support for search prefixes (e.g. name:trastuzumab, project:study, entry:clone1, notes:humira, label:candidate, seq:EVQLV, germline:IGHV3-23, meta:IC50), enabling rapid keyboard-driven searches across targeted attributes in both views.
  • Dynamic Banner & Results Table Filtering: The search summary banner on the dashboard explicitly reflects the active search filter scope (e.g. Found 3 projects matching "trastuzumab" in Project Name), and project results tables filter dynamically by matching attribute scopes and query parameters.

2026-08-26

  • Lineage & Developability Evolution Mapping in Clading Analysis: Expanded the Clading Analysis workspace with comprehensive B-cell lineage tracking, somatic hypermutation (SHM) divergence rooting, multi-family unmutated germline precursors, site-specific ancestral branch liability mapping, real-time liability filtering, and circular clade sector overlays:

  • Multi-Germline (UCA) Family Rooting & SHM Divergence: Added a toggle to root the phylogenetic tree with the project's assigned canonical Germline (Unmutated Common Ancestor / UCA) Precursors. For diverse multi-lineage datasets (e.g. clones from multiple distinct V/J germlines), the engine dynamically groups clones and generates distinct family-specific germline roots (e.g. Germline (IGKV1-39 / IGHV3-23) and Germline (IGLV2-14 / IGHV1-69)), retrieving true unmutated reference sequences from the IMGT/V-BASE database and measuring true somatic hypermutation (SHM) divergence percent and mutation counts against each clone's exact family precursor.

  • Clean Clade Default View & Instant Dynamic Controls: By default, clading trees open in a clean sequence dendrogram state (branch liability badges disabled and no overlay metrics selected), allowing users to focus on core phylogenetic relationships. Moved the primary "Run Clading Analysis" button to the top of the settings sidebar for easy access, and made "Include Germline (UCA) Roots", "Show Branch Liability Badges", "Clustering Basis", and "Overlay Metrics" completely dynamic, reacting instantaneously upon click without requiring manual re-runs.
  • Site-Specific Ancestral Branch Liability Parsimony: Tree branches dynamically display parsimoniously placed developability badges (⬡ D for Deamidation, ▲ M for Met Oxidation, ◆ G for N-Glycosylation, ◼ C for Unusual/Free Cysteine, ⬢ FR for Severe Framework Disruptions, etc.) evaluated at the exact residue position and motif level and ordered strictly by Light Chain (VL) first, then Heavy Chain (VH), by IMGT numbering position. Added a dedicated "Show Branch Liability Badges" toggle in settings to easily switch between liability-annotated trees and clean sequence dendrograms. If a specific mutation is shared across an ancestral branch, a prominent shared badge is placed on the parent branch detailing the residue coordinates and descendant clones (e.g. Shared by 3 clones: Deamidation at H:110-112A (NNY)); private mutations unique to an individual clone appear exclusively on that clone's leaf branch.
  • Candidate Lineage & Developability Flyout Card: Clicking any candidate leaf in the dendrogram opens an interactive candidate details card displaying KBC Score, SHM mutation count, assigned germline root, assigned germline genes (VL: ... | VH: ...), and detected sequence liabilities with a 1-click jump button into the sequence alignment.
  • Streamlined Sequence Alignment Grid: Cleaned up the alignment table view by removing metric numbers from candidate names and removing metric summary text from cluster consensus rows (Cluster X Consensus) for maximum sequence clarity, and decoupled table clicks so clicking sequence rows smoothly toggles row selection and multi-row highlighting without modal popups.
  • Developability Multi-Metric Overlay & ABHAND Homology Clading: Added clustering basis selection between Sequence Identity (Hamming distance) and ABHAND property homology, multi-metric side-by-side tree overlays with non-overlapping headers, dynamic cluster averages, platform-standard severity color coding across all metrics (including Total Liabilities, # Disrupted CDR3 Salt Bridge, and # Severe FR Violations), clean metric badge suppression for unmutated germline roots, and synchronized multi-metric Excel and SVG exports.
  • Interactive Liability Highlighting & Dimming Filter: Added a sidebar liability filter panel with real-time checkboxes (Deamidation, Isomerization, N-glycosylation, MetOx, TrpOx, Free/Unusual Cys, Severe FR Violations, High Risk Overall). Checking liabilities instantly highlights matching candidate leaf labels and alignment rows while softly dimming clean clones to opacity: 0.20 for rapid developability triage.
  • Circular Clade Sector Arcs & Outer Labels: Circular dendrogram layouts now feature shaded background sector arcs and outer curved clade bracket labels (Clade X (N=...)) for effortless family and lineage cluster identification.

2026-08-25

  • Standardized Export Excel Button & Icon Styling Across Tools: Standardized the visual appearance of all "Export Excel" action buttons and export dropdown menu items across the platform (including Predict Biophys, Physical Properties, Humanness, RPEMHC, Germline, Humanization, Alignment, Liabilities, Surface Properties, Clading, PFA, Clinical Comparison, Engineer pI, and PLAbDab Search) to use the signature green Excel icon (#16A34A) and uniform .btn-action styling.

  • Direct Value Color Coding & Streamlined Excel Export in Predict Biophys: Streamlined the Candidate Predictions table and Excel export by directly color-coding predicted numeric values with platform severity colors (Green for Low Risk, Orange/Amber for Moderate, Red for High Liability) using crisp black font and removing redundant trailing risk text columns/bubbles. Implemented the standard Results dashboard cell overlay tinting so that row hovering and multi-row selection preserve underlying cell severity colors. Aligned the Excel export headers, typography, and sizing to match the web tool and platform standard Results export (concise headers matching the web UI, Calibri 11pt font, and dynamic column width auto-fitting across both sheets), updated page subtitles to accurately reflect the full 180+ clinical antibody cohort (Jain, Shehata, Tomar, and Sharma) and DeepSP spatial descriptors, and ensured the Benchmark Reference Excel tab exactly matches the web tool's benchmark colors (Green #16A34A and Blue #2563EB for Spearman \(\rho\), Green #16A34A and Amber #D97706 for ROC-AUC, and confidence tier badge styling) while preserving full quantile reference context in tooltips.

  • Dashboard Labels Sidebar Collapsed by Default & State Persistence: The Labels sidebar panel on the main project Dashboard now opens in a collapsed state by default to maximize table workspace. Toggling the sidebar (via the hamburger icon button) or expanding/collapsing nested label trees now automatically saves and remembers the user's preference in browser storage across sessions and page reloads.

  • Interactive Row Selection & Deselect Icon in Predict Biophys: Added interactive row selection to the Candidate Predictions table in Predict Biophys, styled consistently with the Alignment and Liabilities tools (highlighted with a light blue background and crisp blue borders). Users can click rows to toggle selection, deselect all entries with the standard deselect button (.clear-section-btn) positioned to the left of "Entry Name" in the table header or using the Escape key, and export only selected entries directly to Excel.

  • RPEMHC 2D Class II MHC Binding Heatmaps in Humanness: Added interactive 2D Sequence \(\times\) Alleles Matrix Heatmaps directly to the Humanness analysis workspace. The card is collapsible by default—matching the styling and behavior of the Summary of Benchmark Results in Predict Biophys—and displays 15-mer sliding windows across the full 20-allele panel (11 Tier 1 DRB1 core + 9 Tier 2 extended alleles) and Total Binders (\(\ge 0.50\)) column for both Light (VL) and Heavy (VH) chains, strictly limited to the Fv region with Light-before-Heavy chain ordering and 1-click publication PNG/SVG figure exports.

  • Non-Blocking Concurrent Downloads Across AbLead: Upgraded all file and figure export triggers across the platform (including Main Project View, Alignment, Clading, Predict Biophys, Solvent Exposures, Mutation Grids, RPEMHC, Humanness, and Dashboard project archives) to use asynchronous, non-blocking downloads. Users can now click multiple export buttons in rapid succession (e.g. exporting VL PNG, VH PNG, Excel, and CSV simultaneously) without in-flight requests canceling each other or causing browser navigation stalls.

  • Predict Biophysical Properties Analysis Tool (Predict Biophys): Added a new dedicated analysis workspace, Predict Biophys, under the Analysis menu in AbLead. The tool uses a multi-modal predictive machine learning engine trained and validated on clinical-stage therapeutic antibodies (Jain et al. 2017, Tomar et al. 2016, and Sharma et al. 2014) to forecast quantitative biophysical developability attributes from sequence and structural features:

  • Sequence-Based Spatial Profiling with DeepSP: Integrated DeepSP (Deep Spatial Properties) convolutional neural network surrogate models to rapidly predict 30 spatial aggregation propensity (SAP) and spatial charge map (SCM) descriptors directly from antibody sequences, enabling developability predictions for sequence-only clones without requiring physical 3D modeling.

  • Explicit Model Type Attribution: Each entry clearly indicates whether predictions were generated using Seq + 3D Struct (integrating 3D coordinate surface patches and DeepSP descriptors) or Sequence Only (using DeepSP spatial descriptors for clones without 3D models).
  • 10 Quantitative Biophysical Developability Readouts: Predicts quantitative values and clinical risk percentiles across 10 critical assays: Hydrophobicity (HIC Retention Time), Colloidal Stability (SMAC Retention Time), Self-Association (AC-SINS \(\Delta\lambda_\text{max}\) and SGAC-SINS), Polyreactivity (BVP ELISA and PSR SMP Score), Cross-Interaction Chromatography (CIC), Thermostability (DSF Fab \(T_m\)), Expression Titer (HEK), and High-Concentration Viscosity (\(\text{cP}\) at \(150\text{ mg/mL}\)).
  • Standardized Clinical Risk Badges: Each predicted value is color-coded against established clinical reference percentiles using platform severity colors (Low Risk in Green #88B46C, Moderate in Amber #E29848, and High Liability in Red #CF4A3C).
  • Side-by-Side Benchmark Performance & Independent GDPa1 Validation: The Summary of Benchmark Results card presents side-by-side LOOCV Spearman \(\rho\), Pearson \(r\), and Liability ROC-AUC metrics comparing models trained With 3D Structure versus Sequence Only. The documentation includes independent zero-shot validation on the 2025 Ginkgo GDPa1 benchmark dataset (\(N=246\)), confirming strong generalization on AC-SINS self-association (ROC-AUC \(= 0.784\)), high-concentration viscosity (ROC-AUC \(= 0.745\)), and polyreactivity (ROC-AUC \(= 0.804\)).
  • Interactive Draggable Column Resizing: Made the frozen Entry Name column interactively draggable and resizable (with width preferences automatically persisted), preventing truncation of long clone identifiers.
  • Multi-Entry Analysis & Styled Excel Export: Supports analyzing one or multiple selected antibodies simultaneously with interactive multi-column composite sorting, tooltips showing clinical quantile boundaries, and one-click openpyxl Excel exports featuring confidence tiers directly in the title row headers colored by confidence level (High Confidence in soft green #DCFCE7 vs Info Only in slate #E2E8F0).

2026-08-24

  • Dashboard Search Results Visibility & Column Name Tags: Fixed an issue where performing a search from the Dashboard search bar hid matching projects if they were not assigned to the active sidebar label (such as "Active Projects"). The search view now defaults to showing all matching projects across all folders and labels, while preserving the user's previously selected label filter upon clearing the search. In addition, matching search hits now display the specific column title (e.g. IC50: 82.5, AbLang Full: 82.23, Yield) rather than generic custom metadata or value: tags under matched project entries.

  • Dashboard Table Header Theme Styling: Updated the main project list table header title row on the Dashboard to use a soft, light theme tint background color (#e7ebef / --theme-color-light, derived from the brand #c9cfd6 theme) with contrasting navy text (--navy), providing a clean, subtle visual separation aligned with the platform theme.

  • Multi-Tier Stability Scoring & Dynamic # Severe FR Violations Column: Enhanced antibody stability evaluation across the platform with 4-tier conditional color formatting (Green/Good, Yellow/Low, Orange/Medium, Red/High) and a dynamic # Severe FR Violations column in the Stability category. Continuous stability scores across all models (AbLang, AbLang2, IgBert, and CVV, covering both Full Fv and Framework-only FR) are now calibrated directly against empirical severe single-residue disruption distributions and quartile percentiles across the reference human clinical dataset (588 clinical antibodies in Thera-SAbDab_Jain_Human_FullLength). The new # Severe FR Violations column automatically aggregates distinct framework residue positions with severe violations across all models and renders dynamically upon project opening and across Excel/CSV exports with zero project re-runs required.

2026-08-23

  • Germline Text Search Across Dashboard and Project Results: Added support for searching antibody germline classifications (including V-Gene, J-Gene, Species, Leader, and Constant region annotations) directly from both the main Dashboard search and the in-project search bar. Queries support exact gene names (e.g. IGHV3-23, IGKV1-39), species terms (e.g. human, mouse), and domain-specific scoping modifiers (.vh, .vl, .fv) with real-time match reason tags (heavy germline, light germline).

  • Dashboard Search Empty State Refinement: When a search query yields no matching projects, the Dashboard now presents a dedicated search empty state (No projects found matching "query". [Clear search]) rather than prompting the user to import a new project.

  • In-Project Results Search & URL State Synchronization: Resolved an issue where searching from within a project did not filter the results grid. Searches initiated from the project view toolbar now immediately filter the virtualized results grid and update the browser URL state to preserve active queries across refreshes.

  • IgBert Stability Score Formatting & Penalty Recalibration: Recalibrated the default conditional formatting ranges and developability scoring rules for IgBert Full and IgBert FR to align with the empirical 25th (\(p_{25}\)) and 75th (\(p_{75}\)) percentiles of the human clinical therapeutic antibody reference dataset (584 human clinical antibodies in Thera-SAbDab). For IgBert Full, the Good threshold is now \(\le 10.0\) and Severe (Red) is \(> 27.0\) (previously \(9.36\) and \(17.11\)), resolving an issue where standard approved clinical antibodies were aggressively over-flagged in red due to a low cutoff near the median. For IgBert FR, the Good threshold is now \(\le 1.5\) and Severe (Red) is \(> 10.0\) (previously \(4.33\) and \(10.32\)).

  • Results View Fresh Scroll State on Project Entry: When opening a project from the Dashboard or navigating to a project, the Results grid now opens fresh at the start of the table instead of restoring previous scroll coordinates. In-project operations (such as editing entry names, notes, custom metadata, or refreshing data) continue to preserve the active scroll position smoothly.

  • Passkey Autofill & 1-Click Sign-In: Upgraded the login page to support modern Passkey Autofill (WebAuthn Conditional UI) and 1-click passkey sign-in. When focusing the email field on supported devices and browsers (such as Google Chrome, Safari, and Edge), saved passkeys appear directly in the browser's autofill dropdown for instant biometric authentication (Touch ID, Face ID, Windows Hello) without typing an email address. The "Sign In with Passkey" button is now active by default, allowing seamless 1-click modal passkey login.

2026-08-22

  • Interactive Multi-Column Composite Sorting Across Results, Humanness, Physical Properties, Engineering, and Engineer pI: Enhanced the project Results grid, the High-Risk MHC-II Epitopes (Hotspots) table, the Physical Properties grid, the Mutation Designs table in Engineering, and the Combinations table in Engineer pI with interactive multi-column composite sorting. Users can sort by multiple criteria simultaneously (e.g. clicking PROPKA and then Humanness to sort hierarchically). The sort engine maintains a dynamic sort stack with numbered precedence badges (1, 2, 3...) beside active sort arrows, supporting a smooth 3-way cycle (Ascending \(\rightarrow\) Descending \(\rightarrow\) Remove), clean default sort state preservation, and session persistence across page updates.

2026-08-21

  • Framework-First Prioritization & ABHAND Sequence Homology in Germline Analysis: Upgraded germline species and gene assignment across the platform (initial project analysis, Germline workspace, Humanization, and PFA ranking) to prioritize Framework (FR1–FR3 for V, FR4 for J) sequence identity and Framework ABHAND sequence homology over full-length sequence matching, followed by Full V-domain identity/homology and human species preference. This eliminates false non-primate species classifications for engineered, humanized, and affinity-matured antibodies caused by grafted or mutated CDR loops. In the Germline analysis workspace, the default Sort By mode is now set to Framework Residues (with Full Sequence available as a toggle), and row labels display identity and homology percentages side-by-side (e.g., (78.4% / 84.5% Hom)).

  • Zero-Waterfall Inlined Data & High-Performance DOM Virtualization for Main Results Grid: Accelerated the project Results grid to load instantaneously in a single network request while dramatically reducing browser memory consumption (RAM) on large antibody datasets. By inlining structured analysis results directly into the initial HTML response and utilizing client-side DOM virtualization, the page renders the visible viewport slice (~40–50 rows) immediately upon arrival with zero loading spinner delay or secondary network waterfalls. Memory usage is reduced by up to 95% across multi-thousand-row datasets while maintaining 60 FPS smooth scrolling, sticky headers and sequence names, Gmail-style select-all, in-memory 3-way column sorting, multi-column popover filters, relative anchor scroll tracking, and inline double-click editing.

  • Instant Dynamic Loading, Sorting & Filtering for PDB Files Workspace: Significantly accelerated the load time and responsiveness of the PDB Files project management workspace. Rather than waiting for complex 3D molecular coordinate files to parse before displaying the page, the workspace now opens instantaneously with an animated loading skeleton while retrieving structural sequence metadata asynchronously in the background. Column sorting (Entry Name, PDB Filename, Extracted Sequences) and multi-column text filtering operate seamlessly with instantaneous in-memory performance, preserving full support for Gmail-style select-all, range selection, bulk downloads, and interactive 3D Molstar structural viewing.

  • Engineering & Observations Modal Support for Residues in Solvent Exposures: Added interactive Engineering and Observation editing to query residues in the Solvent Exposures analysis workspace. Users can now click any residue cell in the AA column of the VL and VH sequence analysis tables to open the standard Engineering modal, view library mutagenesis permissibility data, add/edit mutation designs, or record residue observations. Mutation (eggshell square), observation (orange circle), or dual (powder blue) indicator badges render dynamically on residue cells and synchronize in real time across tools without requiring a full page refresh.

  • Engineer pI Fast PROPKA Delta Titration for Combinatorial Variants: Optimized empirical structure-based folded isoelectric point (\(\text{pI}\)) calculations in the Engineer pI combinatorial variant generator using Delta Titration on the parent 3D PROPKA electrostatic baseline. Because engineered candidate positions are selected for high solvent accessibility (\(\text{SASA} > 10.0\,\text{Å}^2\)), substituting the parent residue's folded titration curve with candidate mutant residue profiles computes folded \(\text{pI}\) values across 100 combinations in milliseconds (down from 20+ seconds) while maintaining high structure-based accuracy. Added an informative reference card in the Engineer pI workspace explaining Delta Titration.

  • Standardized 3D Structure Camera Orientation & PyMOL Export (CDRs Up, VL on Left): Introduced universal automatic 3D camera orientation for antibody structures viewed in Molstar and exported to PyMOL scripts. Using conserved canonical residues (C23 and C104 across Variable Light and Variable Heavy chains), the system automatically computes 3D geometric alignment vectors to present every antibody structure in the standard canonical view with CDR antigen-binding loops pointing UP, the Variable Light chain (VL) positioned on the LEFT (+25° forward angle), and Variable Heavy (VH) on the RIGHT with tight variable domain framing. Rolled out across all 12 3D structure views (PDB Files, Liabilities, Covariance, Germline, Humanization, Humanness, PFA, Engineer pI, Engineering, Solvent Exposures, Surface Properties, and Surface Mutagenesis) and embedded into all downloadable PyMOL Python scripts (cmd.set_view and cmd.set('orthoscopic', 1)).

2026-08-20

  • Unified OASign & RPEMHC Humanness Workspace: Merged the separate OASign and RPEMHC modes into a single, unified Humanness Analysis workspace. The view features two synchronized summary score rows (Row 1 — OASign Repertoire Humanness with top germline gene assignments; Row 2 — RPEMHC ADA Immunogenicity Risk with presenting allele context), dual-track sequence alignment cards (Query OASign colored by non-human 9-mers; Query RPEMHC colored by MHC-II binding affinity), and side-by-side diagnostic table columns displaying OASign %, MHC-II score, PFA %, AbLang diff, and AbLang2 diff simultaneously. Updated Excel export to produce a single unified multi-sheet workbook with dual metric scoring and 20-allele breakdown.

  • Germline Context & Noise-Reduction Filtering for High-Risk MHC-II Epitopes: Enhanced the High-Risk MHC-II Epitopes (Hotspots) table in the Humanness and standalone RPEMHC workspaces with human germline context to help engineers distinguish between tolerated natural human self-peptides and actionable immunogenic liabilities. Added color-coded Germline Status badges (🟢 100% Germline, 🟡 Somatic/Point Mutations, 🟣 CDR3 Junction, 🔴 Non-Germline) and rich alignment tooltips detailing exact mutations against matched human germlines. Added a 1-click filter toolbar allowing users to instantly filter the hotspots table to Non-Germline Only to remove noise and focus engineering solely on actionable neo-epitopes. Updated Excel exports with germline status, sequence, and mutation breakdown columns.

  • Dashboard Date Run Column: Added a dedicated Date Run column to the main project list table on the Dashboard alongside Date Created. The column displays the localized start timestamp of the project's most recent analysis run (or an em dash if no runs have occurred yet), with interactive single-line width resizing, three-way sorting (ascending, descending, default), and column filtering.

  • First-Principles Population-Weighted RPEMHC ADA Probability Model: Upgraded the RPEMHC immunogenicity metric from reference-set percentile averages into a first-principles biophysical probability model predicting the probability (\(0.0000 – 1.0000\)) that an antibody variable domain (Fv) triggers helper T-cell priming and downstream anti-drug antibodies (ADA) in the human population. The metric is formatted as a 4-decimal float (RPEMHC VL, RPEMHC VH, and RPEMHC Fv) for consistency with Sapiens and OASign. The model calculates pocket binding probabilities across 15-mer sliding windows, pools distinct physical epitope clusters, and weights presentations by global human HLA-DRB1 population frequencies. Updated developability weights and conditional formats to unequivocally flag high-risk immunogenic candidates (such as Bococizumab with \(0.4630\) Fv ADA probability) in red.

  • High-Risk MHC-II Epitopes Summary Card & Fv-Only Humanness Export: Introduced an interactive High-Risk MHC-II Epitopes (T-Cell Hotspots) summary card in the Humanness and standalone RPEMHC workspaces. The card automatically detects and clusters high-risk 15-mer sliding windows, displaying localized CDR badges, presenting HLA allotypes, and population breadth indicators. Hotspot Excel exports now cleanly differentiate between the Fv variable domain in Humanness and full-length sequence scanning in standalone RPEMHC.

2026-08-19

  • Dashboard & Run Status Cancellation: Added a Cancel Runs action item to the Dashboard menu directly under Re-run Selected, allowing users to immediately cancel and terminate all of their active and queued project analyses with a secure confirmation warning modal. The action is dynamically disabled and styled in gray when the user has no running or queued analysis jobs. Added a matching Cancel Run action button to the bottom of the real-time Run Status page (/status/<run_id>) to stop individual project runs on demand.

  • RPEMHC 2D Allele Matrix Heatmap & 20-Allele Global Panel: Upgraded the standalone RPEMHC immunogenicity analysis tool and Humanness RPEMHC mode to evaluate an expanded panel of 20 human HLA Class II alleles spanning both Tier 1 (11 core HLA-DRB1 alleles) and Tier 2 (9 HLA-DRB3/4/5, HLA-DQA1/DQB1, and HLA-DPA1/DPB1 alleles). Introduced an interactive 2D Sequence \(\times\) Alleles Matrix Heatmap displaying 15-mer sliding peptide windows alongside rotated allele columns, color-coded by immunogenicity severity with ABHAND chemical property residue coloring and a dedicated Total Binders column. Added one-click high-resolution PNG and vector SVG publication figure exports and expanded multi-allele Excel workbooks.

  • Enhanced Visual Entry Grouping in Alignment: Improved row clarity and visual association in the Alignment analysis workspace when auxiliary tracks (Linear numbering and/or Germline) are enabled. Active multi-row entries form a distinct visual group box in the sticky sequence name column, bounded by clear vertical accent and horizontal divider lines. When hovering over any row or residue in an entry, the entire sequence group and its associated linear and germline tracks highlight together in sync, while the sequence residue grid retains clean, uniform styling.

2026-08-18

  • Closest Germline Display & Drag-Sort Alignment Grouping in Alignment: Added a Germline setting with a toggle checkbox to the Alignment analysis toolbar. When enabled, a dedicated Germline row is displayed beneath each antibody entry across Light (Kappa/Lambda) and Heavy chains showing its closest matching V and J germline sequences. Germline rows are styled with platform-standard ABHAND residue colors and faded where residues match the entry sequence, making somatic mutations and germline deviations instantly recognizable. Germline rows are grouped directly with their parent entry, automatically staying synchronized during drag-and-drop sequence reordering, row selection, and Excel export.

  • Engineering & Observations Modal Support for Query Residues in Humanization: Added interactive Engineering and Observation editing to Query sequence residues in the Humanization analysis workspace. Users can now click any residue cell in the Query sequence row across Light and Heavy chains to open the standard Engineering modal, edit mutation designs or view/add residue observations, and view dynamic mutation (square) and observation (circle) indicator badges. Mutation and observation updates sync dynamically in real time without requiring page refreshes.

  • Sticky Sequence Header Rows & Streamlined Navigation in Germline & Humanization Tools: Sticky headers across both the Germline and Humanization analysis workspaces now include the complete sequence context—displaying Region labels (North, IMGT, Kabat, etc.), Scheme Numbering (IMGT/Kabat), Mature Linear sequence numbering, the Query antibody sequence, and humanization template masks alongside the chain title and top horizontal scrollbar. As users scroll vertically through extensive lists of matched germlines, the entire header and query context remain pinned to the viewport and synchronized with horizontal scrolling. The redundant bottom scrollbar has been removed, providing a clean, uninterrupted scrolling experience.

  • Engineer pI Combinations 3D Structure-Based PROPKA pI Support: Added a dedicated PROPKA column between pI and pAbLang Full in the Combinations tab of the Engineer pI tool and in its Excel export. Because Engineer pI requires an associated 3D structural model, the system now computes empirical structure-based folded isoelectric points (\(\text{pI}\)) using PROPKA 3 directly on in-silico mutated 3D antibody structures (combining variable domain 3D electrostatics with constant domain titration across the hinge). Users can directly evaluate and compare theoretical sequence-based \(\text{pI}\) alongside folded structure-based \(\text{pI}\) predictions across all generated combinatorial designs.

2026-08-17

  • Physical Properties Multi-Scale Sequence pI & Hybrid PROPKA Structure Support: Expanded the Physical Properties analysis workspace and Excel export with 12 additional popular sequence-based isoelectric point (\(\text{pI}\)) calculation methods (including IPC Protein, IPC Peptide, EMBOSS, Solomon, Sillero, Rodwell, Lehninger, Grimsley, Toseland, Thurlkill, Dawson, and ProMoST) alongside the default Bjellqvist standard. Integrated PROPKA 3 to provide pI (PROPKA / Bjellqvist) for full-length constructs (combining Fv 3D electrostatics with Bjellqvist constant domain titration) and pI (PROPKA Fv) for trimmed variable domains. All \(\text{pI}\) columns in both the interactive grid and Excel export are dynamically styled using the user's active Format Preferences and project Format Presets.

  • Compact Documentation Search Result Snippets: Added CSS line clamping to documentation search result previews (docs/stylesheets/extra.css). Search result snippets are now cleanly clamped to two lines with ellipsis truncation, providing scannable and compact search matches without long blocks of text.

  • Bjellqvist pI Methodology Documentation & Literature Citations: Added comprehensive documentation and formal literature citations for the Bjellqvist isoelectric point (pI) calculation method across the Project View, Engineer pI, and Physical Properties user guides (ProjectView.md, Engineer_pI.md, PhysicalProperties.md). Documented the multi-chain charge summation algorithm, side chain and terminal group pKa values, and bisection algorithm used to compute theoretical pI and guide charge-shifting mutations.

  • Company-Based Project Sharing Across Email Domains: Enabled project sharing between users belonging to the same company even when their email addresses use different domains. Users assigned to the same organization can now find each other in the sharing dialog and collaborate seamlessly on antibody projects.

2026-08-16

  • PDB Files & Platform-Wide PyMOL CDR Alignment Parity: Fixed an issue where CDR and framework region coloring in PyMOL export scripts was shifted relative to the 3D Molstar viewer for structures containing leader peptides or non-zero N-terminal offsets. PyMOL export scripts now dynamically align mature antibody sequence coordinates with loaded structure CA atoms in PyMOL on the fly, ensuring 100% accurate CDR coloring across all PDB numbering formats and precursor sequence offsets.

  • PyMOL Export Clean Naming Standard: Standardized all PyMOL script export endpoints across AbLead (.py files) to use clean, deterministic filenames without date/time timestamps (e.g. [entry name]_Structure.py, [entry name]_Liabilities.py, [entry name]_SurfaceMutagenesis.py, [entry name]_SurfaceProperties_[METRIC].py, [entry name]_Germline.py, [entry name]_Humanization.py, [entry name]_Humanness.py, [entry name]_PFA.py, [entry name]_SolventExposures.py, [entry name]_Covariance.py, [entry name]_Engineer_pI_Single_Variants.py). Spreadsheet, data table, report, and archive exports continue to include standard timestamps.

  • Liabilities PyMOL Display & Color Parity: Updated Liabilities PyMOL script generation (pymol_output.py, routes/exports/liabilities.py, templates/liabilities.html) to achieve 100% color and display parity with the 3D structure viewer and grid. Fixed an issue where residues with multiple liabilities (such as AbLang + IgBERT + CVV at VH:Y93) fell back to a brownish severity color rather than pure red (#FF0000), and filtered out non-liability cysteine sidechain displays and sub-threshold AbLang positions so only active liabilities are rendered. Liabilities render in stick mode by default and in spacefill mode when selected with "Spacefill Selected" checked.

  • Chain & Residue Selection Resolution in PyMOL Exports: Fixed an issue across Engineering, Germline, Humanization, Covariance, and PFA PyMOL exports (routes/engineering.py, routes/exports/*.py) where amino-acid-prefixed position strings (e.g. VL:T9, VH:T9) or chain tags (VL/VH) could be misclassified or rejected during integer parsing. PyMOL exports now accurately parse amino acid prefixes, match scheme position codes, and route selections to the correct chain (VL on chain L/chain K and VH on chain H).

  • Full Spacefill Rendering for Selected Residues in Germline: Updated 3D Molstar visualization in the Germline analysis workspace (templates/germline.html) so selected positions render with full atomic spacefill sphere representations. Also synchronized the sidebar and 3D viewer banner style selectors to toggle seamlessly between Spacefill and Ball-and-Stick.

  • Covariance PyMOL Export Color Parity & Clean Naming: Updated Covariance PyMOL export (routes/covariance.py) to achieve 100% color parity with the Molstar 3D viewer. Aggregated OMES/conservation scores across active violation pairs to accurately map severity colors (Low: Yellow #F8D548, Medium: Orange #E29848, High: Red #CF4A3C), rendered selected violations as spheres and unselected violations as sticks, and displayed selected non-violation columns in their respective region colors (CDR/Framework). Removed date/time timestamps from export filenames ([entry name]_Covariance.py).

  • Engineer pI PyMOL & Excel Export Clean Naming: Updated Engineer pI export endpoints (routes/exports/engineering_pi.py) to remove date/time timestamps from export filenames, downloading scripts cleanly as [entry name]_Engineer_pI_Single_Variants.py or [entry name]_Engineer_pI_Combinations.py (and Excel files as [entry name]_Engineer_pI_Targets.xlsx and [entry name]_Engineer_pI_Combinations.xlsx). Disabled extraneous cysteine sidechain displays (show_cysteines=False).

  • Surface Mutagenesis PyMOL Display Parity & Clean Naming: Updated Surface Mutagenesis PyMOL export (routes/engineering_pi.py, templates/surface_mutagenesis.html) to achieve complete parity with the Molstar 3D viewer. Exported scripts now represent checked target residues (Selected_Targets) in the user's selected style (Spacefill / spheres by default) and candidate unselected surface residues (Unselected_Targets) in the unselected style (Ball-and-Stick / sticks by default) with CPK atom coloring (util.cnc). Removed date/time timestamps from export filenames ([entry name]_SurfaceMutagenesis.py) and disabled extraneous cysteine displays (show_cysteines=False).

  • Solvent Exposures PyMOL & Excel Export Clean Naming: Updated Solvent Exposures export endpoints (routes/exports/solvent_exposures.py, templates/solvent_exposures.html) to remove date/time timestamps from export filenames, downloading scripts cleanly as [entry name]_SolventExposures.py (and Excel files as [entry name]_SolventExposures.xlsx). Added support for the Selected Style (Spacefill vs Ball-and-Stick) preference, disabled extraneous cysteine sidechain displays (show_cysteines=False), and improved chain routing accuracy for selected residues.

  • PFA Chain Resolution, Clean Naming & Toolbar Cleanup: Fixed an issue in the Positional Frequency Analysis (PFA) workspace (templates/pfa.html, routes/exports/pfa.py) where selected residue columns with chain prefixes (e.g. VH:93, VL:10) could be mapped to the wrong chain in the 3D Molstar viewer or PyMOL export. PFA now accurately routes heavy chain selections to Chain H and light chain selections to Chain L/K, stripping amino acid prefixes and supporting IMGT fallback lookup. Removed the redundant top toolbar Selected Residue Style dropdown in favor of the Molstar 3D banner selector, removed date/time timestamps from export filenames ([entry name]_PFA.py, [entry name]_PFA.xlsx), and disabled extraneous cysteine displays (show_cysteines=False).

  • Humanness (OASign / RPEMHC) PyMOL Export Fix & Clean Naming: Fixed an issue in the Humanness workspace (templates/humanness.html, routes/exports/humanness.py) where clicking Export PyMOL failed due to an undefined antibody variable. Export PyMOL now properly generates and downloads the script named cleanly as [entry name]_Humanness.py (and Excel exports as [entry name]_Humanness_OASign.xlsx / [entry name]_Humanness_RPEMHC.xlsx), rendering selected residues with CPK atom coloring and removing unselected outliers and cysteine displays.

  • Germline & Humanization PyMOL Export Selection-Only Display & Clean Naming: Updated Germline and Humanization PyMOL exports (routes/exports/germline.py, routes/exports/humanization.py, templates/germline.html, templates/humanization.html) so only explicitly selected residues in the grid are shown, rendered with CPK atom coloring (util.cnc) and obeying the user-selected style (Spacefill vs Ball-and-Stick). Removed unselected difference sticks and extraneous cysteine displays, and eliminated date/time timestamps from export filenames ([entry name]_Germline.py, [entry name]_Humanization.py, [entry name]_Germline.xlsx, [entry name]_Humanization.xlsx).

  • Surface Properties PyMOL Export Constant Domain Coloring: Fixed constant domain coloring in Surface Properties PyMOL exports (routes/exports/surface_properties.py), establishing parity with Liabilities. Constant regions (CL, CH1, CH2, CH3, HINGE) and fallback non-Fv domain segments are correctly selected and rendered in standard constant domain colors (col_CL and col_CH1), while maintaining surface metric visualization strictly over the variable domain (Fv).

  • Liabilities PyMOL Export Naming & Single Entry Direct Download: Updated PyMOL export in the Liabilities workspace (routes/exports/liabilities.py, pymol_output.py) so each generated PyMOL script is named [entry name]_Liabilities.py. When a single antibody entry is exported (or only one entry is selected), the script is downloaded directly as an uncompressed .py file instead of creating a .zip archive. When multiple entries are exported, they continue to be packaged into a project .zip archive.

  • Export PyMOL Across All 3D Structure Viewers: Added the Export PyMOL action button directly to the 3D Structure (Molstar) banner across all analysis and engineering workspaces in AbLead, including Liabilities, Surface Properties, Germline, Humanization, Covariance, Engineer pI (Single Variants & Combinations), Humanness (OASign/RPEMHC), Positional Frequency Analysis (PFA), Solvent Exposures, Surface Mutagenesis, and PDB Files. Export PyMOL generates standalone, production-ready PyMOL Python scripts (.py) configured with standardized framework colors, CDR highlight regions, constant domains, Cysteine sidechains, and dynamic sequence position mapping to accurately highlight selected residues and tool-specific annotations in PyMOL.

  • Sequence Column Selectors & Selection-Driven PyMOL Export in Engineering: Added interactive sequence column selectors to the Sequence tab in the Engineering workspace (templates/project_engineering.html), matching the column selection system in Germline. Clicking numbering or mature linear header cells highlights the column and renders the corresponding residue in the 3D Molstar structure viewer. Only explicitly selected Mutation Designs and selected sequence columns are shown on the 3D structure and included in the PyMOL export. Export PyMOL generates distinct selection sets for Mutation_Designs (selected designs) and Residue_Selections (selected sequence columns), rendering both with 3D sphere representations and CPK coloring.

  • Engineering Mutation Designs Auto-Refresh on Tool Re-Opening: Fixed an issue where switching back to or re-opening the Engineering workspace did not update the Mutation Designs set selector dropdown and table with newly saved mutation sets or designs created from other tools (such as Covariance, Surface Mutagenesis, or Mutation Grid). Re-opening or focusing the Engineering tool automatically synchronizes mutation sets and preserves the active set selection.

  • Covariance Sandbox Saving with Honegger Parental Retention: Updated the "Save Sandbox Designs" action in the Covariance workspace to apply combinatorial mutation options with parental residue retention rules matching First Pass Optimize. Positions within CDRs, Vernier zones, Honegger exclusion areas, or VHH hallmark masks retain the parental residue (Keep Parent: true), while standard framework mutations force the engineered substitution (Keep Parent: false). Saved mutations are ordered with Light chain preceding Heavy chain.

  • Covariance Analysis Tool Fv-Only Display: Restricted the Covariance Analysis workspace alignment grid and sequence tracks to the variable domain (Fv). Trims signal peptide leader sequences and constant domain sequences from the view, aligning the sequence positions, numbering rows, germline reference mapping, mutation sandbox, and 3D structure selections directly to the Fv region.

2026-08-15

  • Dark Cyan Homology Residue Highlight in Humanization: Updated the sequence grid highlighting and legend for homologous residues in the Humanization workspace from blue to a lighter, balanced dark cyan (#00B4B4, \(G=B\)), enhancing visual contrast against bright cyan (#00FFFF) and maintaining consistency with platform color standards.

  • First Pass Optimize Structural PTM Gating, Unusual Cysteine Pairing & DMS Auto-Pruning: Enhanced the First Pass Optimize tool with developability optimization strategies:

  • Structural PTM Gating: When a 3D structural model or PDB structure is present, relative solvent accessibility (rASA) and sidechain SASA are automatically evaluated. Chemical PTM liabilities (deamidation, isomerization, fragmentation, hydrolysis, oxidation, N-glycosylation) that are core-buried (\(\text{rASA} < 15.0\%\) and \(\text{scASA} < 5.0\text{ \AA}^2\)) are gated out from optimization since they are protected from solvent-mediated degradation, while structural stability liabilities (salt bridges, cysteines, LLM/CVV outliers) are always preserved.
  • Primary Residue Focus & Flanking Evaluation: First Pass Optimize focuses on primary residue substitutions (such as \(N \rightarrow Q\) for deamidation or \(D \rightarrow E\) for isomerization), instructing users to evaluate flanking residues in the Engineering workspace and refer to the Satlawa motif tables in Liabilities documentation to prevent creating secondary liability motifs.
  • Unusual Cysteine Pairing: When multiple unusual cysteines are present in the construct, they are paired together (Together, "all or none") so variant generation either removes all non-canonical cysteines together or retains the parental configuration, preventing unpaired thiols or mismatched disulfides.
  • DMS Library Auto-Pruning: When Deep Mutational Scanning (DMS) / library mutagenesis data is available (directly or inherited from parent lineage), proposed mutations are cross-referenced against the library. Unsafe mutations (\(\text{safe} = \text{false}\)) are automatically replaced with safe alternatives that resolve the liability (e.g. \(N \rightarrow S/A/T\) for deamidation); if no safe replacement exists, the candidate is pruned from the design set.

  • Humanization Sorter Simplification & Homology Tie-Breaking: Simplified the Sort By dropdown menu in the Humanization workspace sidebar to Modifiable Residues and Full Sequence. Candidate germlines are ranked primarily by sequence identity percentage, using homology percentage as an automatic secondary tie-breaker within identical score sets before falling back to alphabetical ordering. Both identity and homology percentage scores are displayed side-by-side in each germline row label badge (e.g., (77.6% / 89.7% Hom)), with adjusted badge font sizing (0.65rem) to ensure full visibility without text truncation.

  • Dashboard Project Grid Hover Border Fix: Fixed an issue in the main dashboard (templates/dashboard.html) where hovering over or selecting a non-first project row (such as the second row when two projects are displayed) did not show the top blue border line. Replaced the fragile previous-sibling :has(+ tr) dependency with direct inset box-shadow top border rendering (box-shadow: inset 0 1px 0 0 #3b82f6 !important;) on the row's table cells.

2026-08-14

  • Humanization Sorter Simplification & Homology Tie-Breaking: Simplified the Sort By dropdown menu in the Humanization workspace sidebar to Modifiable Residues and Full Sequence. Candidate germlines are ranked primarily by sequence identity percentage, using homology percentage as an automatic secondary tie-breaker within identical score sets before falling back to alphabetical ordering. Both identity and homology percentage scores are displayed side-by-side in each germline row label badge (e.g., (77.6% / 89.7% Hom)), with adjusted badge font sizing (0.72rem) to prevent text truncation.

  • Engineering Modal Design Set Selector & Alignment Mutation Pre-population: Added an interactive Design Set selector dropdown to the shared Engineering modal header. The menu populates all design sets defined for the target antibody (e.g. Default, Covariance, custom sets). Changing the design set instantly re-loads and displays existing mutation designs for that set at the selected residue position, and saving writes the mutation design directly to the chosen set. Fixed antibody ID resolution in Alignment so sequence rows with chain suffixes correctly resolve the target antibody ID, and removed an invalid fallback in indicator calculation so sequence entries do not inherit unrelated antibodies' mutation designs.

  • First Pass Optimize N-Linked Glycosylation & Honegger Retention Correctness: Updated the First Pass Optimize engineering tool to capture N-linked glycosylation PTM liabilities (N-glycosylation (high) and N-glycosylation (severity: high)). When a severe model recommendation (such as AbLang recommending S) is present at an N-linked glycosylation or Deamidation site, First Pass Optimize prioritizes the model's recommended residue (e.g. S) over the fallback default (Q), correctly fixing both the model liability score and the PTM motif. Corrected sequence resolution in First Pass Optimize to read antibody.heavy_chain and antibody.light_chain directly from the target antibody entry, ensuring paired Fv entries process both chains. Additionally, enforced Light-chain-before-Heavy-chain row sorting in the generated mutation design set, and fixed the Honegger exclusion calculation so that includeParent: true is assigned specifically to CDR positions, Vernier zone positions, VHH mask positions, or framework positions outside the humanization mask (HUMANIZATION_MASK_LC / HUMANIZATION_MASK_HC), while standard humanized framework positions (e.g. VL 22, VH 70, VH 123) correctly set includeParent: false.

  • Results Grid Numerical vs. String Sorting Fix: Corrected column sorting logic in the main project results grid (templates/results.html). The sorter now strictly verifies that a value is entirely numeric before parsing it as a number, preventing alphanumeric antibody names starting with digits (such as 6-E2-D5-2-C4) from being misidentified as partial numbers and preserving accurate alphabetical sorting.

  • Dual Horizontal Scrollbars in Humanization: Added a synchronized top horizontal scrollbar to each chain alignment grid in the Humanization workspace. Both top and bottom scrollbars share identical custom styling (10px height, light track background #f1f5f9, grey thumb #cbd5e1, and hover state #94a3b8), remaining automatically synced in real time for effortless horizontal navigation across wide sequence alignments.

  • Humanization Grid Excel Export: Added an "Export Excel" button to the Humanization workspace top toolbar. Exporting serializes the sequence alignment grid (including Light and Heavy chain sections, mature linear and scheme numbering rows, region labels, parent query sequence with ABHAND residue coloring, Honegger template exclusion mask status, and scored V/J germline rows) into a formatted .xlsx spreadsheet using openpyxl.

  • Assembler JSON Templates & Parts Update to G1m17,n1 Standard: Updated assembler_domains.json and multispecific_parts.json so that full-length heavy chain IgG1 constant region templates (and variants like LALA, LALAPG, LS, YTE) and multispecific CH3 parts (Knob, Hole, Steering DK/KK) use the therapeutic G1m17,n1 (01/03 merged) sequence standard (REEM at EU 356–358). Renamed display titles to append (G1m17,n1) (e.g., HC Full IgHG1*01 (G1m17,n1)).

  • Constant Region Domain Allele Matching Refinement: Updated the constant region domain identification algorithm to evaluate all candidate domain templates during constant sequence scanning and select the highest scoring match for each domain stage (e.g. CH1, Hinge, CH2, CH3). Ensures that constant domains with exact 100% matches (such as IGHG1*03 in CH3) are correctly selected over lower-scoring candidates, improving accuracy for engineered and isoallotypic antibody constant regions.

2026-08-13

  • Company Token Occupancy & Active Teammate Visibility: Updated the login authentication flow for accounts belonging to a company with concurrent seat limits. When a verified user attempts to log in but all company seat tokens are currently in use, the login page displays a dedicated warning card listing the names, email addresses, and formatted idle times (e.g. "Active 3m ago") of active team members currently using company tokens, enabling users to easily request seat relinquishment directly from teammates.

  • Standalone RPEMHC Immunogenicity Analysis Tool: Added a dedicated standalone RPEMHC Immunogenicity Analysis tool accessible from the project Analysis dropdown menu (Analysis > RPEMHC). The tool performs deep learning MHC-II 15-mer sliding window risk predictions across 4 HLA-DRB1 alleles (HLA-DRB1*0101, 0301, 0401, 1501). Built to independently evaluate single-chain constructs (VHH, scFv), paired Fvs, and complex multi-chain multispecific antibodies (such as 4-chain CrossMabs) with multi-record FASTA header parsing, optional signal peptide trimming ("Trim Signal Peptides" checkbox), dynamic allele views, Light-chain-before-Heavy-chain sequence grid display, single M. Lin. position header row, M. Lin. <pos>: <res> mouseover tooltips, RPEMHC score severity-colored sequence heatmaps (grid clicks smooth-scroll to diagnostic table rows), enlarged ABHAND residue-colored diagnostic table badges matching Humanness (padding: 4px 10px, min-width: 24px) with dynamic Engineering/Observation indicators (badge clicks open the Engineering mutation modal; saving modal updates indicator dots seamlessly in the background without triggering the full page scan loading spinner), and multi-sheet Excel exports. Disabled and styled as grayed out unless exactly one entry is selected in the project table.

2026-08-12

  • Clading Export "To Results...": Added a "To Results..." export option to the Clading tool's Export dropdown menu. Opening the modal pre-populates a column name formatted as Fv Clade Distance 37 (or VL Clade Distance 37, VH Clade Distance 37 depending on chain selection and distance threshold). All validation and error notifications occur entirely within the modal UI without browser alert popups. Submitting creates a new column placed in the Other metadata section containing 1-based numerical clade cluster assignments for project antibodies.

2026-08-11

  • Multi-Entry First Pass Optimize: Enabled the "First Pass Optimize" tool to operate on multiple selected antibody entries at once using the modal preferences, generating target mutation design sets under Engineering for all selected entries in a single step.

2026-08-08

  • First Pass Optimize Modal & Threshold Controls: Converted the "First Pass Optimize" tool into an interactive modal. Users can now customize severe likelihood cutoff thresholds for AbLang, AbLang2, IgBert, and CVV, as well as individually toggle whether model recommendations are allowed within Complementarity Determining Regions (CDRs).

  • Complete Settings Sidebar Collapse: Standardized sidebar collapse behavior across Alignment, Clading, Germline, Covariance, Surface Properties, PLAbDab Search, and Humanization views. Sidebar collapse CSS now sets zero width, zero padding, hidden overflow, and removes borders upon collapsing, ensuring sidebars collapse completely to the left wall without leaving any pixel gap.

2026-08-07

  • Delete Identical Selection Requirement: Updated the "Delete Identical..." menu item in the project view Edit dropdown to require two or more selected entries (displayCount > 1) before becoming active.

2026-08-06

  • Delete Identical Entries: Added a "Delete Identical..." option to the Edit menu in project view. Operating exclusively on selected entries, it prompts users via a modal to evaluate sequence identity based on either Full Length sequence (selected by default on each load) or Fv sequence. For any set of identical entries, it automatically retains the oldest entry (earliest created) and deletes newer duplicates.

  • Login Show Password Toggle & Scroll Preservation: Added a password visibility toggle button ("Show" / "Hide" eye icon) to the login form (templates/login.html). Converted the input wrapper to a flexbox container with clean 10px right-padding inside the input field so text flows naturally up to the eye toggle icon. Added scroll preservation handlers on blur and toggle events to maintain the user's scroll position when clicking off the field or unmasking long passwords.

  • Multi-FASTA File Upload Support: Updated sequence import and Add Fv forms (templates/import.html, templates/components/new_project_modal.html, templates/project_view.html, templates/import_library.html) to support selecting and uploading multiple FASTA/sequence files simultaneously (multiple file selection). Updated the backend engine (routes/project_import.py) to automatically aggregate and parse all uploaded sequence files into a unified dataset during project creation, library import, and sequence additions.

  • Liabilities View Dynamic Column Sizing & Auto-Unpinning: Enhanced the Liabilities grid (templates/liabilities.html) with dynamic column sizing. Reduced static column width constraints on metadata columns (Chain, Region, M. Linear, and IMGT) from 80px to compact 45px–50px min-widths, and slimmed the default Liability name column width to 160px (with full resizer control retained). Furthermore, secondary columns automatically unpin whenever the grid container width drops below 900px (e.g. when opening the 3D structure viewer, expanding sidebars, or working on smaller/split screens), preserving maximum sequence grid space.

  • Results Excel and CSV Export Row Order: Updated the Excel and CSV export routines (routes/exports/excel_csv.py) so that exported spreadsheet rows match the exact row sequence of the results grid in the browser. When exporting selected rows or sorted columns, the export engine now preserves the display/selection order specified by the user.

  • Nearest Neighbor Excel Column Width Auto-Expansion: Updated AbRankOrder.py (create_excel_output) to dynamically calculate column width for the Nearest Neighbor name column (NN_START_COL) based on the longest antibody name in the dataset, ensuring nearest neighbor names fit on a single row without wrapping or truncation.

2026-08-05

  • Engineering Modal Library Mutagenesis Position Lookup: Fixed a position lookup bug in the Engineering modal (templates/components/engineering_modal.html) where inspecting a residue with no direct library mutagenesis data could fall back to matching an unrelated position when an IMGT position number equaled another position's mature linear index. Separated IMGT position label matching from mature linear index matching, ensuring residues without uploaded library data accurately report no data instead of displaying cross-mapped permissibility results.

  • Engineering Variant Designs Excel Export Column Titles: Fixed an issue in the Engineering workspace where exporting the Variant Designs grid to Excel omitted the column titles. Updated the Excel export engine (routes/exports/excel_csv.py) to correctly extract column values from dictionary header definitions.

2026-08-04

  • Engineering Set Copy / Move Modal & Conflict Options: Added a Copy / Move to Set... action item to the Edit menu in the Engineering workspace (templates/project_engineering.html). Selecting this item opens a dedicated modal allowing users to choose whether to Copy or Move selected mutation designs into any target set. If target sequence positions conflict with existing entries in the destination set, a Target Set Conflict modal provides options to Merge (combining proposed mutations, notes, and groups) or Overwrite while preserving independent copies during copy actions. Updated documentation (docs/Engineering.md).

  • Per-Entry Engineering Data Isolation & Refresh Parity: Updated Engineering data storage and retrieval (routes/engineering.py) to isolate mutation sets, active set selections, and variant designs strictly to individual antibody entries (Antibody.id). Fixed an issue where clicking the refresh button in the Engineering workspace (templates/project_engineering.html) fetched stale in-memory cached project results (routes/project_utils.py) for observations and indicators by invalidating cached project results upon saving engineering updates, and added active spinning icon feedback during data refreshes. Mutagenesis library reference data continues to be inherited across lineage trees as expected.

2026-08-01

  • Engineering Set Move & Initial Set Default: Fixed an issue in the Engineering workspace (templates/project_engineering.html) where moving selected mutations across sets was obstructed by an unclosed modal HTML tag. Re-entering Engineering now always defaults to the Default set view, while moving entries automatically switches the active set view to the destination set with full database synchronization.

  • Engineering Set Move Conflict Modal (Merge & Move / Overwrite & Move): Enhanced set moving in the Engineering workspace (templates/project_engineering.html). When moving entries that conflict with existing positions in the target set, a Move Conflict modal presents options to Merge & Move (intelligently combining proposed mutant amino acids, notes, groups, and parent inclusion flags) or Overwrite & Move, preventing accidental data loss while giving flexible control over set transfers. Updated documentation (docs/Engineering.md).

  • Engineering Chain Code Canonicalization & Deduplication: Fixed an issue where Light chain entries stored under different chain representations (e.g. K for Kappa vs L for Light/Lambda) were treated as distinct sites, preventing conflict detection and creating duplicate entries for the same position. Unified chain normalization across all Engineering tools (routes/project_utils.py, routes/engineering.py, templates/project_engineering.html), ensuring site matching always recognizes equivalent chain codes, triggers overwrite warnings, and merges existing duplicate records.

  • Engineer pI Build Engineering Sets Option: Added a Build Engineering Sets action button to the Combinations tab toolbar in Engineer pI (templates/engineer_pi.html, routes/engineering_pi.py). For each selected variant in the combinations grid, clicking Build Engineering Sets creates a named Engineering mutation set (e.g. pI Variant 1, pI Variant 2) in the primary antibody's Engineering workspace, allowing direct editing, variant generation, and tracking in the Engineering tool. Updated feature documentation (docs/Engineer_pI.md).

  • Engineer pI Target Mutants Modal Integration: Enabled opening the Engineering modal directly from the Target Mutants grid in Engineer pI (templates/engineer_pi.html). Clicking any parent residue cell in the grid opens the Engineering modal for that position, allowing immediate inspection of predictive scans and entry of custom mutation designs.

  • Parentage Dependency Evaluation Warning on Deletion: Added parent dependency evaluation check during antibody deletion in project views (templates/project_view.html, routes/project_update.py). When attempting to delete entries assigned as parents to active non-deleted project entries, the deletion confirmation modal displays a prominent warning notice: "Warning: One or more remaining entries use an entry being deleted as a parent assignment. Parentage needs to be evaluated."

2026-08-01

  • Results Grid Column Direction Indicators: Added directional indicator arrow icons ( for lower is better, for higher is better) directly in the column headers of the project results grid (templates/results.html). Icons dynamically reflect active formatting preferences (cond_good_op) resolved from user or project format settings (routes/project_utils.py, AbRankOrder.py), as well as user-configured custom metadata columns, providing clear visual guidance on metric target orientations. Updated user documentation (docs/ProjectView.md) detailing standard and custom metadata indicator behavior.

  • Surface Properties 3D Neighbor Highlighting Settings Note: Added an explanatory note directly beneath the Spacefill Selected checkbox in the Surface Properties sidebar settings (templates/surface_properties.html), clarifying that selecting a residue row in the per-residue values table displays 3D neighboring residues within 7.5 Å.

2026-07-31

  • Results View Column Filter State Persistence: Added sessionStorage state persistence for active column filters in the project results grid (templates/results.html). Column filter inputs and active filter icon states now persist across page refreshes and tab switches within a session, while clearing cleanly when navigating to a new project.

  • Entry Renaming & Liabilities View Data Parity: Fixed an issue where renaming an entry in the project results table caused the Liabilities tool (templates/liabilities.html) to display "No liabilities matches found with current filters.". Added clear_cached_project_results(project_id) to invalidate in-memory cached results (routes/project_utils.py, routes/project_update.py) when entries are renamed, patched internal Name properties in raw_data objects, updated export filtering (routes/exports/analysis.py), and enhanced client-side molecule matching (templates/liabilities.html) to evaluate base entry names alongside full chain identifiers.

  • CVV Score Alignment & Reference V-Gene Resolution: Unified V-gene fallback matching across project batch calculations (AbRankOrder.py / CovarianceAnalysis.py) and the interactive Covariance tool (routes/covariance.py). For antibodies with non-human V-genes (such as mouse V-genes not directly present in the human covariance reference database), both batch calculations and the Covariance tool now consistently use sequence alignment (get_germline_candidates_with_scores) to find the closest human V-gene in the reference database, eliminating score discrepancies between the project results grid and the Covariance tool. Recalculated CVV stats for the clinical dataset (clinical_stats_data.py), updated KBC weights rules (static/config/kbc_weights.json), format ranges (static/config/kbc_formats.json), and system constants (AbRankOrder.py) using updated 25th and 75th percentile cutoffs (CVV Full: Good \(\le 20.0\), Warning \(\le 53.0\); CVV FR: Good \(\le 1.0\), Warning \(\le 7.0\)).

2026-07-30

  • Library Mutagenesis Multi-Tab Excel Matrix Importer & Mutation Designs Allowed Column: Enhanced library mutagenesis file import (routes/mutagenesis_helper.py, routes/engineering.py, templates/project_engineering.html) to natively accept Excel workbooks (.xlsx/.xls) and matrix-formatted CSV files. Added an Allowed column to the Mutation Designs table in the Engineering workspace (templates/project_engineering.html), displaying color-coded permissibility badges (green = permissible, red = low binding, slate = untested) and binding score tooltips at a glance for all entered mutant amino acids. Implemented multi-generational lineage inheritance (routes/project_utils.py, routes/engineering.py): entries recursively traverse ancestor lineage (grandchild \(\rightarrow\) child \(\rightarrow\) parent \(\rightarrow\) grandparent) to inherit library mutagenesis data from the nearest ancestor, displaying an explicit badge: "Inherited from Parent: ".

2026-07-29

  • Library Mutagenesis & DMS Data Integration: Added client library mutagenesis (Deep Mutational Scanning / DMS) data import and viewing capabilities in antibody engineering and sequence analysis workflows. Consolidated all library actions into a new Library ▾ dropdown menu (#libraryToolbarMenu) on the Mutation Designs toolbar (Import Library Data, View Uploaded Library Data, Create Set from Library, and Clear Uploaded Library Data). If an antibody already contains an uploaded library matrix, importing a new file displays an interactive Overwrite Library Data? confirmation modal (#libOverwriteConfirmModal, styled after Assembler workspace warnings) to prevent accidental data loss. Added a dedicated View Library modal (#viewLibraryModal) matching the main results grid layout, with native per-column header filtering (popovers supporting operators like >0.8, <=1, ranges 0.5-1.0, and text matches) and 3-click sort cycling (1st click = Ascending fa-sort-up, 2nd click = Descending fa-sort-down, 3rd click = Reset to Default sort with Light chain before Heavy chain), plus CSV export capabilities. Uploaded positions prioritize Mature Linear sequence positions (1-based index from mature Fv start) and automatically align with standard IMGT positions via AntPackHelper. If the uploaded file includes a Parental residue column and position numbers mismatch the target sequence, the system displays an interactive Parental Residue Mismatches Detected warning modal to catch potential numbering offset errors before importing. Added disabled/grayed-out UI styling and interaction guards for View Uploaded Library Data, Clear Uploaded Library Data, and Create Set from Library whenever no library dataset is present. Fixed JSON structure normalization (routes/project_utils.py and routes/engineering.py) to ensure mutagenesis_library matrices are preserved during set creation and grid saves. Fixed target antibody ID resolution in templates/components/engineering_modal.html when triggered from non-Engineering sequence tools so the Library Mutagenesis Data card displays alongside the Predictive De-Immunization Scan. Supports multi-mutant CSV lists, one-click creation of Mutation Sets populated with pre-validated safe substitutions, clear/delete actions for uploaded library data, visual permissibility badges in modal popovers across Alignment and sequence views, and binding safety filtering when generating combinatorial variant designs.

  • Liabilities Export Naming Convention & Large Dataset Support: Upgraded Excel, SVL, and PyMOL exports in the Liabilities view (templates/liabilities.html, routes/exports/liabilities.py) from GET URL parameters to dynamic POST form submissions, resolving HTTP 414 URI Too Long errors for large projects. Updated SVL and PyMOL export filename conventions (<Project_Name>_Liabilities_SVL_<Timestamp>.zip and <Project_Name>_Liabilities_PyMOL_<Timestamp>.zip) to place the timestamp at the end of the filename.

  • Assembler Build Error Handling & Fetch Parsing: Fixed an issue in the Assembler (templates/assembler.html, routes/assembler.py) where Build or domain retrieval requests returning non-JSON HTTP responses (such as session expiration redirects or HTML error pages) triggered raw SyntaxError: Unexpected token '<', "<html>... is not valid JSON network alerts. Added standard JSON request headers (Accept: application/json, X-Requested-With: XMLHttpRequest) to all fetch requests to enforce JSON responses from authentication checks, implemented parseJsonResponse() to cleanly detect HTML/session timeout responses, and hardened backend payload extraction in routes/assembler.py.

  • Humanness Excel Export Mode Support: Updated the Excel file export functionality in the Humanness view (routes/exports/humanness.py, templates/humanness.html) to dynamically export either OASign or RPEMHC metrics based on the active mode selection. The exported Excel spreadsheet includes mode-specific summary cards (e.g. VL/VH/Fv RPEMHC scores and max allele tags), appropriate residue score column headers ("OASign (%)" vs "MHC-II Max"), severity background color coding, and matching filename output (<Antibody_Name>_Humanness_<Mode>_<Timestamp>.xlsx).

2026-07-28

  • AI Assistant Context Retrieval & Cost Optimization: Streamlined documentation context retrieval for the embedded Gemini AI Assistant in app.py (get_ablead_docs_dict() and get_ablead_docs_context()). Replaced manual static file listing with dynamic scanning of all feature guides in docs/ while automatically excluding release notes (ReleaseNotes*.md), legal/security notices (OSS.md, disclosure.md, Security.md), and internal reviews (AbLead_Tech_Review.md). Added dynamic text cleaning to strip image tags (<img ...>, ![...](...)), HTML comments, redundant line breaks, and multi-line whitespace. Implemented keyword-weighted top-N document retrieval to load index.md, Workflows.md, and only the top 4 most relevant feature guides matching user prompts, reducing API prompt footprint from ~30,000 tokens down to ~3,000 tokens (~90% cost reduction). Updated AI Assistant system instructions to mandate concise 1–3 sentence responses with direct web links to built MkDocs guide pages (e.g. [Engineer pI Guide](/help/Engineer_pI.html)), further reducing output token usage. Fixed chat modal rendering in templates/base.html (formatMarkdown) to parse [text](url) links into styled, clickable <a> HTML tags.

  • Humanness, Solvent Exposures & Surface Properties Mature Linear Numbering Column: Added the Mature Linear sequence position ("M. Lin") column to the sequence analysis grids and Excel exports across the Humanness, Solvent Exposures, and Surface Properties views (templates/humanness.html, templates/solvent_exposures.html, templates/surface_properties.html, routes/exports/humanness.py, routes/exports/solvent_exposures.py, routes/exports/surface_properties.py), positioned immediately to the left of the active numbering scheme column (e.g. IMGT). Updated Excel export headers to use the active scheme name directly (e.g. "IMGT"). Fixed 413 Request Entity Too Large errors during Excel exports by switching export triggers from POSTing heavy client JSON payloads to direct GET download requests.

  • Engineer pI Shift Lower Target Mutants Update: Fixed an issue in Engineer pI (templates/engineer_pi.html) where changing the Desired Shift setting to "Shift Lower (More Acidic)" did not trigger recalculation of target mutants. Added fetchEngineerPi() to the epiShift select element's onchange handler so selecting either "Shift Higher" or "Shift Lower" immediately recalculates target mutant positions.

  • Dashboard Column Auto-Expansion & Interactive Resizing: Configured starting column widths in the main project list Dashboard grid (templates/dashboard.html) to calculate and set the exact single-line un-wrapped width needed for all columns (other than Notes), ensuring contents start cleanly on a single line on load. Added interactive drag handles (.col-resizer) on all table headers so users can drag any column border to resize column widths dynamically (allowing columns to be resized narrower than their initial starting width with automatic text and badge line wrapping). Added drag-state tracking so clicking or dragging a column border line never triggers column sorting.

  • On-Demand Admin User Disk Usage Calculation: Moved user disk usage calculations on the Admin Users page (/admin/users) to an on-demand trigger. Resolved 504 Gateway Time-out errors and slow page loading by eliminating heavy unindexed database table scans during initial page load. Admins can now calculate disk usage globally via a Calc All header action or individually per user on demand.

  • Dashboard Load Performance Optimization: Optimized main project list dashboard rendering (routes/dashboard.py). Defer loading and parsing multi-megabyte latest_results JSON data blobs until a search term is actively entered by the user, and replaced standard JSON parsing in outdated calculation checks with fast regex timestamp scanning. Decreased dashboard page load time from ~6.5 seconds down to ~1.3 seconds for accounts with large sequence projects.

  • Format Preferences & Preset Continuous Color Scaling: Integrated continuous RGB color scaling into user Format Preferences settings (templates/format_settings.html). Added a Scale Colors per-row checkbox for each standard results column and a select-all checkbox directly inside the Scale Colors table column header with Gmail-style tri-state deselect behavior (clicking when off turns all on; clicking when partial or all on turns all off). Updated Stability metrics ordering (static/config/kbc_formats.json) so Full precedes FR (e.g. AbLang Full \(\rightarrow\) AbLang FR, AbLang2 Full \(\rightarrow\) AbLang2 FR, IgBert Full \(\rightarrow\) IgBert FR, CVV Full \(\rightarrow\) CVV FR), aligning Format Preferences with the results grid layout. Fixed continuous color scaling for decreasing directional metrics like Sapiens VH/VL/Fv (Good >= 0.85, Low >= 0.75, Med >= 0.68, High < 0.68) so values below the severe threshold (e.g. 0.6638) correctly render High Red, while values between cutoffs continuously interpolate RGB gradients. Refactored Excel (.xlsx) export conditional formatting generation (AbRankOrder.py and routes/exports/excel_csv.py) so native openpyxl ColorScaleRule continuous color scales accurately reflect directional metric orientations, range anchors, custom metadata columns, and preset settings across the entire spreadsheet grid without rule order collisions. Expanded system documentation (docs/ProjectView.md and docs/ColorStandards.md) detailing continuous color scaling preferences, directional vs hard range anchor behaviors, and master toggle controls. Expanded container width to 1280px and enabled horizontal table scrolling to prevent right-side clipping on smaller screens. Fixed format preset switching so selecting KBC Default inside a project resets all cell background colors back to system defaults. Fixed schema persistence in the metadata Column Format Settings modal to ensure scale_colors settings stick reliably upon saving.

  • Assembler Batch Mode Quick Build Light Chain Filtering & Async Race Fix: Updated Quick Build template population (IgG1, IgG2, IgG4 Hinge Modified) and initial chain dropzone setup in Assembler Batch Mode to evaluate the light chain types (Kappa, Lambda, or both) of the selected project entries. Populates only the light chain dropzones relevant to the selected entries (leaving unselected chain dropzones as None), preventing unnecessary Kappa or Lambda construct generation when building cohort assemblies containing only one light chain type. Fixed an asynchronous race condition where background entry details fetching (fetchFullAntibodies) would reset chain dropzones and clear Quick Build selections made immediately after page load.

  • Import Process Log Sequence Counter: Updated sequence analysis log output in AbRankOrder.py and batch execution in app.py to display total job progress counters (Processing sequence X of Y: name) across multi-batch background analysis runs, providing real-time feedback on overall progress.

2026-07-26

  • Dashboard Real-Time Status Updates & Database Concurrency: Enhanced dashboard run status tracking to update table row statuses in-place (Analysis Complete, Analysis Failed) directly in the DOM when polling job completions. Automatically clears project selections upon submitting bulk re-runs so active selection states do not pause automatic status refreshes. Configured SQLite Write-Ahead Logging (WAL mode) and 10-second busy timeouts across all database connections to prevent concurrent background analysis jobs from locking out web request navigation.

  • Analysis Worker Stream Loop Stability & CPU Spin Prevention: Resolved an issue where Gunicorn web worker processes would lock at 100% CPU when clients disconnected or navigated away during long-running background analysis jobs. Updated worker_manager.py to wrap worker output stream consumption in a try...except GeneratorExit block, guaranteeing clean loop termination when client streams disconnect while preserving underlying calculation results saved to disk. Added a mandatory non-blocking sleep interval (time.sleep(0.05)) on all loop iterations to eliminate CPU tight-spinning while polling worker standard output and error streams.

  • Leader & Constant Region Germlines in Genetic Origin: Added Leader (LC Leader, LC Leader %id, HC Leader, HC Leader %id) and Constant domain (LC Constant, LC Constant %id, HC Constant, HC Constant %id) germline assignments to the Genetic Origin category section of the results dashboard, Excel exports, and CSV/JSON data reports. Positioned in natural sequence order (LC Leader -> VL V/J components -> LC Constant for Light chains; HC Leader -> VH V/J components -> HC Constant for Heavy chains), matching against reference domain libraries (assembler_domains.json) and displaying the closest matching germline gene name and percentage identity.

  • Assembler Batch Mode Quick Templates: Added Quick Build template options (IgG1, IgG2, and IgG4 Hinge Modified) to the Assembler tool in Batch Mode, matching the Quick Build feature in Multispecific Mode. Selecting a template automatically populates signal leaders (Leader IGKV1-39*01 for Kappa and Heavy, Leader IGLV2-23*01 for Lambda), variable placeholders, and constant domains (KC IGKC*01 for Kappa, LC IGLC1*01 for Lambda, HC Full IgHG1*01 for IgG1, HC Full IgHG2*01 for IgG2, and HC Full IgG4_S228P for IgG4 Hinge Modified) across chain dropzones.

2026-07-25

  • Custom Consensus Sequence Reference & Fading in Alignment: Added the ability to select a specific sequence entry as the Consensus baseline in the Alignment tool. In the settings sidebar under Show Consensus Sequence, a new Consensus Reference dropdown allows choosing between Calculated Majority (default majority-rule baseline) or any individual sequence entry in the project. Selecting a specific sequence entry underlines the selected entry's name and underlines the Consensus row label in sections where that entry is present (e.g. Lambda and Heavy for a Lambda antibody) while leaving Consensus un-underlined in sections where it falls back to section majority (e.g. Kappa), in both the web grid and Excel exports (.xlsx).

  • Column & Row Selection in Clading View: Added column and row selection capabilities to the Clading tool matching the Alignment workspace layout and interactive overlay system. Users can select column header cells (in numbering and linear rows), click sequence row names to select/highlight sequence rows across groups, and Ctrl/Cmd/Shift-click individual residue cells to toggle column selection boxes overlaying aligned cluster table cells. Includes per-clade group 'clear' selection icons (.clear-section-btn, clearSection) on each Numbering header row, selection state persistence, keyboard Escape shortcut (clearSelections), automatic overlay repositioning on linear row toggles or column width resizing, and pixel-aligned selection highlighting overlays.

2026-07-24

  • Sequence Logo Visualization, Height Control & Multi-Chain Export in Alignment: Added dynamic Sequence Logo display to the Alignment tool. When enabled in the Settings toolbar (positioned above Consensus), stacked amino acid characters scaled by position frequency and coverage are rendered using clean SVG vector graphics above the consensus row for each alignment group (Kappa, Lambda, Heavy). Automatically doubles column widths from 20px to 40px (44px in exports) and scales SVG letter glyphs 2x wider horizontally using SVG textLength="16.5" (lengthAdjust="spacingAndGlyphs"). Formatted using "ArialMT", Arial, Helvetica, "DejaVu Sans", sans-serif typography, selectively excluding Isoleucine (I) from horizontal textLength stretching so it renders as a clean, crisp, bold vertical bar I without box distortion. Includes dynamic Logo Height (px) control setting (default 150px), precision baseline clipping mask (#logoBaselineClip), crisp vertical buffer gaps, and bold outlines (stroke-width: 2.4px) formatted in standard ABHAND residue colors. Multi-chain SVG (.svg) and PNG (.png) exports map primary scheme position numbering (IMGT, Kabat, etc.) rotated 90° CCW above framework/CDR region header bars (FMWK1FMWK4, CDR1CDR3) across all chain groups.

  • Project Archiving Persistence: Fixed an issue where archived projects would reappear in the Active Projects dashboard view after signing out and back in or server restarts. App startup logic was updated to prevent automatically re-assigning the system 'Active Projects' label to projects that had been archived.

  • Specific Fc Mutant Domains in Assembler: Added individual CH2, CH3-CHS, and Fc (Hinge-CH2-CH3) domain constructs containing Fc engineering mutations (LALA, LALAPG, LS, YTE, LALA-S267K, LS_LALAPG) to the 'Other' category in assembler_domains.json. This allows users to select specific modular mutant domains in the Assembler alongside full-length heavy chain constant region constructs.

2026-07-23

  • CSV Sequence File Import with Auto Heavy/Light Chain Detection: Added the ability to import sequence files in CSV format with name,seq1,seq2 column structure. The system automatically classifies each sequence in the pair as Heavy Chain (HC) or Light Chain (LC) using AntPack chain annotation, labels them (>Name_HC and >Name_LC), and seamlessly integrates CSV files alongside FASTA, FASTQ, GenBank, EMBL, SwissProt, and Clustal formats across project creation forms and pasted sequence inputs.

  • Species-Specific Project View Export Coloring: Updated Project View Excel export generation (create_excel_output in AbRankOrder.py) and JSON output building (_create_json_output_impl) to format VL Species and VH Species cell background fills using the exact hex colors defined in SPECIES_MAP (colors.py) matching the web dashboard (Human, Mouse, Rhesus, Rat, Rabbit, Alpaca, Dog, Pig, Cat, Chicken).

  • 'Active Projects' System Label & Dashboard View: Added an uneditable system label called 'Active Projects' (functioning like Gmail's Inbox), set it as the default view on the main dashboard, and moved 'All Projects' to the bottom of the labels sidebar. Added a selection-triggered Gmail-style Archive / Unarchive icon button to the right of the Labels dropdown. The button only appears when projects are selected: displaying Archive (fa-archive) in non-all views to remove the 'Active Projects' label, and Unarchive (fa-inbox) when viewing 'All Projects' to restore the 'Active Projects' label. Removing the label deselects and hides the project from the active view.

  • Global & Shared Project Indicators: Introduced Global/Public Projects for administrators and added visual indicator badges (Global and Shared) on the main dashboard table. Global projects are visible (read-only) to all users across all domains without duplicating sequence data, while Shared badges indicate projects shared by or with collaborators.

  • Dynamic Dashboard Labeling System: Updated dashboard labels to be fully dynamic. Label tree sidebars now render live project count badges (e.g. (3)), and label edits, additions, deletions, or batch project tagging instantly re-render project tags and update count metrics without requiring page reloads.

  • Instant Project Share Badge Updates: Added real-time badge updates when sharing projects or toggling global status in the sharing modal. The dashboard automatically updates Shared and Global status badges instantly without requiring a manual page refresh.

  • Active Projects Label Badge Display: Standardized the display name of the system label to 'Active' across all project label badges, dropdown menus, and modal listings while retaining 'Active Projects' in the left sidebar navigation panel. Following Gmail design standards, the 'Active' label badge is hidden on project rows while viewing Active Projects, but remains visible when viewing All Projects or custom label views.

2026-07-22

  • WIPO ST.26 Sequence Export Case: Converted exported amino acid sequences to lowercase in the WIPO ST.26 XML sequence listing generation to ensure strict compliance with the WIPO ST.26 standard (which requires all sequences in the XML data block to be lowercase).

  • Germline Settings Legend Placement: Relocated the legend block in the Germline analysis workspace settings sidebar from under the Species selection to the very bottom of the sidebar. This prevents the legend from cluttering the species select settings.

  • Mol* Residue Selection Highlight & Color Mapping for Constant/Leader Regions: Fixed a bug in the Germline analysis workspace where clicking columns in the Constant or Leader domains did not highlight or show the residue position in the Mol 3D structure viewer. This behavior is corrected by falling back to full_regions alignment mapping and fixing the colon-splitting selection parsing (e.g. for KC:1 formatted identifiers). Robust parsing and fallback support were also added to PFA and Humanization to maintain code parity. Additionally, corrected constant region color mapping in both getRegionColor (sequence tables) and the Mol structure cartoon renderer to resolve their specific KBC_COLORS values (CL, CH1, HINGE, CH2, CH3) instead of generic fallbacks.

  • Solvent Exposures Mol* 3D Structure Viewer: Added an interactive Mol 3D structure viewer panel to the Solvent Exposures workspace matching the Humanness workspace layout. Users can click residues in the VL/VH sequence tables to highlight their positions as spacefill/ball-and-stick representations in 3D, and the structure is dynamically colored according to region schemes. Added a "Selected Residue Style" toggle control in the toolbar and "Deselect All" (clear-section-btn) buttons in the VL/VH header sections to quickly clear residue selections. Corrected constant domain color mapping on the 3D structures in the Mol viewer to resolve their specific individual KBC_COLORS values (CL, CH1, HINGE, CH2, CH3) instead of graying them out.

2026-07-20

  • AbLang and IgBert NC Reporting for VHH/Single-Chain: Configured the antibody analysis reports to display "NC" (Not Calculated) instead of 0.00 for AbLang2 and IgBert scores on single-chain/VHH sequences where the paired-chain models cannot run. Added conditional formatting support in Excel exports so that "NC" and "N/A" cells bypass coloring.

  • Non-Standard Residue Warning on Import: Added warning modals to both the project creation page and the "Add Fvs" project modal. When imported sequence files or pasted sequences contain non-standard amino acid residues (not in the standard 20 amino acids), users are shown a warning detail list of the affected sequences and residues, and can choose to either cancel the upload or proceed anyway.

  • IgBert Model Integration: Restored the deep-learning IgBert antibody language model calculation in sequence analysis runs by correcting an internal initialization typo. This enables IgBert probability rows to render correctly in the PFA (Positional Frequency Analysis) view.

  • Humanness Molstar Light Chain & Constant Domains Coloring: Fixed a bug where Kappa and Lambda light chains were not colored or highlighted correctly in the Mol* 3D structure viewer. The visualizer now correctly maps both light chain variants to chain ID 'L' in the structural model. Also restored 3D representation coloring for constant domains (CH1, CH2, CH3, Hinge, CL) by retaining constant region residues in the humanness payload.

2026-07-19

  • Humanization Molstar Panel Display Alignment: Aligned the PDBe Molstar 3D viewer configuration in the Humanization workspace to be identical to the Germline workspace. Added layoutShowControls: false to start with a collapsed panel by default, and implemented a layout mutation observer that automatically opens the settings panel upon going to fullscreen/expanded view and collapses it when returning to standard view.

  • Humanization Sidebar Scrolling: Added vertical scrolling support (overflow-y: auto) and customized scrollbar styling to the .config-content container in the Humanization workspace. This ensures settings and configuration options remain accessible and fully scrollable on smaller screens and restricted height viewports.

  • Admin Company List Vertical Expansion: Refactored the "Existing Companies" scrolling container under Admin User Management to use CSS Flexbox (flex: 1) and increased its maximum height bounds. This permits the scroll container to scale and occupy the available vertical space within the parent card, preventing unnecessary vertical scrollbars while preserving the inputs' static widths for horizontal scrolling.

  • Unified Click-Away Dropdown Handling: Added a robust, global click-away event listener to base.html that automatically closes open dropdown menus (including user profile, analysis, edit, and export menus) when clicking off of them. The handler dynamically attaches to all iframe documents (e.g. the sequence tables and results grids) so that clicks within these embedded frames correctly dismiss open dropdowns.

  • RPEMHC Maximum Allele Score Update & Calibration: Changed the RPEMHC score calculation from a population average to the Maximum Allele Score (worst-case allele risk) to avoid immunogenicity risk dilution. Calibrated the formatting cutoffs to use identical thresholds for both VL and VH (\(\le 28.0\) Good, \(\le 35.0\) Warning) based on clinical reference controls (Pembrolizumab, Trastuzumab, Adalimumab).

  • Clinical Comparison Benchmark Re-alignment: Recalculated the maximum-allele RPEMHC scores for all 588 aprobado human therapeutics and regenerated the reference cohort statistics (clinical_stats_data.py) to align the comparison bars with the new maximum-allele distribution.

  • Germline Card Label Cleanup: Removed confusing "no data" warnings and human fallback labels from the Humanness scorecard headers. Since comparing non-human candidates to human databases is the standard expected behavior for a humanness tool, these alerts are now hidden and comparisons are carried out cleanly in the background.

  • KBC Score Default Formatting Alignment: Aligned the KBC Score's default conditional formatting cutoffs with the updated scoring model that includes Sapiens and RPEMHC weights. By recalculating the entire clinical reference cohort, the thresholds were calibrated to match the new percentile distribution: Good (\(\le 16.4\)), Low/Warning (\(\le 25.2\)), and Medium (\(\le 34.0\)).

2026-07-18

  • Responsive Toolbar Menus: Restructured the project results toolbar layout to support responsive design on narrow screens and mobile viewports. Replaced the right-side flex alignment with a margin-based push to prevent overflow clipping, and configured the toolbar to wrap elements dynamically into stacked, readable rows below 1024px, ensuring that no buttons or text are cut off or hidden.

  • Clinical Comparison Humanness Sapiens and RPEMHC Ranges: Expanded the Clinical Comparison workspace by calculating Sapiens and RPEMHC immunogenicity ranges across the reference cohort of 584 human clinical antibodies (Thera-SAbDab and Jain et al.). These ranges are now fully integrated into the clinical comparison view and Excel exports, enabling automatic profiling of candidates against reference-stage therapeutics.

  • Standardized Humanness Legends & Residue Colors: Added a dedicated RPEMHC severity legend card to the Humanness analysis workspace, visible alongside the OASign card at all times. Standardized the local residue risk colors for both OASign (non-human 9-mer counts) and RPEMHC (MHC-II 15-mer scores) to utilize the low, medium, and high severity colors from colors.py (var(--color-sev-low), var(--color-sev-med), and var(--color-sev-high)). The RPEMHC cutoffs are identical for VL and VH and have been calibrated using clinical controls (e.g. Pembrolizumab, Trastuzumab, Adalimumab) to distinguish low-risk from higher-risk candidates.

  • RPEMHC Scoring & Formatting Preset Integration: Fully integrated RPEMHC columns (RPEMHC VL, RPEMHC VH, RPEMHC Fv) into the KBC Scoring Weights config rules (COLUMN_OPTIONS dropdown and default penalty parameters) and user Format Preferences styling, supporting comprehensive immunogenicity customization.

  • Dynamic Scoring and Documentation Guides: Documented how sequence humanness (OASign/Sapiens) and MHC-II binding affinity (RPEMHC) act as complementary developability criteria.

  • RPEMHC MHC-II Binding Prediction Integration: Integrated the pre-trained RPEMHC Major Histocompatibility Complex Class II (MHC-II) binding affinity predictor into the Humanness Analysis workspace. Added an HLA-II allele selector dropdown to the toolbar, allowing programmatic evaluation across four common human alleles (HLA-DRB10101, HLA-DRB10301, HLA-DRB10401, HLA-DRB11501). Added a dedicated MHC-II score column to the sequence tables, dynamically rendered and color-coded based on affinity risk thresholds to facilitate de-immunization engineering.

  • RPEMHC Columns, Dynamic Tool Selector, & Fv-Only Display: Expanded RPEMHC integration by adding RPEMHC VL, RPEMHC VH, and RPEMHC Fv columns directly to the results dashboard with default conditional formatting rules. Added a mode dropdown to toggle the Humanness tool between OASign and RPEMHC (automatically switching score cards, table columns, and alignment grid highlights). Restrained the Humanness sequence tables and grids to show only Fv (variable region) residues by filtering out constant regions.

  • Customizable Conditional Formatting (Format Preferences): Added a 'Format Preferences' page in the user settings menu, modeled after KBC Scoring Preferences. This allows users to configure custom conditional formatting ranges and named sets for standard results columns (e.g. SPH, Sapiens, pI, CDR Lengths, and Liability Counts). Also added a 'Format Preset' dropdown selector to the project toolbar, allowing project-specific formatting presets to be applied dynamically, which automatically updates background coloring in the results dashboard and Excel downloads.

  • Humanness Real-Time Mutation Evaluation & In Silico Scanning: Added predictive de-immunization scanning and real-time live mutation preview capabilities to the Humanness tool. When opening the residue-level engineering modal, the system performs an in silico mutational scan of all 20 amino acids at that position, displaying HLA-DRB1 binding scores and germline positional frequency values to suggest optimal de-risking mutations. Users can select recommendations or type mutations, generating a live "Before vs. After" comparison of predicted MHC-II and OASign scores directly within the modal before saving.

2026-07-17

  • Sapiens Humanness Score Integration & IDC Calibration: Added the deep learning Sapiens humanness score ("Sapiens") as the first column in the Humanness Score category on the results dashboard. The score is computed using the Sapiens transformer model to calculate the mean residue probability of the variable regions of both heavy and light chains. Sapiens thresholds were calibrated against clinical trial anti-drug antibody (ADA) rates from the Immunogenicity Database Collaborative (IDC) V1 dataset to define optimal risk cutoffs: Good (≥ 0.85), Low/Warning (≥ 0.75), Medium (≥ 0.65), and Severe (< 0.65). Added scoring rules and customizable weights for Sapiens VL, VH, and Fv to the KBC configuration settings, UI dashboard rendering, and Excel/CSV exports, fully preserved across incremental analysis runs.

2026-07-16

  • Affiliation and Role for Normal Accounts: Added "Affiliation / Organization" and "Primary Use Case / Role" fields to standard/normal accounts. These fields are now requested and required during account activation and initial account setup, displayed and editable in the user profile settings, and optionally editable by administrators when creating new users manually via the User Management panel.

  • Convert Evaluation to Normal Account: Added a new bulk action "Convert from Evaluation" to the admin user management dashboard. This feature allows administrators to easily convert any evaluation account to a standard/normal account. The conversion process changes the account type, updates the user's expiration date to one week from today, permanently deletes the trial/evaluation projects and associated runs/files, logs the action in the historical signup log, and emails the user notifying them that their account has been converted. Also updated the login warning alert for expiring accounts to display "Warning" as its title (instead of "Error") and stripped the redundant "Warning: " prefix from the message body.

  • Mol* 3D Viewer in PFA Dashboard: Integrated a PDBe Molstar window below the sequence alignment section in the PFA (Positional Frequency Analysis) dashboard. Added a row-resizable drag bar to allow custom window heights. Clicking a residue column in the alignment grid highlights corresponding 3D residues on the structure, with a top toolbar style selector to toggle between Spacefill (default) and Ball-and-Stick representations, matching the look, border, and settings of the Germline dashboard.

2026-07-15

  • Dynamic KBC Scoring Rules: Expanded the KBC Scoring Weights configuration to support complete rule customization. The static "Column" column has been replaced with a dropdown menu containing all supportable biological and physical attributes (e.g., CDR lengths, PTMs, OASign scores, etc.). Added a red trash "Delete" action button to each rule row, and an "Add Rule Row" button to the top of the table. In custom presets, rules are saved and loaded as a fully customized, self-contained list rather than a simple set of overrides, enabling arbitrary additions and deletions. Also added drag-and-drop row handles to allow user-friendly sorting and custom reordering of the rule evaluation sequence. Restructured the table to dynamically filter out empty separator rows and group rules into clean, styled category sections (e.g., "CDR Lengths", "PTMs & Cysteines"), restricting drag-and-drop actions to stay within their respective category boundaries for a cleaner layout. Introduced a "Create New Rule" draft panel directly at the top above the table, letting users build and verify rule constraints before clicking "Publish" to save it immediately to the active scoring set. Added default "User entered" labeling in the rule's notes field when created to clearly track customized overrides, and configured row deletion to automatically save changes instantly.

  • KBC Preset Name in Excel Exports: Updated Excel exports to dynamically show the active project KBC scoring preset name directly in the weights worksheet tab title (e.g. Weights - {preset_name}). Built automatic cleaning and truncation to ensure the sheet name conforms to Excel's 31-character naming limitations while maintaining link integrity with calculated score formulas.

  • Editable KBC Scoring Rules: Expanded the KBC Scoring Weights configuration to allow editing of rule conditions. Instead of a single static rule string, the UI now splits each rule into three interactive fields: a comparison operator selector and two value inputs (with the second value input dynamically enabled for range/BETWEEN constraints). Selecting the count operator (#) automatically clears and disables both value fields. These structured inputs are serialized back into standard rule strings for seamless compatibility with the backend scoring engine.

  • Mol* 3D Viewer in Humanness Dashboard: Integrated a PDBe Molstar window below the VL and VH Sequence Analysis grids in the Humanness dashboard. Added a row-resizable drag bar to allow custom window heights. Selected residues in the Sequence Analysis tables highlight corresponding 3D residues on the structure in spacefill representation with static labels, showing no residues by default. Included a clear selection button in the headers of both the VL and VH tables to quickly deselect all active selections and clear 3D residue display. Restricted the sequence analysis grids and tables to display only Fv (variable domain) residues, while maintaining cartoon backbone coloring for the constant domains on the 3D structure.

  • Mol* 3D Viewer in Germline Dashboard and Heading Updates: Integrated a PDBe Molstar window below the sequence alignment section in the Germline dashboard. Added a row-resizable drag bar to allow custom window heights. Selected residue columns in the variable domain grid highlight corresponding 3D residues on the structure, with a sidebar style selector to toggle between Spacefill (default) and Ball-and-Stick representations. Also updated the Molstar viewer pane heading in both the Germline and Humanization dashboards to display "3D Structure (Mature Linear Numbering)" to match the Covariance view.

  • Project-Level KBC Scoring Presets: Integrated project-level scoring preset selection directly in the project results page. Users can now assign a specific custom named preset to a project using a dropdown menu in the toolbar, allowing different weights to be applied to different projects. Projects default to 'KBC Default' (preset ID 0), ignoring the user's active preference in Scoring Preferences. If a user changes the scoring preset, the setting sticks and dynamically recalculates scores. If a preset is deleted, any project using it automatically reverts back to 'KBC Default'.

  • Admin-Editable Global Default KBC Weights: Enabled administrators to modify the baseline global default KBC scoring weights directly from the Admin Settings dashboard. When saved, these configurations serve as the default baseline scoring weights for all users across the platform, bypassing the hardcoded factory configuration while still allowing users to create their own named presets.

  • Dashboard and Project Results Value and Header Search: Enhanced both the dashboard and project results search bars to scan all visible cell values, notes, custom metadata, and column headers/keys in the results. Users can search for specific values in a data column (e.g. IGKJ1*01, rhesus, or numeric values like 2.0315) as well as search for custom metadata headers (e.g. titer) from the main dashboard search bar to locate projects, and inside the individual project results table to filter entries.

2026-07-14

  • Named Scoring Presets in KBC Preferences: Added support for named scoring presets in the user KBC Scoring Preferences dashboard. Users can now save their customized scoring weights under unique names, switch between different presets from a dropdown menu to dynamically update their project KBC scores, rename custom presets, and delete them. A permanent read-only set called 'KBC Default' remains as the baseline preset and cannot be edited.

  • Mol* 3D Viewer in Humanization Dashboard: Integrated a PDBe Molstar window below the sequence alignment sections in the Humanization dashboard. Added a row-resizable drag bar to allow custom window heights. Colored the ribbon structures by region (matching the Liabilities view), including specific sub-domain region colors for the constant regions (CL, CH1, hinge, CH2, CH3). Added a style selector at the bottom of the sidebar config panel to display selected residues as either ball-and-stick or spacefill models (defaulting to spacefill on load). Grid column click selection highlights corresponding 3D residues on the structure in CPK element coloring regardless of the active exclusion method, and is fully synced with immediate grid rendering updates. Supported fullscreen viewports which correctly overlay all sidebar and header content when expanded. Added user documentation detailing the viewer features in Humanization.md.

  • FASTA Export Header Formatting: Cleaned up the FASTA sequence export file generation to omit redundant descriptions in headers (e.g., writing >SSJ32-SH11_LC instead of >SSJ32-SH11_LC SSJ32-SH11 Light Chain). Also updated the FASTA sequence parser to be fully robust to imported headers that contain trailing spaces/descriptions when the record ID itself matches a standard chain naming convention.

  • Germline Excel Export Header Spacing: Fixed an issue where the species badge, germline gene name, and similarity percentage in the header row ran together (e.g. HIGKV1-17*03(65.2%)). Added proper spacing to improve readability in both the web interface and the downloaded Excel report, formatting the species abbreviation in brackets in the Excel export (e.g., [H] IGKV1-17*03 (65.2%)).

  • Dashboard and Project Search (Find Function): Added a unified search bar on the main dashboard and inside individual project results views. Users can search for projects and entries by name, notes, labels, custom metadata, or sequence parts (heavy or light chain) using simple substrings or standard PROSITE/NCBI nomenclature motifs (e.g. G-F-N-I-K-[D]-[T]-Y). Supports optional domain scope modifiers (.Fv, .VH, and .VL) appended to the end of search queries to automatically extract and restrict the sequence search to Fv, heavy chain variable, or light chain variable regions. In the dashboard, matching antibody entries and their hit details are highlighted inline under the project row. In the project results view, the query dynamically filters the displayed entries in the results table.

  • Tree Zoom and Scaling Controls: Added a tree scaling widget (with zoom out, reset, and zoom in controls) to the Clading Settings panel, enabling users to adjust the SVG cladogram size from 40% to 300% for optimal viewing of complex structures.

  • Instant Layout Switching: Pre-computes and loads both linear and circular SVG representations of the sequence tree in the backend, allowing users to toggle between layouts instantly in the browser without initiating server-side re-runs.

  • CVV Severity Threshold and Coloring Adjustment: Updated the CVV severe threshold to 3.0 and aligned the color mapping with the discrete step scores (1.0 = Low/Yellow, 2.0 = Medium/Orange, 3.0 = Severe/Red). Updated the default CVV cutoff on the Liabilities page to 3 so that the grid defaults to showing only severe violators, configured the cutoff input step to 1, and formatted the score values, legend thresholds, and overall CVV Full and CVV FR scores as integers (e.g. [3] instead of [3.00], Low >= 1, Med >= 2, Sev >= 3 instead of Low >= 1.0, Med >= 2.0, Sev >= 3.0, and CVV>= 3 in the viewer header title). Aligned the Covariance tool's CDR filtering behavior with the Liabilities page, so that toggling CDR violations only filters out active violations if the offender residue itself resides in a CDR region, preserving framework offenders with CDR partner constraints. Aligned the framework (FR) offender resolution logic in the backend calculations to ensure consistent scoring between the results grid and the Covariance tool. This ensures consistency across the dashboard, Liabilities page, Covariance tool, and exports.

2026-07-13

  • Export Project from Results View: Added the "Export Project (.zip)" option directly to the Export dropdown menu in the project results page, allowing users to export the entire project structure (metadata, sequences, and PDB files) without returning to the main dashboard.

  • Admin Signup Log Deletion: Decoupled registration log deletion from user account management. Deleting an entry in the "Registration & Invitation Log (Historical)" table now strictly removes the log record without deleting or modifying any associated user account, regardless of the account status.

  • Circular Cladogram Layout: Added a "Circular" layout option in the Clading Analysis tool. This projects the sequence tree radially to provide a highly compact, visually premium visualization for large numbers of sequences, eliminating extensive vertical scrolling. It includes a concentric, drag-to-resize red dashed circle that allows interactive real-time clade distance threshold adjustment and clustering. SVG export natively supports downloading the circular tree layout. The tool dynamically defaults the initial layout view choice to "Circular" when analyzing 50 or more sequences, and "Standard (Linear)" for smaller sets.

2026-07-12

  • Multiple Sequence Format Support: Expanded file import support to allow uploading sequence files in FASTQ, GenBank, EMBL, SwissProt, and Clustal formats in addition to standard FASTA. The system automatically parses these formats during import, saving them as clean sequences to the database. Detailed explanations of this automatic normalization have been added to the user documentation.

  • Multiple Structure Format Support: Added native support for uploading, parsing, and rendering macromolecular structures in both PDB (.pdb) and mmCIF (.cif / .mmcif) formats. The system converts incoming .cif/.mmcif models to standard PDB format upon upload, storing them as clean PDB data in the database. This ensures compatibility with downstream utilities and the Mol* 3D rendering pipeline. Updated user documentation to reflect this automatic conversion.

2026-07-11

  • Germline Database Explorer: Added a new Germline Data view in the Dashboard's File dropdown menu. This view aggregates reference germline sequences by gene type (IGKV, IGKJ, IGLV, IGLJ, IGHV, IGHJ) using tabbed panels. Within each panel, each species is displayed in its own separate grid laid out vertically (Human first), listing only its active subtypes as columns to eliminate sparse matrices. Users can click any non-zero count to inspect the exact sequences in a scrollable detail modal and download them as clean FASTA files.

2026-07-10

  • Pairwise Conservation Score (PCS) Integration: Renamed the "Kannan" covariance model to "Pairwise Conservation Score (PCS)" in the Covariance tool sidebar and results dashboard. The documentation now directly references the method's official publication: Gunasekaran, Kannan, Arnold T. Hagler, and Lila M. Gierasch. “Sequence and Structural Analysis of Cellular Retinoic Acid-Binding Proteins Reveals a Network of Conserved Hydrophobic Interactions.” Proteins 54, no. 2 (2004): 179–94.

  • Step-Weighted Covariance Scoring: Replaced the linear sum covariance penalty score with a step-weighted score metric (individual offending residues contribute a maximum of 3 points based on their number of partner violations). Recalibrated Good/Warning/Severe thresholds across all three models (Residue OMES, ABHAND OMES, and ABHAND PCS) based on empirical distributions from the human OAS database.

  • Covariance Grid & Summary Table Score Visibility: Added a dedicated Score column in the active violations summary table directly before the Cons. Sum column showing the color-coded step-weighted score value (0, 1, 2, or 3) for each offending residue, with full sorting support. Also updated the alignment grid's row headers to display each offender's individual step score contribution dynamically in real-time.

2026-07-09

  • AI Chat Assistant Integration: Added a native, Gemini-powered AI Assistant widget to the user dashboard. Users can toggle the assistant by clicking the inline "AI Assistant" link in the footer next to "Report an Issue," completely eliminating screen occlusion on data grids.

  • Conversation Session Persistence: Enabled sessionStorage persistence so the assistant remembers the active conversation context and restores previous chat logs when you change pages or reload.

  • Interrupted Chat Recovery: Implemented auto-resume logic. If you refresh or navigate away mid-thought, the widget automatically detects the interruption, opens the window, and resumes fetching your answer.

  • Custom Warnings & Downloads: Replaced the native browser alert when clearing chats with a custom centered warnings card that invites you to download a backup .txt file before ending the conversation.

  • Math Translation: Enhanced markdown processing to translate LaTeX symbols (like \le) into native unicode ().

2026-07-08

  • Conditional Formatting for Custom Metadata Columns: Added a column setting for conditional formatting to user-uploaded or entered custom metadata columns. Users can open the Column Format Settings modal to specify the actual values or thresholds for each of the four severity levels: Good (Green), Low (Yellow), Med (Orange), and High (Red) along with explicit comparison operators (e.g. >=, >, <=, <, =, !=) for complete control over rules even when only a single severity level is defined. The system evaluates cell values against these defined operator-value thresholds to apply background colors in the results dashboard and Excel exports. Fixed Excel export to apply these as native conditional formatting rules rather than static cell background fills, ensuring continuous range matching for intermediate values. Corrected decimal place formatting in Excel cells to match the results grid precision settings. Enabled dynamic, real-time background color and format updates in the browser results grid immediately when cell values are edited inline.

2026-07-07

  • Fix Standard PTM Liabilities UI Visibility: Fixed a critical bug in the Liabilities workspace where standard PTM liabilities (Deamidation, Oxidation, etc.) would fail to show up in the sidebar or results table for newly run or downloaded projects. The project export API now correctly forwards the system default motifs to the frontend so they can be processed and displayed successfully.

  • Dynamic Chain Resolution for PyMOL & SVL Exports: Updated structural visualization script generation for PyMOL and SVL (MOE) to dynamically map variable domain liabilities by sequence similarity. This allows liabilities, CDR regions, and framework colors to be correctly mapped and highlighted on custom-labeled chains in the loaded structure. On structures with four or more chains (e.g. IgG/Fab), highlighting is limited to the first matched light chain and heavy chain (one L, one H) while keeping all unmatched/uncolored chains visible to preserve overall structural context.

  • Engineering Feature Formatting & Cell Widths: Updated liabilities and features representation. For all engineering features, matched residues and residue coordinates are now displayed as comma-separated lists (e.g. 237, 238, 332 and A, A, G) rather than sequence ranges. Table columns (M. Linear, numbering schemes, etc.) now scale their widths dynamically to fit these content lists. Selecting a multi-residue row now highlights each individual residue in both the interactive 3D structure viewer and the PyMOL export script.

  • Eu Numbering Warning in Alignment: Added a warning message in the Alignment tool when the user selects only the "Eu" numbering scheme. Because Eu numbering is designed exclusively for antibody constant domains, the tool now displays a clear, user-friendly prompt instructing the user to select a different variable domain numbering scheme rather than rendering empty sequence grids.

  • Zero-Combination Explanatory Warning Modal: Added diagnostic checking to the Engineering workspace. If selected mutations and grouping rules (e.g., Single-paired mutations with disabled parental inclusion, empty mutant residue lists, or limits configurations) make it impossible to generate any variant designs, or if the generated variants are skipped as duplicates/parental-only, the tool now displays a detailed explanation modal detailing exactly which constraints or existing records are conflicting.

  • Preserve Row Selections During Pairing/Unpairing: Updated the Engineering workspace grid behaviour to retain active row selections when pairing or unpairing design rows. This eliminates the need to manually re-select the mutated entries for downstream combinatorial generation after grouping them.

  • Automatic Parental Fallback for Single-Paired Groups: Updated combinatorial generation to implicitly include parental residues in the choice sets for any position belonging to a "Single" pairing group. This prevents logical contradictions where turning off "Include Parent" on multiple Single-paired items would result in 0 possible combinations (by forcing all to mutate simultaneously, violating the "at most one mutation" rule). This parental option is preserved for Single-paired positions even when generating "Non-Parent" combinations, preventing combinatorial deadlocks when mixed with other non-paired or Together-paired mutations.

  • Reuse Existing Pairing IDs when Re-Pairing: Refined the pairing creation behaviour in the Engineering grid. If all selected rows are already grouped under the exact same pair ID, setting the pairing option (e.g. changing between Single and Together) now modifies the pair type in-place and reuses that ID rather than generating a new pair number and inflating the pair count.

2026-07-06

  • Alignment Selection Retention: Fixed column selection behavior in the Alignment view. Selecting a residue column and switching the primary numbering scheme (e.g., from IMGT to AHo) now translates the selected position to map to the same residue column, ensuring the selection persists on the intended biological residues.

  • Kannan Covariance Method & Custom Region Schemes: Added the on-the-fly ABHAND (Kannan) Covariance Model to the Covariance tool. Selecting this model evaluates query and sandbox sequences against pre-aligned, representative family reference datasets (e.g. IGHV3 or IGKV1 mapped to ABHAND classes) using a configurable conservation percentage threshold (defaulting to 60%). The interface dynamically adapts its table header labels ("OMES Sum" → "Cons. Sum", "Max OMES" → "Max Cons."), input fields, sliders, and severity score badges (using violation count cutoffs: Good ≤ 2, Warning 3-5, Severe > 5) in real-time. Added a Region Scheme select dropdown (supporting North, Kabat, IMGT, Aho, and Martin) directly below Covariance Model in the sidebar, allowing dynamic recalculation and alignment of framework/CDR boundaries on the fly. Updated Covariance Model option labels to Residue (OMES), ABHAND (OMES), and ABHAND (Kannan), and added corresponding documentation to Covariance.md.

  • Salt Bridge Pairing in First Pass Optimize: Updated the First Pass Optimize (FPO) tool to automatically group and pair recommended mutations at heavy chain IMGT positions 106 and 116 when both are recommended to fix a disrupted CDR3 salt bridge. This ensures they are treated as paired mutations (Together) in downstream combinatorial variant design.

2026-07-05

  • Decoupled Paired Mutation Setting: Introduced a new Pairing feature in the Engineering workspace. Users can select multiple mutation designs in the grid and group them as a pair set to either Single (only one mutation is allowed at a time in any generated variant) or Together (the mutations must always be made together or not at all in any generated variant). This enables precise control over combinatorial variant generation for linked residues (e.g., salt bridges, unusual cysteines, or fragmentation sites).

  • Unified Severe Liability Thresholds: Centralized severe liability thresholds for machine learning models (AbLang, AbLang2, IgBert, and CVV) into a single configuration. This ensures that the 'S' severe indicator in Positional Frequency Analysis (PFA) and the severe selections, colors, and descriptions on the Liabilities dashboard are always perfectly synchronized and easily updated from a single location.

  • FPO Disrupted CDR3 Salt Bridge Repair Rules: Added optimization rules to First Pass Optimize (FPO) to automatically fix disrupted CDR3 salt bridge stability liabilities, recommending Arginine (R) at IMGT position 106 if the parent is not R/K, and Aspartate (D) at IMGT position 116 if the parent is not D.

  • Restored PFA LLM Grid Numerical Values: Restored the rendering of numerical values in the Positional Frequency Analysis (PFA) grid for both LLM rows (AbLang, AbLang2, IgBert) and standard PFA rows. Configured the numbers to display to one decimal place (toFixed(1)) and rotated them 90 degrees vertically (writing-mode: vertical-rl) using an optimized centered font sizing to fit cleanly within the compact 24px grid cells without running together.

  • Aligned PFA Grid Collapse/Expand Buttons: Repositioned the PFA block grid collapse/expand toggle buttons (plus/minus icons) to the far right side of the label columns. Utilizing a flexbox row container ensures that all toggle buttons align perfectly vertically regardless of the varying lengths of block names.

2026-07-04

  • Liabilities Region Scheme Alignment: Fixed a region mismatch in the Liabilities Analysis page where stability/ML model liabilities (like AbLang, CVV, IgBERT) displayed region names that did not match the user's selected region scheme (e.g., showing IMGT 66 and 67 as Framework 3 instead of CDR2 when using the North region scheme). These region names are now dynamically resolved from the sequence's numbering data to ensure perfect alignment with the Alignment view.

  • Dynamic Region Scheme for CVV Calculations: Integrated dynamic region scheme selection into CVV calculations, replacing the hardcoded region setting. New project analyses will compute and output CVV liability regions matching the project's selected region scheme (e.g. North).

  • Severe Liability Visual Indicator in PFA: Updated the Positional Frequency Analysis (PFA) sequence grid to place an 'S' indicator inside AbLang, AbLang2, CVV, and IgBert liability cells when their values fall into the severe range (AbLang ≥ 5, AbLang2 ≥ 2, IgBert ≥ 2.5, CVV ≥ 2). The 'S' indicator is now checked and rendered based on severe stability thresholds directly, ensuring it displays even if a standard liability prioritizes a different cell background color. Matched the 'S' font color dynamically to ABHAND coloring standards (white font on red/purple/magenta backgrounds and black font on yellow/green backgrounds) to ensure consistent readability. Configured CVV processing to evaluate the full region model (incorporating CDRs), matching the LLM approach. Ordered the mouseover tooltips to display liabilities as AbLang, AbLang2, IgBert, and then CVV (following standard liabilities), reporting the value directly (e.g. AbLang (7.3)). Added the covariance-based humanness (CVV) liability color and indicator description to the "Liability Color Lookup" legend, and sorted the legend alphabetically.

  • Stability Liabilities Cutoff Defaults and CVV Standardisation: Updated the default stability cutoffs on the Liabilities page to reflect the medium thresholds (AbLang: 3.0, AbLang2: 1.5, IgBert: 2.0, CVV: 0.5) and updated their respective reset handlers. Standardized CVV cutoff checking and legends to use >= (greater than or equal to) comparisons (e.g. Low > 0.0, Med >= 0.5, Sev >= 2.0), matching the comparison definition of the other models.

  • Stability Liabilities Index Alignment Fix: Corrected index offset alignment (0-based vs 1-based) in templates/liabilities.html for stability models (AbLang/IgBert/CVV) when querying regions, assigning grid coordinates, and creating 3D Molstar selections. Aligned the row key's linear index value in the main table grid (addToPivot) to use 1-based al.LinearPosition + 1 to match the index used by Molstar, resolving a bug where selected stability residues were highlighted in blue at the wrong offset position (e.g. index 65 instead of 66) rather than in red. This fixes position shifts in the 3D Viewer overlay and ensures selected rows map to the correct highlighted residues.

2026-07-03

  • First Pass Optimize Grouping and Exclusions: Updated the "First Pass Optimize" engineering tool to group recommended mutations by their specific liability category (e.g., "Unusual Cys", "Stability", "Deamidation", "Isomerization", "Fragmentation", or "Disrupted CDR3 Salt Bridge") rather than using a single generic "First Pass Optimize" group name. For mutations in the "Stability" group, the notes field now appends the specific severe stability methods identified for that site (e.g., "First Pass Optimize recommendation. Stability (IgBert, CVV)"). Additionally, expanded the parental residue retention rules (includeParent: true) to preserve the parental residue at both standard Honegger exclusion areas and classic Vernier zone positions.

  • Analysis Report Export Enhancements: Improved the Word document analysis report by dynamically using the active user's company or organization name in the header, applying species-specific background colors to the Project Overview tables, and simplifying the alignment grid labels. Also, colored the covariance-based humanness (CVV) liability cells, included them and custom user-entered motifs in the color standards legend, updated references with ANARCI and IgBert citations, and removed the insert placeholder.

  • BiTE Quick Build Template Update: Updated the BiTE (1-chain) Quick Build preset in the Assembler to construct chains using the VH/VL-VH/VL orientation for both domains with a heavy chain leader sequence at the N-terminus, matching user preference for consistent Fv orientation.

  • Automatic PLAbDab Search on Load: Enabled the PLAbDab search interface to automatically execute search queries using the default settings (100 maximum hits and all regions selected) immediately when the page is opened, rather than waiting for the user to click the search button.

  • Germline Tool Layout Rearrangement: Simplified the Germline tool sequence grid by removing the redundant "Linear" numbering row (keeping the "M. Linear" row). Moved the "Regions" row below the numbering rows in the Leader, Variable, and Constant sections to improve visual clarity and alignment. Updated the "Regions" row label to dynamically include the active region scheme name.

  • PFA Row Label & Cell Sizing Alignment: Standardized the Positional Frequency Analysis (PFA) tool sequence grids to match the Germline tool's visual structure. Renamed the "Numbering (Linear)" row label to "M. Linear", simplified the system numbering row label (e.g. from "Numbering (IMGT)" to "IMGT"), left-aligned and styled all row labels, and repositioned the "Clear Section Selection" ban button next to the section title in the block header. Also reduced the PFA cell sizes from 35px to 24px and optimized grid font size (10px) to match the Germline tool's compact aesthetics. To prevent overflow in the smaller cell boxes, numerical values for both LLM probabilities (AbLang, AbLang2, IgBert) and LLM liability diff overlays are hidden from cell text and shown on mouseover tooltip instead. Applied overflow: hidden on all table cells and rounded PFA repertoire frequencies to nearest integer values (e.g. 99.3 to 99) to prevent horizontal text overlapping and merging.

  • Humanization Layout & Row Label Alignment: Standardized the Humanization tool sequence grids to match the Germline tool's visual structure. Reduced cell sizes from 35px to 24px and name column width to 280px to accommodate action buttons and badges without text clipping while matching the compact aesthetics of the Germline page. Included species badge overlays in the row labels (e.g. human, mouse, cat) and styled identity percentages to be consistent with the Germline view. Configured row identity percentages to dynamically update to show either Full or Modifiable sequence identity based on the "Sort By" selection. Aligned the row header section labels ("M. Linear" instead of "Mature Linear", "Regions" instead of "Region", and "Query" instead of the antibody base name), ensured left-alignment with a white background on all numbering/region header columns, and placed the "Query" sequence row directly below "Regions" to match the Germline tool's vertical hierarchy. Restored explicit sticky positioning overrides (!important) on row header cells to prevent conflicting grid layout overrides.

2026-07-02

  • Optimized Large Project Analysis: Implemented persistent memory caching for sequence-based LLM models (AbLang, AbLang2, IgBert) within the background analysis worker, completely eliminating the disk-load and weight-reloading overhead for sequential batches. Also increased the default analysis batch size from 10 to 50 to optimize database execution speed and reduce transaction overhead on high-capacity servers.

  • Export PyMOL in Engineering: Added an "Export PyMOL" button to the 3D Viewer pane header in the Engineering tab. This generates and downloads a self-contained PyMOL Python script (.py) for the currently selected mutation design set. Executing the script inside PyMOL loads the cartoon ribbon colored by sequence region (CDR and framework domains) and displays the designed mutations as element-colored sidechain atoms, grouped in a dedicated Engineering_Mutations selection set.

  • Clinical Comparison Surface Properties Fix: Corrected the Clinical Comparison tool to treat structure-based surface properties (SPH, SPP, SPN, and SPCD) as numeric values instead of categorical entries. They are now formatted to exactly two decimal places and compared against the newly updated clinical reference database (which has calculated surface properties) to apply standard color-coded percentiles.

  • Bulk Project Export Order & Date Retention: Configured bulk export to index nested archives sequentially, ensuring the selection order is preserved. Updated bulk import to sort nested ZIP files alphabetically and restore the project's original creation date (created_at) from the manifest, keeping dashboard sorting accurate.

2026-07-01

  • Bulk Project Re-run & Auto-refresh: Added a "Re-run Selected" action to the File menu on the dashboard. This allows users to select multiple projects from the grid, see a warning modal with the total count of entries to be analyzed, and queue them all for background re-analysis. Also, configured the dashboard to automatically refresh in real-time as soon as any active background analysis reaches completion.

  • SaaS License Agreement & Site Disclosure Update: Updated the terms of the AbLead Software-as-a-Service License Agreement and Site Disclosure. The new terms introduce a token-based concurrent access model for account setup, registration, and user-activation flows, replacing the per-user subscription seat model.

  • Rename Mutation Set: Added a "Rename Set" action to the Mutation Designs set management dropdown in the Engineering tab. This allows users to easily rename any custom mutation set via a prompt dialog, keeping all mutations and variants intact.

  • First Pass Optimize: Added a "First Pass Optimize" menu item under the Edit dropdown in the Results view. This feature automatically scans for severe liabilities (AbLang >= 5.0, AbLang2 >= 2.0, IgBert >= 2.5, CVV > 2.0, PTMs High) for a selected antibody and generates a target mutation design set under Engineering, incorporating specific rules for Cys (to Ser), deamidation (to Gln), isomerization/fragmentation (to Glu), and model-suggested/PFA-derived optimal replacements. It retains the parental residue at standard Honegger exclusion positions, and only applies additional VHH exclusions (positions 42, 49, 50, 52) if the selected entry is a single-chain VHH.

  • Preserve Selection in Engineering Mutation Designs: Fixed a bug where selecting mutations in the Engineering workspace and switching tabs or triggering a background data update/refresh would clear the checkboxes. The selected mutation tracker now matches using unique keys based on chain and linear position instead of object references, allowing selection state to persist through data reloads.

  • Coordinate Index Alignment: Fixed index offset mapping bugs in both the Liabilities detailed view and First Pass Optimize backend pipeline:

  • In Liabilities, reverted rawIdx to utilize the legacy check (isLegacy ? i + 1 : i), since the standard dictionary-format index keys in the results database are already 1-based.
  • In First Pass Optimize, corrected pos_map keys to utilize item[0] (which is already 1-based in annotate_and_trim) and removed the incorrect + 1 offset from standard liabilities linear_pos extraction. This resolves discrepancies where boundary residues (like IMGT 34 or position 7) mapped differently between tools.

2026-06-30

  • Restore System Motif Defaults & Grouping: Added a "Restore System Defaults" action to the Motif Detection settings to reset system-level developability motifs and features back to their original properties while preserving custom user-defined motifs. Visually partitioned system motifs and user-defined custom motifs into distinct visual sections to improve configuration clarity.

  • Bulk Project Export and Import: Enabled exporting multiple selected projects into a single master ZIP archive from the dashboard, as well as importing a bulk ZIP containing multiple project ZIPs at once to restore them in one action.

  • Surface Properties PyMOL Export: Added an Export dropdown menu in the Surface Properties dashboard featuring "Export Grid (Excel)" and "Export PyMOL (.py)". Selecting the PyMOL option exports a self-contained Python script (.py) to load the antibody structure in PyMOL, color active residues by the selected surface property (SPH, SPP, SPN, or SPCD), and render a transparent surface with the cartoon ribbon visible underneath.

  • Spam Protection for Evaluation Requests: Integrated Cloudflare Turnstile spam protection on the "Request Evaluation Account" page. This adds verification to prevent automated bot signups while maintaining a friction-free experience for legitimate users.

  • C-Terminal Deletion Numbering Support: Fixed constant region matching to allow successful alignment and numbering of sequences with C-terminal truncations (such as the K447del deletion).

  • Knobs-into-Holes Deduplication: Configured the liabilities scanner to automatically suppress redundant standard KiH Knob and KiH Hole matches when their respective + Disulfide variants are detected.

  • Sticky Liabilities Header Fix: Resolved a visual shifting bug in the Liabilities detailed grid where the "Liability" column header cell scrolled horizontally while the rest of the column's cells remained pinned.

  • CrossMab Domain-Swapped Numbering: Added full support for numbering and aligning domain-swapped bispecific sequences (CrossMabs) where light chain constant domains are engineered on heavy chains. Swapped constant domains are fully numbered and matched across subsequent domains (Hinge, CH2, CH3) without early truncation. Grouped parallel constant domains by domain priority in the topological sort to prevent column-by-column interleaving (e.g. CH1 and KC mixed) in the alignment and clading visualization grids.

  • IgG Hinge Numbering Alignment: Fixed an alignment coordinate shift bug in constant domain numbering for sequences containing gaps in their reference templates (such as IgG2 and IgG4 hinge regions). This ensures that S228P and other hinge modifications are correctly numbered and matched during feature scanning.

  • Secure Password Reset: Added a secure "Forgot Password?" reset flow to the login interface. Users can request a timed verification link sent via email to configure a new passphrase, utilizing a unified status message modal to prevent username enumeration.

  • Covariance Reference Path Migration: Relocated covariance reference databases from the shared PFA data folder (static/pfa_data/) to a dedicated covariance folder (static/cvv_data/), separating the Covariance tool's data assets from the Positional Frequency Analysis tool.

  • Local PDBe Molstar Hosting: Downloaded and hosted the PDBe Molstar JavaScript (pdbe-molstar-plugin.js) and CSS (pdbe-molstar.css) files locally. Updated all 3D structure viewer templates to load assets locally, eliminating external jsDelivr CDN dependency issues.

  • Display CDR Violations Toggle: Added a "Display CDR Violations" checkbox setting to the Covariance settings sidebar (default: off). This setting dynamically filters out CDR-associated violations from the alignment grids, summary tables, and Molstar 3D viewer selections.

  • Covariance Model Selection Menu: Added a "Covariance Model" settings dropdown to toggle calculations between the standard Residue-level model and the ABHAND-group model, loading their corresponding reference JSON databases (_abhand.json) dynamically. Corrected the validation logic to compare raw residues directly in Residue mode and mapped group classes in ABHAND mode, resolving false positives and incorrect 0.00 scores.

  • Calibrated Covariance Severity Ranges & Clinical Statistics: Recalibrated the empirical CVV severity thresholds against the OAS5K database (CVV Full cutoffs: Good ≤ 46.44, Warning ≤ 90.49, Severe > 90.49; CVV FR cutoffs: Good ≤ 8.36, Warning ≤ 22.41, Severe > 22.41). Re-analyzed the Thera-SAbDab human reference set and regenerated the Clinical Comparison statistics in clinical_stats_data.py to align the clinical database with the corrected covariance engine. Updated the KBC weights config (kbc_weights.json) and aligned the clinical comparison guides/attributes mapping.

2026-06-29

  • Residue Deletion Support in Engineering: Added support for using the gap character '-' as a mutation in the antibody engineering tool to completely delete the residue at that position.

  • Variant Grid Parental Display Character: Updated the Variant Designs table display and Excel export in the Engineering workspace to use '.' instead of '-' for residues that have no change/match the parental sequence. This frees up '-' to be used exclusively as the deletion gap character.

  • LALAPG Constant Region Feature Matching: Fixed an incorrect IMGT position index definition in Liabilities.py for the P329G mutation in LALAPG (Feature) (changing position 101 to 99). Enabled deduplication to suppress the redundant LALA (Feature) match when the full LALAPG sequence modification is present.

  • Forward Chain Type to Scanner: Updated the liability analysis loop in AbRankOrder.py to forward the active chain_type to the scanner to prevent cross-chain false positives.

  • Restricted Cysteine Count Inline Editing: Reverted inline editing permission changes to ensure only # Unpaired Cysteine (severity: high) remains editable on double click, while # Unusual Cysteine and # Cysteine Missing are read-only.

  • Salt Bridge Column Sorting: Corrected the canonical sorting order for the Disrupted CDR3 Salt Bridge columns to place the count column (# Disrupted CDR3 Salt Bridge) before the location column (Disrupted CDR3 Salt Bridge).

  • Genetic Origin Germline Column Sorting: Sorted germline columns in the project view results table to follow a "Light then Heavy" order: VL Species, VL V-Gene, VL V-Gene %id, VL J-Gene, VL J-Gene %id, followed by VH Species, VH V-Gene, VH V-Gene %id, VH J-Gene, VH J-Gene %id.

  • Fix Custom Motifs Column Restorations: Fixed a bug where custom user motifs (such as 'INS') would fail to restore their columns on the project view table due to an unhandled initialization error when checking active settings. Active motifs are now loaded directly from the database record.

  • OASign Log Silencing: Silenced verbose binary database loading messages from the OASign library to prevent cluttering stage logs.

  • Motif Matching Across Gaps: Implemented a gap-aware regex matcher in Liabilities.py. Custom and system motifs (such as 'INS') are now successfully matched across gaps in aligned sequences (such as I--NS), correctly translating residue indexes back to the gapped alignment coordinate system.

  • Fix Deleted Custom Motifs Columns Persistence: Fixed a bug where columns for custom user motifs would remain visible on the dashboard after deletion if they were previously calculated in some entries. Columns for deleted custom motifs are now dynamically filtered out on load.

  • Uncalculated Motif NC Placeholder: Missing cell values for active Cysteines, Potential PTMs, and User Motifs (e.g. when a motif was disabled during a past subset run) are now automatically filled with "NC" (Not Calculated) for the count column on the project view table, while the location column remains empty. This avoids displaying "NC" on calculated empty locations.

  • Fix Duplicate Column Rendering: Fixed a bug where category-prefixed database keys (such as Potential PTMs: Deamidation (severity: high)) in row dictionaries were processed as new headers during dynamic sync, resulting in duplicate/prefixed columns. The workspace loader now ignores category-prefixed keys.

  • Cysteine Count Inline Editing: Enabled double-click inline editing support for all Cysteine count columns (# Unpaired Cysteine, # Unusual Cysteine, and # Cysteine Missing) on the project view results table.

  • Fix Dynamic Header Synchronization & Subset Runs: Fixed a bug where subset runs would overwrite/clobber global project headers, causing previously calculated columns to disappear. The backend now merges headers during subset runs and dynamically synchronizes dashboard headers with active settings on load, restoring columns instantly when toggled back on without needing a full re-run.

  • Excel Export Custom Motif Formatting: Added support for custom motif and cell background colors inside the main Excel spreadsheet export. Custom motifs are now correctly grouped under the "User Motifs" header, and their count columns receive the standard conditional formatting colors while location cells receive the user-defined motif colors.

  • Fix Custom Motif Color Persistence: Fixed a bug where adding or deleting a custom motif would cause the highlight colors of all custom motifs to be stripped and reset to red when compiling the JSON configuration saved to the database.

  • Motif Detection Workspace Help Documentation: Created a comprehensive help document docs/MotifDetection.md detailing settings configurations, toggles, positional builds, and highlight color mappings, and registered the page under Project View in the documentation menu.

  • Draggable Liabilities Settings Sidebar: Added a resizable grab-handle to the right edge of the settings sidebar panel in the Liabilities view, allowing users to dynamically expand or narrow the settings panel width (from 200px to 600px) to easily view long feature/PTM names.

  • Resizable Liabilities Column: Added a resizable grab-handle to the "Liability" column header in the Liabilities view, allowing users to manually expand or shrink the column width. The other sticky columns adapt their layout dynamically as the column size changes.

  • Fix Custom and System Motif Merging: Fixed a critical merge bug where saving user settings without positions would clobber system-defined coordinates (such as Electrostatic Steering positions) with an empty list. Positional and regular expression configurations for canonical motifs are now preserved from system definitions, allowing them to be correctly scanned.

  • Debug Custom Motif Match Ranges: Fixed an off-by-one error in PTM sequence and IMGT position range reconstruction where exclusive regex matching boundaries were improperly treated as inclusive. This ensures patterns such as PAS{T} correctly match and report VL:PASI:18-21 (4 residues) instead of VL:PASIS:18-22 (5 residues).

  • User Settings Menu & Dropdown Layout: Migrated the user settings pages into full-width layout screens (removing the page-level sidebar box completely) and moved the tab selection into a hover-activated dropdown menu on the user profile navigation bar. Users can now click directly to Profile, KBC Scoring Preferences, or Motif Detection from anywhere in the app via the header.

  • Custom Motif Detection & Position Checks: Built a new Motif Detection settings screen allowing users to toggle canonical developability motifs (Deamidation, Glycosylation, etc.) and define custom motifs. Supported NCBI/PROSITE nomenclature patterns (e.g. N{P}[ST]{P}) and multi-position residue conditions across Fv and constant domains (e.g., CH3-CHS:88L, CH3-CHS:94S). Custom motifs support low/medium/high severities with conditional formatting, scoring weights, or designation as unscored "Features". Custom motifs are grouped under their own "User Motifs" category in the results grid with names matching system conventions (appending the severity suffix). Added custom conditional formatting count ranges (operators and values for Good, Low, Medium, and High) directly definable and editable within the motif editor. Removed the scoring weight fields from the Motif Detection screen to make KBC Scoring Preferences the single central authority for configuring weights (assigning new custom motifs a default weight of 0.0 on creation). Added a descriptive warning note in Motif Detection pointing to KBC Scoring Preferences for weight configuration. Added an explicit UI help note under the position label clarifying that positional conditions require the IMGT number alone (e.g. 88 or 94) as shown in the Alignment tool. Fixed a critical parsing type bug in the liability scanner (Liabilities.py) to correctly extract the residues list when AntPackHelper.annotate_and_trim() returns a dictionary, resolving scanning failures for custom positional motifs across variable and constant domains. Excluded "Feature" severity custom motifs from appearing as grid columns in the results dashboard, ensuring unscored features only show up as rows in the Liabilities tool. Added a "Constant" region filter option and a dedicated "Features" multiselect list box in the Liabilities tool sidebar to isolate unscored system and user features (with severity "Feature") from standard liabilities. Added a highlight color selector to the custom motif editor/table and dynamically integrated the selected custom color into the Liabilities detailed grid, Molstar highlights, Excel sheet exports, and PyMOL/SVL script exports (with dynamic text-font contrast calculation). Resolved a grid display bug in the Liabilities detailed table where matched custom features without single-letter amino acid sequences would display ? in the grid cells, now correctly rendering the feature base name (e.g., LS) in both web and Excel spreadsheet exports. Fixed a crash (IndexError: list index out of range) when exporting SVL/PyMOL scripts for custom features matching outside the variable domains (e.g. constant regions) by fallback formatting empty numbering cache entries, and added full support to render and color custom user-defined motifs in the generated PyMOL/SVL scripts. Fixed a rendering bug in the Motif Detection settings backend where the color property was not loaded in custom motifs during GET requests, causing color selectors to revert to default values. Added a set of system-level Features (LALA, LALAPG, LS, YTE, S228P, N297Q, N297A, KiH Knob/Hole, KiH Knob/Hole + Disulfide, Electrostatic Steering, and K447del) for Fc effector silencing, stabilization, heterodimerization, and half-life extension, tracking them dynamically as unscored constant region features. Added "Hinge" to the region dropdown menus in the motif settings pages. Implemented self-healing merge logic in Liabilities.py to dynamically combine missing system-level canonical motifs into custom user configurations when initializing the scanner, ensuring newly introduced system features are always scanned regardless of when the settings were last saved.

2026-06-27

  • Excel Alignment & Numbering Export Coloring: Updated Excel exports (both per-residue numbering grids and the aggregate sequence alignment sheets) to color constant regions (CL, CH1, Hinge, CH2, CH3) using the domain-specific color palette from colors.py and dynamically applied white/black text fonts to ensure maximum readability on darker backgrounds.

  • Alignment View Constant Region Coloring: Updated the Sequence Alignment grid visualization to color constant domain rows by their specific region colors (CL, CH1, Hinge, CH2, CH3) defined in colors.py instead of displaying them in a single generic light blue/gray color.

  • Liabilities Structure Viewer Constant Region Coloring: Color the constant (non-selected/non-Fv) regions in the liabilities 3D structure viewer by their specific domain colors (CL, CH1, Hinge, CH2, CH3, Linker) defined in colors.py rather than displaying them in white.

  • Constant Domain PyMOL & SVL Export Styling: Added detailed region and cartoon ribbon coloring for all constant domains (CL, CH1, CH2, CH3, Hinge) and Linkers in both PyMOL and MOE SVL exports according to the central color palette. SVL scripts now construct a dedicated constant domains section to select, collect, and style constant regions directly using their mature sequence boundaries.

  • User Account Initialization Fix: Fixed a bug where manually created users or users imported via CSV with an assigned initial password bypassed the initial settings configuration and legal terms acceptance. These users are now correctly marked as uninitialized and are prompted to select their timezone and accept the SaaS license agreement/legal terms on their first login.

  • PyMOL Script Export: Added support for exporting antibody liabilities as dynamic PyMOL Python scripts (.py files) packaged inside a Zip archive, mirroring the existing MOE SVL export. The scripts automatically query the loaded structure's sequences inside PyMOL and map regional selections (cartoon ribbons for CDRs and frameworks) and spacefilled liability residues dynamically. This ensures 100% correct coloring and labeling regardless of how the PDB file was numbered (e.g. sequential linear, IMGT, Kabat, or custom). The scene is configured with premium palettes, highlighted Cysteine sidechains, and hidden hydrogen atoms.

  • Export and Import Custom Metadata: Added full support for custom metadata columns and custom metadata values in project exports. When exporting a project to a .zip archive or downloading it as a .json file, all custom metadata columns and their values are now included. Importing a previously exported project .zip archive now fully restores the custom column definitions and their values on all antibody records.

2026-06-26

  • Category Row Sticky Layout Fix: Resolved a layout misalignment in the main results grid category row under Chrome/Blink browsers by styling the table header row container (thead) to be sticky vertically rather than individual th cells. This fixes the horizontal layout collapse where cells with colspan > 1 (such as Genetic Origin) were collapsed into a single column width. Replacing the dynamic loop.first condition with an unconditional check for empty or Molecule Name category entries also guarantees proper alignment between category headers and sub-headers.

  • Direct Custom Column Addition: Added the option to create a custom metadata column directly within the "Upload Metadata" dialog (via a new tabbed interface) without needing to upload a CSV or Excel file. Users can specify a name and choose the column's datatype (Text, Integer, or Float).

  • Text Format Preset: Added "Text (e.g., %s)" format preset option to the column format settings modal, allowing users to configure and force custom columns to display values as text.

  • Column Datatype Visibility: Added current column datatype (Text, Integer, or Float) visibility to the custom metadata column format settings modal.

  • Automatic Datatype and Value Coercion: Configured the column format settings modal to automatically update the underlying column datatype in the database schema when changing formats (e.g. changing format to %s sets the type to text), and automatically coerce all existing database records to match the new datatype. Added automatic self-healing to repair mismatched legacy columns on project page load.

  • Rearrange Custom Metadata Columns: Enabled draggable custom metadata column headers. Users can drag and drop custom columns to rearrange them within the "Other" group directly in the results grid, with a vertical insertion line indicator showing exactly where the column will be dropped.

  • Column Sorting State Preservation: Upgraded the grid sorting persistence to track column headers by their text names instead of indices. This prevents the grid from resorting or losing its sorted state when dynamic columns are added (such as via CSV/Excel metadata upload) or deleted.

  • Notes Column Mapping Support: Configured the metadata CSV/Excel importer to map any column named "Notes" (case-insensitive) directly to the native Notes field on the database records rather than creating a duplicate custom metadata column.

  • Success Modal Visibility Fix: Resolved a layout nesting issue in the Upload Metadata modal where a missing closing </div> tag caused success alerts and overwrite warnings to render inside the upload modal container. This caused them to remain hidden unless the upload modal was reopened.

  • Metadata Overwrite Confirmation Warning: Implemented an explicit warning modal that alerts the user if an uploaded CSV or Excel metadata file contains column names that already exist in the project. The user must explicitly confirm the overwrite before any database records are modified.

  • Project View Documentation Update: Updated the Project View documentation (docs/ProjectView.md) to include instructions on uploading custom metadata, inline cell editing, configuring format notation presets (Integer, Decimal Float, Scientific Notation, Custom), column renaming, and column deletion.

  • Custom Metadata Column Renaming: Added support for renaming custom metadata column titles directly from the settings popup dialog. Renaming a column updates the project schema definition and automatically migrates the metadata keys on all associated antibody records inside the database.

  • Delete Metadata Confirmation Fix: Resolved a modal freezing bug where the delete confirmation modal's Cancel and Delete buttons failed to respond to clicks due to ID collision with the global confirmation modal. Unique results-specific IDs were assigned, and an in-progress spinner was added to indicate deletion status.

  • Custom Metadata Scientific Float Formatting: Added standardized formatting for float custom metadata. Scientific notations like 32.4e-8 are mathematically normalized and formatted as 3.24e-7 inside the main interactive grid, Excel exports, and CSV exports.

  • Grid Layout and Scrolling Stickiness Correction: Fixed header and column positioning in the main project results grid. Removed inline positioning overrides that were overriding sticky table styles and causing headers to mismatch. Changed the table wrapper container height definition from viewport-based height (100vh) to container-responsive flexbox sizing (flex: 1, min-height: 0), restoring full scrollability and proper layout boundaries across browsers.

  • Custom Metadata CSV/Excel Upload: Introduced the ability to upload custom metadata (e.g., assay values, affinity, custom columns) to a project via CSV or Excel file. The system automatically matches rows based on entry name and appends the new fields directly to the main project grid right after the Notes column. These fields support inline double-click editing, robust float-type inference for scientific notation formats (e.g., 1e-09), dynamic column deletion from the grid interface, range filtering, custom sorting, and are fully preserved in Excel and CSV exports.

  • Automated IMGT Germline Downloader: Introduced an automated command-line tool to programmatically query and download functional gapped amino acid sequences from the IMGT/GENE-DB database for any specified species. The script handles search criteria, extracts gene selections, requests aligned FASTA sequences with IMGT gaps, and saves them to the species germline directory.

  • Chicken Germline Integration: Added support for Chicken (Gallus_gallus / Ck abbreviation) germlines. Processed the new FASTA source files and compiled them into the unified local germline JSON database. Updated the Germline and Humanization workspace layouts, legends, UI dropdown selectors, and product documentation to fully support chicken antibody references.

2026-06-25

  • Species Color Hex Capitalization: Uppercased species-specific color hex codes in the central configuration to align with standard styling formats.

  • Centralized Species Color Coding: Consolidated duplicate species configurations and introduced centralized, dynamic color coding in the Germline tool sidebar and results grids, including automatic fallback colors for future species additions.

  • Feline Germline Integration: Added support for Cat (Felis_catus / Ct abbreviation) germlines. Processed the new FASTA source files into standard IMGT-aligned positions and compiled them into the unified local germline JSON database. Updated the Germline and Humanization workspace layouts, legends, UI dropdown selectors, and product documentation to fully support cat antibody references.

2026-06-23

  • Disulfide Stabilization in Assembler: Added a new "Specialty Mutations" option in the Assembler tool containing the option "H44-L100 (IMGT H49-L120)" to introduce an interdomain disulfide bond to stabilize scFv/Fv interfaces. If selected, the system automatically mutates Kabat LC 100 (IMGT L120) and Kabat HC 44 (IMGT H49) to Cysteines.

  • Rename Request Test Account: Renamed the request_test_account route, function, and templates to request_evaluation_account throughout the project to maintain terminology consistency with the evaluation workspace features.

  • Custom Parts Deletion Bug Fix: Resolved an issue in the Assembler tool where newly created "User Custom Parts" could not be deleted from the sidebar before reloading the Assembler iframe. Also fixed a SortableJS cloning bug where dragging a custom part to a chain row caused the sidebar item to lose its delete click event handler, by migrating custom parts deletion to a robust event delegation listener on the main sidebar container.

  • Conditional Formatting Documentation: Added a comprehensive table to the Project View documentation mapping all conditional formatting ranges and thresholds for stability LLMs (AbLang, AbLang2, IgBert), humanness (OASign), surface properties (SurfProp), pI, cysteines/PTMs, disrupted salt bridges, and CDR lengths.

2026-06-22

  • Request Evaluation Account & Activation Queuing: Renamed the "Generate Test Account" option to "Request Evaluation Account". Implemented a FIFO activation queue for evaluation account requests when the concurrent active account limit is reached. Queued users do not receive activation links until active slots become available. If a user fails to activate their account within 24 hours of receiving the activation email, their request is dropped and the next queued user is automatically activated.

  • Generate Test Account Public Sign-up: Added a "Generate Test Account" option to the public landing page. This page lets visitors register for a temporary, 1-week test account pre-loaded with an Example project (15 diverse mAbs) and a Humanization project (1 mouse Fv). Test accounts have complete access to all calculations, visualizations, and engineering tools but are restricted from importing new sequence/ZIP files or adding new sequences. Account verification links are sent automatically to users' verified email addresses. The registration form embeds the full scrollable Legal Disclosure terms (without requiring a checkbox agreement at sign-up, which is handled during self-activation).

  • Test Account Safety Controls & Project Reset: Grayed out and disabled restricted menu items (Import, Add Fvs, and Deletions) in the dashboard and project workspaces for test accounts instead of hiding them. Completely blocked backend deletion APIs (for projects, runs, and antibodies) for test accounts to protect initial demo data. Added a "Refresh to Initial Account Projects" button on the dashboard allowing test account users to delete all custom work and instantly restore their demo workspace to its factory-seeded state.

  • Account Invitation & Self-Activation Onboarding: Implemented a secure, invitation-based user creation flow. New users click a secure link, set their own passphrases, accept legal disclosures, and establish their preferences, removing the need for administrators to distribute temporary passwords manually.

2026-06-19

  • Company-Level Concurrent Login Limits: Introduced a Company model to group user accounts by domain or direct configuration and set purchased concurrent login seat limits (tokens). The system automatically tracks active logins based on activity, preventing companies from exceeding their purchased tokens. Extended the User Management dashboard with inline company assignment selectors, bulk company assignment actions, and a comprehensive card to create, modify, and delete companies.

  • Company Deletion Warning Modal: Integrated an explicit confirmation modal for deleting organizations from the User Management dashboard to prevent accidental deletions and unintended user unassignments.

  • Bulk Project Sharing from Dashboard: Added a "Share" action inside the "File" dropdown menu on the main dashboard below "Import Library". This allows users to share multiple selected projects simultaneously. The share modal dynamically adapts to show a summary for multiple selected projects and applies the access permissions to all of them in parallel.

  • Security Hardening and Access Control (IDOR Remediation): Conducted a comprehensive security audit of all API endpoints and page routes. Implemented robust authorization controls to prevent Insecure Direct Object Reference (IDOR) attacks across results views, progress status indicators, analysis log downloads, project and antibody workspaces, clading/clinical exports, residue observations, and engineering sets.
  • Canine and Pig Germline Architecture Migration: Migrated the platform's closest germline and species classification logic from ANARCI's native databases to our local JSON database. ANARCI is now used solely for structural IMGT numbering alignment, and matches are evaluated locally on a unified sequence identity basis across all species. Added support for Pig (Sus_scrofa) germlines to the compiler, frontend UI, legend indicators (Pg), and help documentation to fully cover all previously supported ANARCI species under the new local architecture. Dropped the 4.5% human/mouse tie-breaker override so that the absolute closest germline match by identity is always chosen, prioritizing human in the event of a tie in percentage identity.
  • Passphrase Generation Refactor: Refactored the passphrase generation algorithm to utilize cryptographically secure list sampling from an expanded dictionary of 223 words and increased the default length to 6 words to achieve higher cryptographic entropy (~46.7 bits). Exposed this generator via a new backend API endpoint, allowing the user interface to fetch passphrases directly and eliminating duplicated logic.

2026-06-18

  • Canine Germline Integration: Added support for Canine (Canis_lupus_familiaris) germlines in the Germline and Humanization tools. Updated the compiler to process dog FASTA sequences into standard IMGT alignments. Developed a local sequence identity matching fallback to automatically align and match dog sequences since the ANARCI engine does not natively support canine germlines in its HMM profiles. Updated the UI and help documentation to include the new Dog option and legend indicator (Dg). Additionally, updated the Humanization and Germline workspace sorting keys to prioritize and promote canonical-species germlines to the top of alignment tables if they are within the 4.5% tie-breaker override threshold.

  • Liabilities Structure Selection Persistence: Fixed a bug in the Liabilities workspace where selecting a different 3D structure for visualization automatically wiped out any custom row selections and selected only the severe rows. Custom row selections are now fully preserved when changing structures.

  • Safari and Firefox Sticky Column Layout Correction: Fixed a bug where the left-hand sequence and parameter name columns (such as parent sequence, germline, and liability headers) in the PFA (Positional Frequency Analysis), Covariance, and Humanization grids failed to remain sticky and scrolled horizontally in Safari and Firefox. Removed conflicting CSS flex displays from the table cells (td and th) and transitioned them to standard table-cell vertical and horizontal alignment properties.

  • Covariance Violation Navigation Scrolling Correction: Fixed an issue in Safari and Firefox where clicking a covariance violation in the summary table caused the entire main browser page layout to shift/scroll left and cut off side controls. The grid viewport now scrolls directly and centers the violating residue without shifting the main page context.

  • Engineering Chain Label Fix: Corrected the layout in the Engineering sequence grid view so that the chain header labels (e.g., Lambda Chain, Heavy Chain) remain static and do not slide/scroll horizontally with the sequence tables, while preserving the single horizontal scrollbar on the main frame viewport.

  • Covariance DB Generation Memory Optimization: Optimized the covariance database generator (generate_covariance_db.py) to aggregate single and joint frequencies on-the-fly, reducing memory footprint to a small, constant size. This prevents Out-Of-Memory (OOM) Killed: 9 crashes when processing massive sequence files (such as 30+ million heavy/light chain datasets) with unlimited sample limits.


2026-06-17

  • Library Evaluation and Validation Import: Introduced a new "Import Library" workspace tool to validate high-throughput sequence files (FASTQ or FASTA) containing nucleotide or protein sequences before creating or importing them into projects. The tool automatically detects nucleotide sequences, translates them across all 6 reading frames to identify the correct open reading frame mapping to a valid antibody domain, evaluates structural domain limits, and presents a dynamic interactive grid showing CDR loops, sequence lengths, and warning flags. Users can filter and select valid clones using Gmail-style deselect behaviors and import them. Supported file formats include .fasta, .fastq, .txt, and compressed .gz formats. Added a real-time progress bar, validation counter (X of Y clones), and a responsive Cancel button to stop validation midway.

  • Default Active Filter in User Management: Set the default view in the User Management dashboard to "Online/Active" instead of "All Statuses" to optimize initial dashboard loading and display. Also updated the search filter reset button to return to this "Online/Active" default state.

  • Help Documentation Reorganisation: Split duplicate and overlapping navigation menu links in the documentation to ensure that every help page maps to a unique, single-purpose Markdown file. Extracted edit, analysis, and export sub-sections into 11 new documentation files (such as FullReRunAnalysis.md, BulkHumanize.md, AddFvsPDBs.md, etc.), eliminating compilation warnings and improving the documentation's overall navigation. Changed the sidebar navigation scheme so that top-level menu sections (Analysis, Edit, Export, etc.) are collapsible and toggleable, rather than expanded by default.


2026-06-16

  • Standalone Web App Mode: Enabled true standalone PWA capability for AbLead. Created a web application manifest and added macOS/iOS PWA configurations to hide the settings, address, and navigation bars when the website is installed as a native app on macOS (using Safari's "Add to Dock" or Chrome's install feature).

  • Clinical Comparison VHH Handling: Added handling to the Clinical Comparison tool to clearly indicate that comparing clinical-stage antibody reference ranges is not valid for VHH (nanobody) entries. VHH column header cell backgrounds are now colored severe red with black text in both the interactive dashboard and Excel exports, and a corresponding format legend has been added to the right of the Percentiles legend.

  • PLAbDab-nano Integration: Expanded the PLAbDab Search tool to support searching against the PLAbDab-nano dataset (VHH and VNAR single-domain camelid/shark nanobody sequences). The tool automatically detects whether the query antibody is a standard Fv (Heavy + Light) or VHH (Heavy-only) and queries the appropriate database, with the user interface dynamically adapting to show either Fv or VHH tabs and information.

  • PLAbDab Results Column Layering: Corrected the layering order in the PLAbDab Search view by increasing the z-index of the sticky results/patent metadata column and lowering the selection header layer's z-index. This prevents the selection overlay boxes from rendering on top of and obscuring the patent numbers and results text at both the body and header levels.


2026-06-15

  • PFA Grid Parent Residue Highlighting: Enhanced the PFA (Positional Frequency Analysis) openable grids in both the PFA and Covariance workspaces to highlight the parental sequence residue value at each position in light red, matching the visual weight of the light green most probable/consensus highlights.

  • Multispecific Parts and Quick Build Templates Documentation: Added a detailed section to the Assembler documentation (Assembler.md) detailing the available Knobs-into-Holes (KiH) CH3, CrossMab crossover, electrostatic steering, SEED, and orthogonal charge-pair domains, alongside their corresponding Quick Build templates. The parts are documented using their user-facing interface names (e.g., CH3 (Knob - T366W, IgG1)) rather than technical code identifiers to match the software's UI. Included key academic literature references for Electrostatic Steering (Gunasekaran et al.), SEED (Davis et al.), Orthogonal Fab Interfaces (Lewis et al.), and Fc engineering mutations (LALA, LALAPG, LS, YTE).

  • Dynamic Lambda Quick Build Assemblies: Fixed a bug where Quick Build templates in the Assembler automatically inserted Kappa leaders and Kappa constant regions for all Light Chains. The system now dynamically selects Lambda-specific leaders and Lambda constant domains (or crossover equivalent CL Lambda parts) when the corresponding variable region is detected as a Lambda chain.


2026-06-14

  • Covariance DB Generation Progress Tracking: Added ongoing progress tracking to the covariance database generation script, indicating the file name being evaluated and its percentage progress through the compressed stream.

2026-06-13

  • Interactive User Management Controls: Streamlined the User Management dashboard by replacing static columns and toggle buttons with real-time dropdown menus. The Status, Admin role, and Read Only status can now be set directly via inline dropdowns that save instantly using AJAX, with visual confirmations (green/red border flashes). Repositioned the Impersonate and Force Passphrase Reset buttons side-by-side to the left of the user's name, clean-up the layout, and removed unnecessary action buttons from the far-right column.

  • Surface Properties Charge Dipole (SPCD) Calibration: Calibrated the SPCD calculation to match standard FvCSP/SFvCSP definitions at pH 5.5. Histidine's charge value has been adjusted to \(+0.9\) in the new pH 5.5 charge scale, and the salt bridge distance cutoff has been aligned consistently to \(\le 4.0\) Å in both the calculation engine and documentation.

  • Per-Entry Calculation Outdate Rerun Alerts: Added an administrator setting in the System Settings panel to configure a global "Rerun Cutoff Timestamp" (automatically localized to the admin's preferred timezone). Individual entries now record their respective calculation timestamps, and any entry analyzed before the cutoff is styled in red font in the results grid with an explanatory tooltip to alert the user that it needs to be rerun. Rerunning an individual entry will update only its specific timestamp, turning it back to black while leaving the remaining outdated entries styled in red.

  • Multispecific Construct Exclusions for Project Outdated Alerts: Enhanced project-level outdated calculation checks on both the dashboard and project details views to correctly exclude multispecific constructs by cross-referencing row names with the database antibody source files. This ensures that projects containing multispecific assembler results are not falsely marked as outdated (red font) on the dashboard when all other individual variable domain/VHH sequences are up to date.

  • Results Grid Sort State Preservation: Preserves the active sorting column and direction in sessionStorage. When an analysis re-run completes and refreshes the project data, or when the results view is reloaded, the active sorting selection remains intact instead of resetting.

  • Clinical Comparison CSV & Ranges Update: Regenerated reference statistical limits and ranges (clinical_stats_data.py) using the human-specific subset of the updated Thera-SAbDab Jain full-length analysis cohort dataset.


2026-06-12

  • Clinical Comparison Formatting Fix: Wrapped gene names containing asterisks in inline code blocks within the clinical comparison help documentation to prevent formatting errors and incorrect rendering of italics.
  • Clinical Comparison Expanded Reference Set (Thera-SAbDab): Migrated the Clinical Comparison reference stats database to use the newly compiled and aligned set of 588 human clinical antibodies from Thera-SAbDab, updating the display text to match. Removed the redundant "Human Only" checkbox from the workspace interface since the entire dataset is now human-specific.
  • Covariance Workspace Scrollbars: Added custom styled horizontal scrollbars to both the Light and Heavy Chain alignment grids and the summary violations table, and switched the summary table layout behavior to automatic. This resolves issues where the residue numbering grid and the Partners column listings were truncated and unscrollable on smaller screens.
  • Covariance Framework Score Prominence: Updated the Covariance Settings sidebar to split the display into two separate colored badges: a prominent one for the Framework (FR) Violation Score and a smaller compact one for the Full Violation Score directly beneath it. Each badge dynamically color-codes its background and borders according to its respective severity thresholds (FR cutoffs: Good ≤ 2.34, Warning ≤ 7.82, Severe > 7.82; Full cutoffs: Good ≤ 18.24, Warning ≤ 41.27, Severe > 41.27). Removed the horizontal separation line and tight-spaced the margin between the two boxes for a cleaner layout.
  • Session Cleanup on Login and Authentication: Resolved a session impersonation leak where timing out or navigating directly to the login page from an impersonated session, and then logging back in as admin, would mistakenly display the administrator as impersonating "admin". The application now explicitly clears the Flask session state during all login and authentication routes (standard password login, 2FA validation, recovery validation, and WebAuthn/passkey validation) before initializing the new user session.
  • Jain and Thera-SAbDab Sequence Comparison: Performed sequence-level comparison between Jain mAbs and Thera-SAbDab analysis datasets to explain discrepant global properties (pI and surface charges), demonstrating that Jain sequences incorporated constant domains (full IgG/Fab format) while Thera-SAbDab sequences contained only variable domains (Fv).
  • Molecules Export Utility: Exported the sequences of the 62 Jain clinical antibodies that are absent from the Thera-SAbDab cohort to FASTA and CSV formats.
  • Human-only Missing Molecules Export: Exported the sequences of the 35 Jain clinical antibodies with both chains classified as human that are absent from the Thera-SAbDab cohort to FASTA and CSV formats.
  • Full-Length Fv-Constant Joined FASTA: Created a utility script to combine the Fv-trimmed human missing Jain entries and the human Thera-SAbDab entries, appending appropriate Kappa, Lambda, and Heavy constant domains (KC IGKC*01, LC IGLC1*01, and HC Full IgHG1*01 respectively) based on their V-gene classifications, and exported the joined dataset as Thera-SAbDab_Jain_Human_FullLength.fasta.
  • Germline Alignment Database Rebuild: Rebuilt the germline alignment JSON database (humanization_germlines.json) by running ANARCI on all V germline sequences during compilation. This ensures all database V-region entries map perfectly to standard IMGT unique numbering positions, correcting a sequence alignment shift bug that caused Rhesus matching scores to be calculated incorrectly (e.g., scoring at 29% instead of 90%).
  • CDR3 Exclusion Documentation: Updated help files Germline.md and ProjectView.md to explicitly document that ANARCI ignores the CDR3 junction region (positions 105-108) when computing V-region species and germline assignments for the main Project View, whereas the Germline workspace alignments evaluate positions 1 to 108 (including the CDR3 junction).
  • Germline Tool Default Species & Priority Sorting: Updated the Germline tool's species selection to default to selecting all available species (e.g., Human, Mouse, Rhesus, Alpaca, Rat, Rabbit) rather than defaulting only to Human. Additionally, matches are now sorted to prioritize the active chain's canonical species when sequence identity scores are tied, ensuring rhesus germlines are prioritized for rhesus-classified chains. Updated user-facing help documentation in Germline.md to describe the expanded list of species and their indicators.
  • Clinical Comparison Germline Suffix Matching: Fixed a visual bug where germlines containing species suffixes (such as IGKV1-39*01 (human)) were incorrectly highlighted in red on the Clinical Comparison grid. The categorical comparison logic now extracts and compares suffix-stripped base germline names for both client values and clinical reference values to ensure robust matching.
  • LLM Calculation Fix for Structure-Only Runs: Fixed a bug where sequence-based language model predictions (AbLang, AbLang2, and IgBert) were not calculated for subsequent sequence runs. Background worker processes now track whether sequence models have been initialized separately from structural models, preventing structure-only runs (like PDB additions or model building) from blocking sequence model imports in subsequent jobs.
  • Germline Human/Mouse Species Prioritization: Implemented an automated tie-breaking prioritization rule in the Germline Assigner. When evaluating multiple species, the assigner now favors human or mouse germlines if their identity scores fall within 4.5% of the absolute top non-human/mouse hit. This prevents human/humanized therapeutic antibodies with minor framework mutations from being incorrectly classified as rhesus, pig, or other species, while correctly preserving primate classification for actual primatized therapeutics.
  • V-Gene C-Terminus Alignment Correction: Corrected V-gene alignment logic during germline database compilation to prevent ANARCI from stretching trailing V-region residues (such as the conserved Arginine at the end of the CAR motif) to position 117. Trailing residues after Cysteine 104 are now correctly positioned sequentially starting at 105, ensuring V-germline residues align perfectly in the Germline analysis grid.
  • Germline Tool Default Species Selection: Reconfigured the default selected species on page load in the Germline tool from "all species" to "Human" and "Mouse" only. This resolves slow page load times by preventing the backend from aligning the selected antibody against thousands of other species' V/J germlines on initial load, while still allowing the user to select them in the settings panel.

2026-06-11

  • PDB Files Selection Counter: Added a permanent selection counter to the PDB Files manager toolbar styled like the main results dashboard. The counter displays the total count of PDB files when no items are checked (e.g. 568 PDB Files), updates dynamically to show selection status (e.g. 3 of 568 Selected), and is initialized immediately upon page load.
  • Surface Properties Predicted Structure Sequence Tolerance: Fixed a sequence mismatch error (PDB/FASTA Fv sequences mismatch after trimming.) that occurred during Surface Properties calculations for ML-predicted structural models (such as Zinlirvimab and Zovostotug). The sequence validation algorithm now tolerates N-terminal and C-terminal trimming introduced by structural prediction pipelines.
  • ABodyBuilder2 Model Building Validation Bypass: Implemented runtime monkey-patching in AbRankOrder.py to relax ImmuneBuilder's strict residue numbering checks. Conserved IMGT boundary assertions (e.g. min(numbers) < 8 and max(numbers) > 120) are bypassed when they reject valid antibody sequences due to unusual framework alignments (e.g. Zinlirvimab light chain) or long CDR3 loops (e.g. Zovostotug heavy chain), allowing structural models to build successfully.
  • Structural Model Building PDB Harvesting Fix: Corrected a bug where newly built 3D structure models were not saved to the database. Updated the final database harvesting loop to search within the structure-only antibodies_with_new_pdbs list (instead of relying solely on the sequence-only antibodies_to_analyze list), and corrected the setup_complete callback payload to properly return the list of built structures so they are analyzed immediately.
  • Structural Model Building Subset Filter Fix: Fixed a bug where ABodyBuilder2 failed to build 3D models for selected project entries during structure-only runs. Enabled run_model_building() to recognize and respect structure_subset limits alongside sequence analysis_subset constraints, ensuring model building successfully builds structures for the subset of targeted entries.
  • Analysis Progress Modal Cancel Button Fix: Fixed an issue where the "Cancel Job" button could leak and remain visible in the progress modal footer after a run completes successfully or fails, particularly during zero-item runs. The button is now explicitly hidden at the start of modal initialization.
  • Germline Assignment Warning Silence: Suppressed verbose and distracting ANARCI Limiting hmmer search warnings from the console output during germline species assignment. Wrapped all internal ANARCI calls in GermlineAssignment.py with stdout redirection to ensure logs and import progress messages remain clean and focused.
  • Assembler CrossMab Hinge Fix: Removed the incorrect automatic insertion of the EPKSC upper hinge sequence at the junction between the crossover CL domain and core hinge domain in CH1-CL CrossMab assemblies. This ensures heavy crossover chains are correctly assembled as VH-CL-Hinge, aligning with biologically validated clinical standards (such as Vanucizumab).
  • Clinical Comparison CVV Metrics Integration: Integrated covariance violations (CVV Full and CVV FR) into the Clinical Comparison dashboard, enabling users to evaluate sequence-level covariance anomalies against clinical development therapeutics using reference percentiles and ranges derived from the Jain mAbs dataset.
  • Confirmation Modal Customization & Cancel Styling: Fixed button label crossover and styling in the confirmation modal. Destructive or cancellation actions now display with grey secondary ('Keep Running') and red primary ('Cancel Job') styled buttons, and all button labels/colors are correctly reset dynamically to prevent text leaks from previous modals.
  • Queued Run Cancellation: Enabled cancellation of queued background runs (waiting in the serial orchestrator queue) through the progress modal cancel button. Queued runs marked as canceled are now automatically skipped when pulled by the orchestrator.
  • Log Polling Deduplication: Resolved a client-side JavaScript bug where overlapping asynchronous network requests from concurrent polling could cause progress logs to duplicate. Refactored the polling loop in templates/base.html from setInterval to a recursive setTimeout pattern, ensuring a new polling request is only scheduled after the previous request has fully resolved. Stored the timeout ID in a global reference and hoisted clearActivePoll() to guarantee clean cancellation.

2026-06-10

  • Inactivity Timeout Online Status Sync: Fixed an issue where users whose sessions timed out remained marked as "Online" in user management. Updated the backend login_required middleware in routes/auth_utils.py to set the user's last_activity status to None in the database when enforcing an inactivity timeout, mirroring a manual logout.
  • CL-CH1 CrossMab Preset Enhancement: Aligned the CL-CH1 CrossMab preset template with biologically validated architectures (such as Faricimab and Vanucizumab). Configured the light chain crossover to end in +EPKSC (crossmab-ch1-cl-lc), the heavy chain crossover to use the Hole Fc variant with a new truncated hinge starting with DKTHT (hinge-dktht-g1), and the standard heavy chain to use the Knob Fc variant. Added a new ASVA-optimized heavy crossover CL Kappa part (crossmab-ch1-cl-hc-kappa-asva) to minimize V-C interface steric strain, and embedded a notice banner warning that presets serve as starting points only.
  • CrossMAb Hinge Assembly Fix: Corrected a sequence truncation bug in the constant crossover (CH1-CL) Assembler. Implemented automatic insertion of the 5-amino-acid upper hinge spacer (EPKSC) when a crossover constant domain ending in RGEC is connected to a core heavy hinge sequence starting with DKTHT (hinge-dktht-g1), preventing expression failure and steric clash.
  • Bug Fix for CL-CH1 CrossMab Presets: Corrected the preset domain search query for Hinge regions in the Assembler. Fixed a query name mismatch (from "Hinge IGHG101" to "H IGHG101") and made the category lookup function robust against empty/missing arrays, restoring complete chain construction including variable domains (VL/VH) and correct constant domain layouts for CrossMab templates.
  • Dynamic Fc Mutations and Preset Templates: Integrated dynamic Fc mutations (LALA, LALAPG, YTE, LS) in standard and multispecific build modes to apply modifications on-the-fly, avoiding combinatorial library clutter. Added a "Quick Build" presets dropdown (e.g. Fv CrossMab, CL-CH1 CrossMab, scFv-Fc, BiTE) to instantly layout chains and pre-populate heterodimerization, crossover, and linker domains with automatic signal leader sequence insertion in the Assembler.
  • Expanded Multispecific Parts Configuration: Added new engineered constant region domains to static/config/multispecific_parts.json including Electrostatic Steering (charge pairs DK/KK), Strand-Exchange Engineered Domains (AG/GA SEED), and Orthogonal Fab interface mutations (CH1/CL Kappa) to simplify modular multispecific antibody design in the Assembler.
  • Obsolete CrossMab Part Removal: Removed the obsolete truncated light crossover part CrossMab CH1-CL -EPKSC (crossmab-ch1-cl-lc-no-epksc) from the multispecific parts JSON configuration to prevent unoptimized crossover assemblies.
  • Unlimited Max-Total in Covariance Script: Updated generate_covariance_db.py to support setting -m / --max-total to 0 or -1 to process files without enforcing a total sequence limit.
  • Updated Help Documentation: Added dedicated sections for 'CH2/CH3 Mutations (Dynamic Fc Mutations)' and 'Quick Build' templates/presets to the Assembler.md help documentation, including foundational scientific literature citations for CrossMAb, Knobs-into-Holes, and BiTE formats.
  • Batch Mode Chain Label Counts: Added dynamic counts to the Kappa Chain, Lambda Chain, and Heavy Chain labels in Batch Mode to display the number of domains mapped from the total number of selected cohort entries (e.g. "Kappa Chain (2 domains from 4 selected entries)").

2026-06-09

  • Multi-Species Germline Species Assignment Fix: Resolved an issue where ANARCI failed to evaluate alternative species germlines (such as alpaca) when "all" species were selected, incorrectly defaulting to human germlines. Updated the germline assigner tool to explicitly pass the full allowed species list to the ANARCI library during "all" species searches, and expanded the supported species database configuration to cover all species supported by ANARCI including cow. Prioritized the species of the actual closest V-gene germline over the raw HMMer hit species, ensuring human entries are correctly called human rather than rhesus or alpaca.
  • Surface Properties Region Annotations for VHH: Fixed region scheme mapping and index alignment in the Surface Properties route. Pulls system defaults in lowercase and runs AntPackHelper.annotate_and_trim() directly on the PDB-derived sequence (full_seq) with include_leader=False, ensuring 1:1 parity between annotated residues and coordinates. Maps linear to the AntPack raw_idx and pdb_num to the renumbered idx + 1 to match the sequentially renumbered PDB coordinates served to Molstar. This completely resolves coordinate index shifts, wrong CDR/Framework region assignments on the ribbon, and mutation indicator misalignment on VHH and Fv structures.
  • Solvent Exposures Workspace Enhancements: Updated residue mouseover tooltips in the Solvent Exposures workspace to display the selected numbering system name next to the position value (e.g., “IMGT 75”), ensuring consistency with other analysis workspaces. Changed the workspace tab label from “Solvent: [entry]” to “Solv. Exp.: [entry]” to prevent tab label crowding.
  • PDB Files Loading Indicator: Added a visual loading spinner to the PDB Files manager workspace to indicate progress during initialization and model parsing.
  • Surface Properties 3D Viewer Header: Added a descriptive "3D Structure (Mature Linear Numbering)" title header above the Molstar viewport in the Surface Properties tool to match layout consistency with Covariance and other structural tools.
  • Residue Clustering & Neighborhood Highlighting: Added interactive 3D residue clustering display in the Surface Properties workspace. Selecting a residue now highlights all of its physical spatial neighbors (within 7.5 Å) in the Molstar 3D viewer as sidechain ball-and-stick representations, with optional static 3D labels.
  • Surface Properties Excel Export: Added a toolbar button to export the detailed surface properties (SPH, SPP, SPN, and SPCD scores) for both variable chains to a styled Excel spreadsheet, including full color mappings for regions, amino acid classes, and score ranges matching the UI design. Added "Mature Linear" and "3D Neighbors" columns directly inside the main summary detailed table, kept the export simplified to a single worksheet, and removed background color fills from all zero (0.0) cells across all metrics to prevent spreadsheet color clutter. Resolved a 413 Request Entity Too Large payload size crash by stripping the heavy coordinates string (pdb_data) from the client-side POST form before submission.
  • Surface Properties Indicator Support: Enabled dynamic display of observations and mutation designs on residue cells inside the VL/VH grids (excluding the sequence list track), including full automatic refresh capabilities upon saving mutations/observations via the Engineering modal.
  • Surface Properties Legend Ranges: Embedded numerical score bounds directly inside the color scale labels in the Legend section (0.0 to 4.0+ for SPH, 0.0 to 2.0+ for SPP/SPN, and -2.0 to +2.0 for SPCD). Fixed a CSS gradient tiling glitch that caused a thin vertical color line to appear on the left edge of scale bars by setting background repetition to inactive.
  • Surface Properties Numbering Alignment: Resolved a scheme mismatch in the Surface Properties analysis tool by configuring the backend calculations to retrieve and respect the project-specific numbering and region schemes from the project's analysis results (falling back to system config defaults). Recalculates single chain (VL/VH only) surface properties in isolation by detaching the unselected chain before executing the solvent accessibility (SASA) algorithm, enabling the newly exposed interface residues on the isolated chain to be calculated and displayed. This ensures residue annotations, labels, and regions align perfectly with the main results dashboard.
  • Surface Properties Workspace Enhancements: Restructured grid pane headers to position the deselect button containing the ban icon (fa-ban) directly to the left of the chain title to match other analysis tools. Filtered the sequence panel and the residue grids to only show residues in the variable domain (Fv), excluding constant and leader regions. Configured the sequence alignment panel to compress without wrapping by laying out in a horizontal scrollable row. Added vertical system numbering (rotated 90 degrees) above the sequence track columns, and updated mouseover tooltips to display the selected numbering system name alongside the residue position matching Humanness. Preserved both the VL and VH grids side-by-side at all times (preventing layout collapse when switching chain modes). Added a "Show Both Chains" checkbox (enabled by default) under the Chains Display settings panel, which controls whether the non-selected chain's ribbon cartoon remains visible in the 3D Molstar viewer. Fixed a bug where the non-selected chain's ribbon cartoon disappeared in the viewport when a single chain was selected by mapping sequential linear indices to actual PDB coordinates (pdb_num) for Mol* selections. Optimized structure reloading to skip re-initializing the 3D viewer when coordinates are unchanged, enabling instant, flicker-free chain display toggling while preserving camera coordinates.
  • Surface Properties Analysis Tool: Added a comprehensive Surface Properties analysis tool under the Analysis menu, offering per-residue calculation and 3D visualization of surface hydrophobicity (SPH), positive charge patches (SPP), negative charge patches (SPN), and charge dipole distributions (SPCD). Added static 3D text labels to active and selected residues inside the viewport matching the format in the Liabilities workspace, and created detailed user help documentation (docs/SurfaceProperties.md).
  • Surface Properties 3D Viewer & Selection Enhancements: Refactored Molstar 3D rendering to color structure backbones by region and sidechain/atoms by property value (preserving property colors in spacefill view, and coloring SPCD dipole charges blue or red based on \(+1\)/\(-1\) charge values) or blue selection highlight. Grouped backbone cartoon selections into contiguous region ranges for reliable and correct rendering in the Mol* viewer. Restructured the viewer coloring loop to strictly limit the display of active residue sidechains (ball-and-stick or spacefill atoms) to the selected chain(s) based on the chain selection mode, while displaying the cartoon representation colored by region for the entire Fv ribbon cartoon regardless of chain selection. Aligned table row selection borders with standard results/Covariance grids exactly (using continuous blue bottom borders and side inset shadows), added a "Select Severe" button with subtext cutoff details, added a "Deselect" clear button for each VL and VH grid, embedded the ABHAND amino acid color legend, and resolved Molstar z-index overlap when expanded. Fixed PDB structure reloading in the PDBe Molstar wrapper when switching chain modes (e.g., to VL only) by clearing the canvas container and re-initializing the viewer plugin. Adjusted nonSelectedColor to light grey ({ r: 220, g: 220, b: 220 }) to ensure constant regions and other non-active structures remain fully visible instead of blending into the white background.
  • Unlimited Covariance Database Sampling Option: Configured generate_covariance_db.py to allow unlimited sampling per V-gene and disable early stopping when --sample-limit is set to 0 or -1, enabling users to process entire input datasets without constraint.
  • Residue & ABHAND Dual Output & Compression: Updated generate_covariance_db.py to run both standard per-residue (20 amino acids) and ABHAND (6 physicochemical classes, with Glycine mapped to deletion) covariance calculations in a single pass, outputting compressed JSON files (removing whitespaces and newlines) named <output>.json and <output>_abhand.json respectively.

2026-06-08

  • Integrated Residue-Level Covariance Violations (CVV): Embedded residue-level covariance highlights directly in the Liabilities dashboard and export tools, introducing unified filtering and coloring matching the Covariance Analysis workspace.
  • Enhanced Covariance Workspace Layout: Added a collapsible settings sidebar for maximizing screen real estate, aligned grid row styling with the PFA track layout, and introduced automated mutation details loading and real-time indicator refreshes when editing sequences.
  • LaTeX Math Rendering in Help Docs: Enabled native browser-side LaTeX rendering via MathJax across all system help documentation, providing high-fidelity mathematical equations and threshold formulas.
  • Refined Table Alignment and Grid Scaling: Optimized cell spacing, consensus highlights, and text sizing between the PFA and Covariance alignment grids to ensure a unified visual design.

2026-06-07

  • AJAX Inline User Expirations: Added support for inline expiration dates editing with real-time automatic user deactivations inside the administration dashboard.
  • Empirical Validation Documentation: Added comprehensive developability drop-off threshold reports and correlation scatter plots based on clinical Jain dataset statistics.
  • Closest Human Germline in Covariance: Integrated closest human germlines mapping to correctly evaluate covariance partner constraints for non-human sequence targets.

2026-06-06

  • Region and Vernier Columns in Covariance: Appended region labels and classic Vernier zone markers to active covariance violations summaries.
  • Grid and Violations Row Sync: Implemented interactive selection highlighting and scrolling synchronization between alignment grid columns and summary violation rows.
  • Closest Germline Row in PFA and Covariance: Embedded closest human germline sequence tracks with fading match styling directly beneath query residues.

2026-06-05

  • OMES Sum Severity Grading: Aligned covariance severity metrics to be evaluated by cumulative partner OMES scores instead of raw counts.
  • Multi-Severity Toggling controls: Added additive select/deselect settings buttons for Low, Medium, and Severe covariance violations.
  • Optimized Covariance Databases: Re-ran the database pipelines using a streaming gzipped sequence reader and early-termination controls to create uniform reference models.

2026-06-04

  • Sandbox Mutation Panel Updates: Implemented sandbox edit sequences with dynamic "Repaired" vs. "New" violation statuses, custom alert modals, and precise OMES threshold overrides.
  • AbLang/IgBert Grid Integrations: Corrected API data matching paths to restore language model grids in the Covariance workspace.

2026-06-03

  • Three-Way Grid Column Sorting: Added Ascending / Descending / Default sort cycles across results dashboards, user management tables, and engineering grids.
  • Refined Residue Indicators: Standardized high-contrast eggshell (mutations) and orange (observations) markers with black outlines across workspaces.
  • PDB Files sorting and filtering: Implemented popover search filters and sequence sorting inside the PDB database manager.

2026-06-02

  • Fv Only Mutation Grid Toggle: Added a filter toggle to evaluate only variable domain sequences, excluding leader and constant regions.
  • Molstar 3D Viewer in pI Combinations: Integrated PDBe Molstar structure alignments to visually map target surface mutants and combination designs.
  • Auto-Saving Fv Limits: Swapped manual admin buttons with immediate inline AJAX auto-saving for user build allowances.

2026-06-01

  • Optimized Humanization & Repair Queueing: Upgraded backend queues to target only newly created construct records during bulk humanization or repairs, saving computing resources.
  • Honegger & VHH Humanization Legend Options: Visual overlays and selection tags representing Honegger and VHH residues within humanization alignments.

2026-05-31

  • Refined Exclusions interface: Redesigned humanization exclusions panel with mutually exclusive radio selectors and inline custom CDR definition rules.

2026-05-30

  • Account Expiration Boundaries: Implemented administrator-controlled user account expiration dates, including warning notices, login popups, and automatic access lockouts.

2026-05-29

  • Molstar 3D Structure Viewer in Engineering: Pinned interactive PDBe Molstar structure viewers dynamically color-coded by region into the Engineering and pI workspaces.
  • High-Severity Liabilities Shortcuts: Added a "Select Severe" settings button to instantly highlight candidates with high-risk liabilities.

2026-05-28

  • Alpaca Germline Matching: Added VICUGNA PACOS germline V and JH matching database supports.
  • Engineering Grids Column Sorting: Upgraded Variant Designs tables with interactive column sorting and bold header formatting.

2026-05-27

  • Multi-Row Liabilities Selection: Interactive row highlighting carrying synchronized PDBe Molstar spacefill overlays.
  • Dynamic Constant Domain Repair: Dynamic VL/CL split-codon junction warnings and automated insertion/deletion repair controls.

2026-05-26

  • PFA Germline Fallback: Smart fallback mapping to closest reference human germlines when primary determined candidates lack database frequency scores.
  • Surgical Workspace Grid Refreshes: Replaced full-page reloads with targeted iframe updates when saving structural models and mutation designs.

2026-05-25

  • Bulk Notes Edit: Inline menu options to batch append or overwrite notes for selected sequences.
  • Recalibrated IgBert Scoring: Concatenated heavy/light sequences to utilize IgBert paired-attention inference with updated warning thresholds.

2026-05-24

  • VHH 3D Modeling Support: Integrated NanoBodyBuilder2 to automatically build heavy-chain-only nanobody models.
  • Surface Mutagenesis Workspace: Restored the surface residue editor displaying sidechain SASA levels alongside custom representation styling.

2026-05-23

  • Model-Specific Cutoffs in Liabilities: Replaced unified cutoffs with independent sliders for AbLang, AbLang2, and IgBert thresholds.
  • Impersonate User Option: Added administrative impersonation toggles within the User Management dashboard.

2026-05-22

  • IgBert Paired Scoring: Added paired-chain stability profiling across workspaces, Clinical Comparison modules, and exports.
  • CSP Build Button Compliance: Refactored inline JS button handlers to programmatic event listeners to satisfy Content Security Policies.

2026-05-21

  • Analytics & Consent Management: Integrated Cookie Consent Banners and Google Analytics 4 tracking.
  • Account Deletion Safeguards: Database cascade deletion protections to prevent administrator lockouts.

2026-05-20

  • Passkeys (WebAuthn): Biometric and hardware security key sign-ins from user profiles.
  • Bulk User Import: CSV administrative uploads with temporary hyphenated word passphrase assignments.

2026-05-19

  • Multispecific FASTA Imports: Automatic grouping of multispecific antibodies.
  • Fv Pair Extraction Utility: Segment variable domains from multispecific IgG candidates for developability scoring.

2026-05-18

  • Multispecific Assembler Workspace: Drag-and-drop peptide linkers, Knobs-into-Holes (KiH) domains, and CrossMab crossover parts.

2026-05-13

  • Germline Performance Caching: Cached database lookup indexes to reduce page loading delays.

2026-05-12

  • Molstar in PDB Manager: Added structural overlays directly inside the PDB Files manager dashboard.
  • Multi-Species Germline Targets: Integrated Human, Mouse, Rat, Rabbit, and Rhesus databases.

2026-05-11

  • Allotype Detection: Automatic constant domain allotype annotation.
  • Germline Engineering Mutator: Selection modal and indicator dots integration within the Germline view.

2026-05-10

  • Automated Fv 3D Modeling: Batch structural modeling utilizing ABodyBuilder2.
  • Germline Analysis view: Split V and J germline identity and mapping views.