diff --git a/source/_static/opmodels/dataset-assay/advanced-filters-panel.png b/source/_static/opmodels/dataset-assay/advanced-filters-panel.png new file mode 100644 index 00000000..4280c080 Binary files /dev/null and b/source/_static/opmodels/dataset-assay/advanced-filters-panel.png differ diff --git a/source/_static/opmodels/dataset-assay/aligned-vh-vl-cdrs.png b/source/_static/opmodels/dataset-assay/aligned-vh-vl-cdrs.png new file mode 100644 index 00000000..3027f96a Binary files /dev/null and b/source/_static/opmodels/dataset-assay/aligned-vh-vl-cdrs.png differ diff --git a/source/_static/opmodels/dataset-assay/antibody-settings-panel.png b/source/_static/opmodels/dataset-assay/antibody-settings-panel.png new file mode 100644 index 00000000..86a5a62e Binary files /dev/null and b/source/_static/opmodels/dataset-assay/antibody-settings-panel.png differ diff --git a/source/_static/opmodels/dataset-assay/cluster-bubble.png b/source/_static/opmodels/dataset-assay/cluster-bubble.png new file mode 100644 index 00000000..0aa8a555 Binary files /dev/null and b/source/_static/opmodels/dataset-assay/cluster-bubble.png differ diff --git a/source/_static/opmodels/dataset-assay/cluster-dropdown.png b/source/_static/opmodels/dataset-assay/cluster-dropdown.png new file mode 100644 index 00000000..787931b2 Binary files /dev/null and b/source/_static/opmodels/dataset-assay/cluster-dropdown.png differ diff --git a/source/_static/opmodels/dataset-assay/cluster-modal.png b/source/_static/opmodels/dataset-assay/cluster-modal.png new file mode 100644 index 00000000..42e533de Binary files /dev/null and b/source/_static/opmodels/dataset-assay/cluster-modal.png differ diff --git a/source/_static/opmodels/dataset-assay/customize-columns-menu.png b/source/_static/opmodels/dataset-assay/customize-columns-menu.png new file mode 100644 index 00000000..e5541124 Binary files /dev/null and b/source/_static/opmodels/dataset-assay/customize-columns-menu.png differ diff --git a/source/_static/opmodels/dataset-assay/dataset-assay-overview.png b/source/_static/opmodels/dataset-assay/dataset-assay-overview.png new file mode 100644 index 00000000..aae85d03 Binary files /dev/null and b/source/_static/opmodels/dataset-assay/dataset-assay-overview.png differ diff --git a/source/_static/opmodels/dataset-assay/predict-dropdown.png b/source/_static/opmodels/dataset-assay/predict-dropdown.png new file mode 100644 index 00000000..eb94855f Binary files /dev/null and b/source/_static/opmodels/dataset-assay/predict-dropdown.png differ diff --git a/source/_static/opmodels/dataset-assay/predict-modal-1.png b/source/_static/opmodels/dataset-assay/predict-modal-1.png new file mode 100644 index 00000000..07458be2 Binary files /dev/null and b/source/_static/opmodels/dataset-assay/predict-modal-1.png differ diff --git a/source/_static/opmodels/dataset-assay/predict-modal-2.png b/source/_static/opmodels/dataset-assay/predict-modal-2.png new file mode 100644 index 00000000..68eb9739 Binary files /dev/null and b/source/_static/opmodels/dataset-assay/predict-modal-2.png differ diff --git a/source/_static/opmodels/dataset-assay/predict-modal-3.png b/source/_static/opmodels/dataset-assay/predict-modal-3.png new file mode 100644 index 00000000..a25edd77 Binary files /dev/null and b/source/_static/opmodels/dataset-assay/predict-modal-3.png differ diff --git a/source/_static/walkthroughs/antibody-hit-selection-ngs/dataset-assay-overview.png b/source/_static/walkthroughs/antibody-hit-selection-ngs/dataset-assay-overview.png new file mode 100644 index 00000000..0ff9a6cc Binary files /dev/null and b/source/_static/walkthroughs/antibody-hit-selection-ngs/dataset-assay-overview.png differ diff --git a/source/_static/walkthroughs/antibody-hit-selection-ngs/joint-plot-two-scores.png b/source/_static/walkthroughs/antibody-hit-selection-ngs/joint-plot-two-scores.png new file mode 100644 index 00000000..5d2fd5b9 Binary files /dev/null and b/source/_static/walkthroughs/antibody-hit-selection-ngs/joint-plot-two-scores.png differ diff --git a/source/_static/walkthroughs/antibody-hit-selection-ngs/umap-clusters-vs-prediction.png b/source/_static/walkthroughs/antibody-hit-selection-ngs/umap-clusters-vs-prediction.png new file mode 100644 index 00000000..a193b63e Binary files /dev/null and b/source/_static/walkthroughs/antibody-hit-selection-ngs/umap-clusters-vs-prediction.png differ diff --git a/source/walkthroughs/antibody-hit-selection-ngs.rst b/source/walkthroughs/antibody-hit-selection-ngs.rst new file mode 100644 index 00000000..52b410fe --- /dev/null +++ b/source/walkthroughs/antibody-hit-selection-ngs.rst @@ -0,0 +1,178 @@ +============================================ +Antibody hit selection from NGS data +============================================ + + +This recommended end-to-end workflow guides you through selecting antibody hits +from NGS-derived libraries using the **Dataset Assay Details** page. Each step assumes +the previous step's output is in place. + +This walkthrough is task-oriented. For a detailed feature reference of the controls used below like Predict, Clustering, Advanced Filters, and the Antibody +settings panel, see comprehensive guide at:doc:`/web-app/opmodels/dataset-assay`. + +.. figure:: /_static/walkthroughs/antibody-hit-selection-ngs/dataset-assay-overview.png + :alt: Dataset Assay Details page overview, showing tabs, header chips, and action bar + + +Prepare the dataset +===================== + +Upload your NGS-derived antibody library as an assay dataset. The platform +auto-annotates antibody datasets, including germline assignment, CDR3 extraction, and mutation counts. +Wait for the dataset status to reach *SUCCESS* before continuing to the next step. + +.. note:: + + Once the dataset reaches *SUCCESS*, a default UMAP job is queued + automatically and you should see it appear in the Jobs panel on the left. The **UMAP** tab will beempty until that job finishes. + + +Configure the antibody view +=========================== + +On the **Dataset** tab, open the **Antibody** panel, then configure the following settings: + +1. **Set numbering scheme to IMGT**: Pick **IMGT** as the numbering scheme (matches most NGS annotation tools). +2. **Select CDR regions**: Tick **Show CDR1 / CDR2 / CDR3** so regions are visually obvious in the + table. +3. **Align sequences for comparisons**: Tick **Aligned** (and **Trim non-standard positions**) so VH and VL line up + across rows. This required for visual comparison and for the *Liabilities* + column. +4. **Add key annotation colums**: Click **Customize columns** and enable: *Heavy V-Gene*, *Light V-Gene*, + *Germline pair*, *Total Mutations*, *CDR3 length*, *Germline distance (%)*, + *Liabilities*. + +You now have a fully annotated table view of the library. + + +Reduce redundancy with Clustering +================================= + +NGS libraries are dominated by closely related clones. Cluster first so +downstream steps operate on diverse families. + +1. **Initiate Clustering**: **Cluster → New clustering.** +2. **Choose PoET-2**: Pick **PoET-2** (chain-aware; works for heavy:light pairs). +3. **Use default parameters**: Leave **Reduction = Mean**, **Linkage = Ward**, **Metric = Euclidean** + unless you have a reason to change. +4. **Submit and Optimize cluster counts**: When the chip turns active, open the chip and tune **Number of + clusters** while watching the UMAP. Choose a number that visually + separates populations. + +You now have a ``Cluster Number`` column. + + +Pre-filter using NGS / antibody metadata +======================================== + +Open **Advanced Filters** from the Dataset tab and apply the following filters in sequence to refine your candidate pool: + +1. **Quality/abundance gate**: Filter on read count or replicate measurement + (e.g. ``count ≥ N``) to drop singletons. +2. **Drop liability-heavy clones**: *(optional).* If the *Liabilities* column + flags many rows, sort by this column and exclude the worst candidates. +3. **Germline focus**: *(optional but common).* Filter by **Heavy V-Gene** / + **Light V-Gene** or **Germline Pair** to focus on a developability-friendly + germline family. +4. **Mutation window**: Apply **Total Mutations** filter (e.g. ``≥ 3`` to skip + naive sequences, or ``≤ 15`` to skip over-mutated clones) or alternatively, use + **Germline distance (%)** if your sequences differ in length. +5. **Enforce CDR3 length constraints**: Filter on **CDR3 Length** to enforce a length range + that suits your therapeutic format. +6. **Diversity by cluster**: Add ``Group by = Cluster Number`` and + ``Top K per group = 1–5``, sorted by your strongest assay readout. This guarantees that each family has a + representative candidate, ensuring your final selection spans the full diversity of the library. + +Toggle **Show select column** if you want to see what got rejected instead of +hiding it. + + +Score with Predict +====================== + +With the candidate set narrowed, run a model to rank within it. + +1. **Predict → New prediction.** +2. **Use your custom model**: If you have a trained user model for the property you care about (binding, + expression, developability), pick it under *User models*. +3. Otherwise, on antibody datasets, the **Recommended for you** tab proposes + preset PoET-2 configurations using the dataset itself as the prompt + context — a good default when you have no labels yet. +4. Submit. A **Predict** chip appears, and a score column is added. + +**Scale with parallel predictions**: You can run multiple predictions in parallel — for example, one for binding +and one for developability. Each gets its own chip and its own column. + + +Combine signals +================ + +Add a new filter card at the top of your existing filter stack to prioritize high-scoring candidates: + +- **Column =** ```` **· Operator =** ``≥`` **· Value =** + ```` + +Or sort: **Sort by** ```` **Desc**, **Top K = 96**. + +**Multi-criteria selection**: If you ran two predictions, stack two filter cards (one per score) to require +both signals — e.g., high binding score AND high developability score. + + +Inspect visually +================= +Use the built-in visualization tools to validate your filtered candidate set and explore relationships between key metrics: + +- **UMAP visualization** — Review the scatter plot with points colored by cluster assignment and + toggle the prediction score as an alternative color axis. Confirm the surviving candidates are spread across the + embedding space rather than clustered in a single region, ensuring you've maintained diversity. +- **Joint plot** — Examine pairwise relationships, e.g., prediction score vs. CDR3 + length, or score-A vs. score-B. +- **Interactive filtering** - All visualizations respect the active filters: filtered-out sequences appear dimmed + while selected candidates remain highlighted. Selecting points in the UMAP also selects the corresponding + rows in the table, and vice versa. + +.. figure:: /_static/walkthroughs/antibody-hit-selection-ngs/umap-clusters-vs-prediction.png + :alt: UMAP coloured by Cluster Number, and the same UMAP coloured by a prediction score + +.. figure:: /_static/walkthroughs/antibody-hit-selection-ngs/joint-plot-two-scores.png + :alt: Joint plot with two prediction scores as axes + + +Export the hit list +==================== + +Return to the Dataset tab, where your shortlisted and validated candidates are present. +Next steps options: + +- **Iterate with machine learning**: Train a new model on the selected rows (footer **Train model** action) for + an iterative round. +- **Proceed to wet-lab validation**: Export the candidate table for ordering or expermimental wet-lab follow-up. + + +Quick decision guide +==================== + +.. list-table:: + :header-rows: 1 + :widths: 50 50 + + * - Goal + - Use + * - See CDRs / aligned heavy + light side-by-side + - **Antibody panel** → CDR checkboxes + Aligned + IMGT + * - Add germline / mutation columns to the table + - **Antibody panel** → Customize columns + * - Remove near-duplicate clones from NGS + - **Cluster** + filter ``Top K per Cluster Number`` + * - Restrict to a germline family + - **Advanced Filter** on ``Heavy V-Gene`` / ``Germline Pair`` + * - Filter out clones with developability liabilities + - **Antibody panel** → enable *Liabilities* column, then sort/exclude + * - Rank by predicted property + - **Predict** + sort by score column + * - Combine binding + developability + - Two **Predict** runs + two filter cards + * - See structure of the library + - **UMAP** tab, coloured by ``Cluster Number`` or a prediction score + * - See pairwise tradeoffs + - **Joint plot** with two prediction scores as axes diff --git a/source/walkthroughs/index.rst b/source/walkthroughs/index.rst index fceb11ef..913d3570 100644 --- a/source/walkthroughs/index.rst +++ b/source/walkthroughs/index.rst @@ -14,7 +14,9 @@ Web App * - Walkthroughs - Tools covered * - `Lead optimization of monoclonal antibody to meet target product profile <./antibody-engineering.rst>`_ - - Optimization and Prediction Models + - Optimization and Prediction Models + * - `Antibody hit selection from NGS data <./antibody-hit-selection-ngs.rst>`_ + - Optimization and Prediction Models * - `Finding mutational hotspots and designing one-shot variant libraries <./enzyme-engineering.rst>`_ - PoET, Structure Prediction * - `Designing libraries of multimeric proteins <./multichain.rst>`_ @@ -75,6 +77,7 @@ Python API :maxdepth: 2 Lead optimization of monoclonal antibody to meet target product profile + Antibody hit selection from NGS data Finding mutational hotspots and designing one-shot variant libraries Predicting the fitness of isomerases without experimental data <./predicting-fitness.ipynb> Understanding the impact of substitution and deletions on aliphatic amidase using different large language models <./AMIE_substitution_deletion_analysis_poet.ipynb> diff --git a/source/web-app/opmodels/dataset-assay-tools.rst b/source/web-app/opmodels/dataset-assay-tools.rst new file mode 100644 index 00000000..3743dca5 --- /dev/null +++ b/source/web-app/opmodels/dataset-assay-tools.rst @@ -0,0 +1,310 @@ +============================================ +Dataset Assay Tools +============================================ + +The **Dataset Assay** page is where you explore, filter, and score the +sequences in an uploaded assay dataset. It brings together four tools: +**Predict**, **Clustering**, and **Advanced Filters**, plus an +**Antibody settings panel** that appears automatically on antibody datasets. +This page describes what each tool does and how to use it. + +For an end-to-end walkthrough that combines these tools to select hits from an NGS antibody library, see +:doc:`/walkthroughs/antibody-hit-selection-ngs`. + +.. figure:: /_static/opmodels/dataset-assay/dataset-assay-overview.png + :alt: Dataset Assay Details page overview, showing tabs, header chips, and action bar + + +1. Predict +---------- + +**Purpose:** Use a trained or pre-trained foundation model across all sequences +in your dataset to generate predicted score columns that enable ranking, filtering, and visualization of your candidates. + +How to open +~~~~~~~~~~~ + +- Click **Predict** in the header → **New prediction**. +- The dialog lets you name the run (defaults to ``Predict 1``, ``Predict 2``, …). + +.. figure:: /_static/opmodels/dataset-assay/predict-dropdown.png + :alt: Predict dialog with model categories and prompt selector + +What you choose +~~~~~~~~~~~~~~~ + +- **Model category**: + + - *Recommended for you* — appears only on antibody datasets; preset + configurations tailored to the dataset's annotations. + - *User models* — your own trained models, filterable by training dataset, + embedding model, reduction type, and target property. + - *Foundation models* — PoET-2, ESM2, ESM1b, ProtT5, etc. + +- **Prompt** (PoET / PoET-2 only) — a set of context sequences that condition + the score. You can create a new prompt or pick an existing one. +- Models can be selected one or many at a time. + +.. figure:: /_static/opmodels/dataset-assay/predict-modal-1.png + :alt: Predict dialog with model categories and prompt selector + +.. figure:: /_static/opmodels/dataset-assay/predict-modal-2.png + :alt: Predict dialog with model categories and prompt selector + +.. figure:: /_static/opmodels/dataset-assay/predict-modal-3.png + :alt: Predict dialog with model categories and prompt selector + + +What happens after submit +~~~~~~~~~~~~~~~~~~~~~~~~~ + +- A job is queued (visible in the **Jobs** panel; badge counter on the *Jobs* + button). +- When complete, a **Predict** bubble chip appears in the header showing the + model name (and prompt name if applicable). Click the **×** to remove. +- A new column is added to the Dataset table. +- The prediction's mean-score becomes available as an axis option on the + **UMAP** and **Joint plot** tabs. + +.. figure:: /_static/opmodels/dataset-assay/predict-dropdown.png + :alt: Predict dialog with model categories and prompt selector + + +2. Clustering +------------- + +**Purpose:** Group sequences into distinct families using advanced sequence embeddings, enabling you to select diverse +representatives from each cluster family rather than redundant near-duplicates. + +.. figure:: /_static/opmodels/dataset-assay/cluster-dropdown.png + :alt: Predict dialog with model categories and prompt selector + +How to open +~~~~~~~~~~~ + +- Click **Cluster** in the header → **New clustering**. + +What you choose +~~~~~~~~~~~~~~~ + +- **Embedding model** — PoET-2 (recommended), ESM2, ESM1b, ProtT5, RotaProt, + etc. Chain-aware models are required if your sequences contain a ``:`` chain + separator (e.g. heavy:light). +- **Reduction type** — *None*, *Mean*, or *Sum*. Variable-length unaligned + sequences force *Mean*. +- **Prompt** (PoET only) — same prompt mechanism as Predict. +- **Linkage method** — *Ward* (default), *Single*, *Complete*. +- **Distance metric** — *Euclidean* (default) or *Cosine*. Ward requires + Euclidean. + +What happens after submit +~~~~~~~~~~~~~~~~~~~~~~~~~ + +- A **Cluster** bubble chip appears in the header. The chip is interactive — + click it to adjust the cut on the dendrogram in two ways: + + - **Number of clusters** — set how many clusters to produce. + - **Cluster distance** — set a distance threshold instead. + +- A ``Cluster Number`` column is added to the Dataset table. +- Cluster assignments colour the **UMAP** points so you can see family + structure visually. + +.. figure:: /_static/opmodels/dataset-assay/cluster-modal.png + :alt: New clustering dialog with embedding model, reduction, linkage, and metric options + +.. figure:: /_static/opmodels/dataset-assay/cluster-bubble.png + :alt: Cluster bubble chip expanded, showing the dendrogram cut control + + +3. Advanced Filters +------------------- + +**Purpose:** Refine your dataset using flexible multi-criteria filtering, combine any column values, group by specific properties, sort by priority metrics, and retain only top-K candidates. Choose between hiding non-matching rows for a clean view or marking them in a Select column to preserve full context while highlighting your refined selection. + +How to open +~~~~~~~~~~~ + +- From the **Dataset** tab toolbar. The panel docks on the right. + +.. figure:: /_static/opmodels/dataset-assay/advanced-filters-panel.png + :alt: Advanced Filters panel with stacked filter cards + +Panel-level option +~~~~~~~~~~~~~~~~~~ + +- **Show select column** — instead of hiding non-matching rows, add a Y/N + column to the table. Useful when you want to *see* what got rejected before + exporting. + +What each filter card can do +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Sections are independent and stackable: + +- **Group by** a column (integer or text columns only). +- **Sort by** a column, ascending or descending. +- **Top K rows** — keep only the best K (or top-K *per group* when Group by is + set). +- **Column filter** — pick a column, an operator, and a value: + + - Numeric columns: ``=``, ``!=``, ``>``, ``>=``, ``<``, ``<=``. + - Text columns: ``=``, ``!=``, ``contain``, ``start_with``, ``end_with``. + +Filter cards can be reordered (drag-and-drop), edited, or deleted. + +Antibody-aware columns +~~~~~~~~~~~~~~~~~~~~~~ + +When your dataset is detected as antibody data, specialized antibody annotation columns +automatically become available as filtering, grouping, and sorting options. For the complete list of available columns, see `d. Show antibody columns`_. + +Cross-feature interactions +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Once a clustering is active, ``Cluster Number`` shows up as a filterable + column — you can isolate one cluster at a time. +- Once a prediction is active, its score column shows up as a filterable + column — you can keep only rows above a score threshold. +- Filters propagate to plots: hidden rows are dimmed in the **UMAP** and + **Joint plot**, and selected rows are highlighted. + +4. Antibody Settings Panel +-------------------------- +**Purpose:** Customize the visual presentation of antibody sequences by configuring numbering schemes, +alignment settings, and CDR region highlighting, while selecting which annotation columns to display in your analysis table. + + +.. note:: + Antibody-specific visualisation lives + inside the **Dataset** tab as a settings panel that appears automatically + when the dataset is detected as antibody data. + + + + +How to open +~~~~~~~~~~~ + +- On the **Dataset** tab, click the **Antibody** action in the table header. + The "Antibody Settings" panel expands. + +The panel has five sections, side-by-side. + +.. figure:: /_static/opmodels/dataset-assay/antibody-settings-panel.png + :alt: Antibody Settings panel with all four sections + +a. Highlight CDRs +~~~~~~~~~~~~~~~~~ + +Three colour-coded checkboxes: + +- **Show CDR1** (red) +- **Show CDR2** (yellow) +- **Show CDR3** (green) + +Each highlights its region in the sequence column with a coloured background. +Works in both raw and aligned views. + +b. Numbering scheme +~~~~~~~~~~~~~~~~~~~ + +A dropdown with two options: **Kabat** (default) or **IMGT**. Selecting a scheme: + +- Recomputes the CDR boundaries used by the highlight checkboxes above. +- Updates the aligned-sequence column header to show the active scheme + (e.g. "Aligned VH (KABAT)" or "Aligned VH (IMGT)"). +- Schemes are cached, so switching back is instant after the first load. + +.. tip:: + + **Picking a numbering scheme.** Use **Kabat** if you need to compare against + legacy datasets or papers using Kabat. Use **IMGT** for modern + repertoire/NGS work, since IMGT is the standard for germline-database + comparisons and most NGS annotation pipelines (e.g. IgBLAST, MiXCR) report + IMGT-style positions natively. The CDR boundaries (and therefore the + highlighting and CDR3-length value) differ between schemes — set this + *before* you start filtering by *CDR3 Length* so the values are consistent + with what you expect. + +c. Sequence view +~~~~~~~~~~~~~~~~ + +- **Aligned** — replaces the raw sequence column with two aligned columns + (VH and VL), padded with gaps so every row is the same length. Required for + downstream visualisations that assume aligned coordinates (conservation, + liabilities, position-based selection). +- **Trim non-standard positions** — only available when *Aligned* is on. + Strips positions outside the standard variable domain (H0, H129+, L0, + L129+). Unchecked: those residues are shown in lowercase with reduced + opacity instead. + +.. figure:: /_static/opmodels/dataset-assay/aligned-vh-vl-cdrs.png + :alt: Dataset table showing aligned VH and VL columns with CDR1/2/3 highlighting + +d. Show antibody columns +~~~~~~~~~~~~~~~~~~~~~~~~ + +- **Customize columns** — Opens a checklist menu where you can toggle each antibody annotation + column on or off to tailor your table view. Column options remain disabled until the antibody annotation + pipeline completes processing, then become available for selection based on your analysis needs. + +- **Show allele** — toggles the allelic suffix (e.g. ``*01``) in V-gene and + germline-pair values. Disabled by default to maintain clean, readable display. Enable when you need allele-level + resolution for analysis. This setting affects the display format of *Heavy V-Gene*, *Light V-Gene*, and + *Germline pair* columns—the underlying data values remain unchanged. + +.. list-table:: + :header-rows: 1 + :widths: 22 38 40 + + * - Column + - What it shows + - Use it for + * - **Heavy V-Gene** + - IGHV gene call (e.g. ``IGHV3-23``) + - Restrict to a V-gene family + * - **Light V-Gene** + - IGKV / IGLV gene call + - Restrict to a light-chain family + * - **Germline pair** + - Heavy + light germline combined (e.g. ``IGHV4-39_IGKV1-39``) + - Group/sort by germline pairing + * - **Germline pair frequency** + - Number of rows in the dataset sharing this exact pair + - Find dominant pairings in the library + * - **Total Mutations** + - Heavy + light somatic mutations vs. germline + - Distinguish naive vs. affinity-matured clones + * - **CDR3 length** + - Heavy CDR3 length + - Filter by CDR3 length distribution + * - **Germline distance (%)** + - Mutations / sequence length × 100 + - Length-normalised mutation load + * - **Liabilities** + - N-glycosylation motifs and unpaired cysteines highlighted in the + aligned sequence + - Quick developability triage + +These columns automatically integrate with **Advanced Filters** +(Group by / Sort by / Column filter), so once you've enabled them in your table view, +you can immediately filter and sort by these properties without navigating away from the Dataset tab. + +.. figure:: /_static/opmodels/dataset-assay/customize-columns-menu.png + :alt: Customize columns checklist with antibody annotation columns + +**Heavy/light handling.** Once the dataset is detected as antibody and chains +are split, the original ``Sequence`` column is replaced by **Sequence VH** and +**Sequence VL** (or "Aligned VH/VL" in aligned mode). You always see both +chains. + +**NGS-derived libraries.** If the library mixes chain types (e.g., some +Heavy+Kappa rows and some Heavy+Lambda rows, with mismatched/missing chain +detection is flagged in the table with a warning style — useful as a +first-pass quality check on the NGS pipeline output. + +.. seealso:: + + :doc:`/walkthroughs/antibody-hit-selection-ngs` — recommended end-to-end + flow that uses these features to select antibody hits from an NGS library. diff --git a/source/web-app/opmodels/index.rst b/source/web-app/opmodels/index.rst index f6050a67..af1c5de1 100644 --- a/source/web-app/opmodels/index.rst +++ b/source/web-app/opmodels/index.rst @@ -18,6 +18,7 @@ Learn more and get started with our tutorials - `Creating a project <./creating-project.rst>`_ - `Uploading your data <./uploading-your-data.rst>`_ +- `Dataset assay tools <./dataset-assay-tools.rst>`_ - `OP Models scoring and log-likelihood <./scoring-log-likelihood.rst>`_ - `Using reference sequences <./reference-sequence.rst>`_ - `Navigating your projects <./navigating-your-projects.rst>`_ @@ -32,6 +33,7 @@ Learn more and get started with our tutorials Creating a project Uploading your data + Dataset assay tools OP Models scoring and log-likelihood reference-sequence navigating-your-projects