cradle

cradle.bio/blog/

fab-test

Case study

Does an antibody Fab need a specialist model?

Antibody Fabs can be significant drug candidates, and their small, multi-chain structure presents a challenge in protein engineering. We tried out two approaches, with some surprising results.

Jonathan

Lead optimization, the iterative refinement of candidate molecules to enhance their functional profiles, remains the longest and most expensive pre-clinical step in protein engineering. A promising lead rarely possesses all the properties required for practical application, and this is equally true whether you’re developing an antibody or peptide to become a drug, or an enzyme as a crop, food ingredient, or consumer product. In all cases, simultaneous improvement/optimization of multiple traits is necessary. 

But these often come with trade-offs: For therapeutic antibodies, this might mean that your efforts to increase affinity come at the cost of expression or thermostability. Before protein engineering with machine learning, finding a candidate that matched all necessary properties was long, tedious, and usually disappointing. Optimization or other preclinical work would typically consume 12-36 months and cost $5M-$15M per candidate, with only 1 in 14.6 candidates reaching successful product launch. 

The standard approach follows design-build-test-learn cycles: Design variants of the candidate molecule, build and test them in the lab, then take what worked to the next round, tweaking the winners to try and arrive at the next property in the profile. Protein language models have accelerated this process by learning from evolutionary patterns at a scale unfathomable by humans to guide variant design. But not all models are created equal, and the question of whether to use a specialized (e.g. antibody-specific) model or a general one isn’t always obvious. 

Experimenting with different setups and questioning assumptions is a big part of what we do at Cradle’s ML hub in Zurich, so we thought it would be instructive to put that question to the test. 

Fabs are highly relevant in drug discovery, having been developed into treatments for common conditions including age-related macular degeneration and rheumatoid arthritis, and as both coagulants and anticoagulants for use during surgery. Ranibizumab, certolizumab pegol, abciximab and idarucizumab are all Fabs. They are also hard to engineer: Two separate protein chains that have to work as one unit, which is a structure a general-purpose ML model wasn’t made for. If a specialist model is needed to optimize this class well, any team working on this class is constrained to whatever specialist models happen to exist. 

We ran a 65-million-parameter antibody-specific model and a 650-million-parameter general protein model through the identical Cradle fine-tuning pipeline, on the same molecule, with the same four properties improved at once, across nearly 400 lab-measured designs. The result? Neither architecture won. What determined performance was the fine-tuning, which is the part we control and the part that transfers to a customer’s molecule regardless of its format.

Title

TL;DR : Executive Summary

Cradle tested whether a machine learning model built specifically for antibodies designs better drug candidates than a general-purpose protein model when compared inside our multi-step finetuning pipeline. The starting molecule was C102, an antibody fragment (a “Fab”) made of two protein chains that binds the SARS-CoV-2 virus (specifically, part of the famous “spike” protein). The antibody-specific model was built to read both chains together, while the general model reads both chains as one combined protein. The models also differ in size. The general model has about 650 million parameters and the antibody-specific model about 65 million. (A model's parameters are the internal numbers it adjusts as it learns.) Both models were given the same extra training on this antibody and ran through two rounds of design and lab testing. The goal was to improve four properties at once: binding to the original virus, binding to a mutated version of it, thermostability, and the amount of protein produced. Neither model won outright. The general model designed the tightest binder, which bound the original virus 20.3 times more strongly than the starting antibody. The antibody-specific model designed the most heat-stable variant, which melts 12.5 °C higher. Of the 37 designs where no other design was better on all four properties, 20 came from the antibody-specific model and 17 from the general model, a gap small enough to be due to chance. We conclude that, on this task, the extra training mattered more than which model the team started with. 

This test ran on a single antibody, and the two models differ in size, design, and original training data, so the result cannot be credited to any single factor. Our takeaway: A model's ability heavily depends on fine-tuning and the context it is being used in. Just because a model is purpose-built for a job doesn't make it better for your job. Conversely, just because a model is larger, doesn't make it better in your application.

Antibody Fab fragments are two-chain proteins — a variable heavy (VH) and first constant (CH1) domain from the heavy chain, paired with a variable light (VL) and constant light (CL) domain from the light chain. For protein language models, this creates a design question: How should you handle such a two-chain input? The principled answer is a paired-chain model built for exactly this setting: Models trained on co-sequenced VH-VL pairs from immune repertoire databases learn the co-evolutionary statistics of the heavy/light interface and can represent both chains jointly. 

Foundational, general-purpose protein language models are typically single-chain by design, trained on hundreds of millions of monomer sequences spanning the entire sequenced protein space. One way to get around the limitation of a single-chain design is to concatenate VH and VL with a short synthetic linker. The result is a single-chain proxy that structurally mimics an scFv. This architectural workaround costs the model direct access to inter-chain pairing statistics, the main advantage of a paired-chain model. 

Training data is a separate variable. UniRef, the training set for ESM2(a general protein language model), contains a decent number of antibody sequences, but far fewer than OAS, a public database of antibody sequences. A general-purpose model and an antibody-specific one therefore start with different coverage of antibody sequence space, which affects which domains and protein families each handles well from the outset. Model size is a third variable: the general-purpose model is roughly 10× larger than the antibody-specific alternative.

Out of the box, a simple concatenation approach performs poorly. Such models use rotary position embeddings, learned predominantly on single-chain proteins. ScFvs do appear in their training corpus, but far less frequently than do paired VH-VL sequences in dedicated antibody databases such as OAS. When Matt Greenig (now at Chai Discovery) et al evaluated ESM3-open (EvolutionaryScale's openly available protein language model, released in 2024) on concatenated antibody sequences as a baseline for IgCraft, they found that CDR recovery drops to 54% (vs. 76% for AbLang2) and framework recovery collapses to 13% (vs. 83%). 

Meet CRADLE-1

An automated machine-learning framework for protein lead optimization — validated across antibodies, enzymes, peptides, vaccines, and gene-editing systems.

By fine-tuning, however, we can teach the model what this VH-linker-VL format means. For this test, we adapted the single-chain model through Evotuning, supervised fine-tuning, and g-DPO, a framework developed in-house. (It’s a rather hacky approach, admittedly, but useful for this purpose; Kairi Furui and Masahito Ohue of Institute of Science Tokyo make a converging choice with ALLM-Ab, repurposing ESM2 for antibody optimization via direct VH-VL concatenation [without a linker], with LoRA-based fine-tuning in an active learning loop at comparable experimental throughput.) 

Which wins on a Fab optimization task–a single-chain model with a broader training base, or a paired-chain model made antibody-specific through its narrower, but less generalized, set of training data? Is the key factor in finding the best candidate the model architecture, the training data, or something else? 

We ran both models on C102, an anti-SARS-CoV-2 Fab originally isolated from a convalescent individual. Two rounds of optimization, with each model starting from no prior sequence-function data, produced a best binder (designed by the single-chain model in Round 2 with the following characteristics: 

  • Kᴅ against wild-type RBD: 23.1 nM → 1.1 nM (20.3×) 

  • Kᴅ against an escape variant (A475V): 162.1 nM → 50.9 nM (3.2×) 

  • Melting temperature: 61.1 °C → 65.5 °C (+4.4 °C) 

  • Yield: 0.07 → 0.09 (1.4×)

The single-chain model achieved superior binding performance, while the paired-chain model demonstrated remarkable efficiency and better biophysical property prediction. Of course, in drug development, you need all these properties. We think this is mostly a story about fine-tuning: With an identical fine-tuning curriculum applied on top, the pre-training matters less than you might expect on this specific task, even where a paired-chain model designed for antibody VH-VL optimization should have the clearest advantage owing to the specificity of its knowledge. If you agree (and we at Cradle generally do) that more pretraining will give you diminishing returns, just as the scaling law foretells, the only play left is fine-tuning: focusing on specific problems and moving forward. But fine-tuning is a lot about becoming very good on specific assets, and less about getting an overly powerful model that moves the data flywheel forward.

A Fab is where a specialist model should win

Our commissioned SPR assay measures the starting C102 Fab at 23.1 nM against RBD wild-type (though we run most experiments in-house, this specific set of rounds was conducted with a contract research organization [CRO]). We’ve discussed our optimizing of single-chain formats (scFv, VHH) in previous Cradle case studies, but a Fab’s two-chain construct makes it a different beast altogether. Its paired-chain nature is the reason we picked C102 for this comparison. A Fab is exactly the kind of molecule where a paired-chain, antibody-specific model should do its best work and a single-chain general model should struggle. 

In our test, we co-optimized four properties. The primary objective was binding: We wanted to improve Kᴅ against wild-type RBD, the receptor-binding domain of the SARS-CoV-2 virus’s spike protein, which is how it gets into cells, and against A475V, a receptor-binding-domain escape variant that the template binds roughly 7× more weakly (162.1 nM). Co-optimizing against an escape variant turns Round 1 into a genuine cross-reactivity problem rather than a single-target affinity optimization, and it reflects a common real-world ask: not just a stronger binder, but one that exhibits binding across multiple variants. Melting temperature (61.1 °C for the template) and expression yield (0.07) were maintain-or-improve constraints.

Round 1: Zero-shot Fab design with two different priors

Round 1 uses no sequence-function (in this case, binding) data. We rely entirely on the evolutionary prior that each model absorbed during pre-training, plus some Evotuning on the C102 evolutionary neighborhood defined by querying OAS (both paired and unpaired databases). While we’ve described our reasoning for running a first round this way at length in a separate post on zero-shot antibody diversification, the short version is that it’s a way to generate salient training data with strong function preservation from a single lead. This is an important prerequisite for training supervised models which we can use in a subsequent optimization round, as demonstrated in our white paper from earlier this year. 

Both models got the same Evotuning treatment on the same homologs dataset, then each sampled 96 variants at a mutation load of 2-8 residues from the template. The inputs diverged where they had to: The paired-chain model (65M parameters) consumed the Fv as two paired chains (VH VL), which is what it was specifically designed for. The single-chain model (650M parameters) consumed it as ‘V H(GGGGS)3V L‘ , a single sequence with a synthetic linker. This is structurally the closest single chain representation (mirroring scFv’s), providing the model with a single-chain proxy for the Fv sequence. Beyond that, the two pipelines were run identically and in parallel. For both models, we kept the constant regions fixed and only focused on variable-region engineering. 

The zero-shot round preserved binding in both cases. Functional rate, defined as the fraction of submitted designs that returned a measurable Kᴅ against wild-type RBD, was 92% (95% CI: 84%–96%) for the paired-chain model and 84% (95% CI: 76%–90%) for the single-chain model. (All measurements in this post are corrected for plate-to-plate variation; the normalization is described in a separate appendix.) The difference is not statistically significant (Fisher’s exact p = 0.181), and both rates are in line with what we’ve seen on VHH and scFv zero-shot rounds, so the paired-chain format didn’t disadvantage either model here.

Round 2: Supervised fine-tuning on Round 1 functional data 

Round 2 is where the models actually learn something about C102 specifically. Each model was independently fine-tuned on its own Round 1 measurements using the standard CRADLE-1 pipeline: g-DPO on preference pairs derived from the Round 1 results, plus a regression-head predictor trained to estimate each of the four properties. Each fine-tuned model then proposed another 96 variants at the same 2-8-mutation load, using two selected templates from Round 1 data each. 

Round 2 functional rates were effectively 100% for both models; now that each has seen direct evidence of which mutations this particular template tolerates, such an improvement over zero-shot was expected.

Both models improve the Pareto frontier, neither dominates 

With four properties co-optimized and two rounds per model, there’s a lot of ways to slice the results. The cleanest summary is the Pareto frontier: the set of variants for which no other variant is better on every property at once. Thirty-seven of the designs end up on the global four-dimensional Pareto frontier (each “dimension” representing a property of the antibody) , drawn from both models and both rounds. 

Three 2D projections of the four-property Pareto frontier (the set of variants for which no other variant is better on every property at once), anchored on Kᴅ against wild-type RBD. Green open circles mark the global 4D Pareto set, blue filled circles are the per-panel 2D Pareto frontier. The purple star is the C102 template

The three projections above each use Kᴅ against wild-type RBD on the x-axis. The green open circles are the variants that were Pareto-optimal against all four properties (“4D”), the blue filled circles are 2D-optimal for the specific pair shown on the x and y axes in the respective graphs. They don’t fully overlap, which is the whole point of multi-property optimization: A variant that looks optimal on one pair of axes at times concedes ground on the other two. The Pareto-optimal variants on the respective 2D subspace are shown in blue. 

Here we look at cross-reactivity, meaning how the two models performed when asked to improve Kᴅ against the wild-type target and its A475V escape variant at once.

Kᴅ against wild-type RBD versus Kᴅ against A475V, stratified by model and round. Round 1 in light shades, Round 2 in dark. The template is in purple.

When stratifying binding both variants by model and round, we can see that both models produce similar distributions, with a slight round-over round shift toward the upper-right corner (stronger binding on both targets) between Round 1 and Round 2, especially when focusing on the top-k variants. Counterintuitively, the single-chain model achieved the strongest binding improvements despite the paired-chain model being specifically designed for antibody VH-VL pairs such as the binders being optimized. The template sits at 23.1 nM × 162.1 nM; the best variants end up roughly an order of magnitude better on wild-type, and several-fold better on A475V. As the starting sequence is already a fairly strong binder, these improvements are in line with other experiments we’ve seen on strong-binder optimization and do not show the drastic distribution shifts we observe when performing affinity maturation of weak binders. (An example on the same target, presented in our blog post on zero-shot antibody diversification, shows a 7x fold-improvement on binding coming from a strong binder in round 1, and a fold-improvement of up to 357x when starting from a weakly binding variant on the same epitope.) 

Per-property distributions broken out by model and round. Purple dashed lines mark the template value for each property. 

The full per-property view shows a more nuanced picture than uniform improvement. On the primary objective (Kᴅ WT), both models shift the distribution toward stronger binders across rounds, with solid top-k gains. Expression yield improves consistently in the top-k for both models. But the secondary properties show trade-offs: Tm drops for the single-chain model and Kᴅ A475V regresses for the paired chain model. This tension emphasizes the need for multi-property optimization. 

If this were an awards ceremony, we’d have four trophies to hand out:

  • Best Kᴅ WT: 1.1 nM (20.3×), from Single-chain model in Round 2.

  • Best Kᴅ A475V: 30.2 nM (5.4×), from Single-chain model in Round 2. 

  • Best Tm: 73.6 °C (+12.5 °C), from Paired-chain model in Round 2.

  • Best yield: 0.32 (5×), from Single-chain model in Round 2.

Both models contribute per-property winners: The single-chain model produces the best binders and expression, while the paired-chain model takes the Tm prize. 

Below, we see how global Pareto membership is split across all four (model, round) combinations:

Distribution of global Pareto frontier members by model and round. 

One variant from paired-chain model Round 1, nineteen from paired-chain model Round 2, seven from single-chain model Round 1, ten from single-chain model Round 2. Round 2 accounts for more than three-quarters of the frontier, a result in the neighborhood of what you’d expect from supervised fine-tuning. Aggregated by model, the paired-chain model accounts for 54% (20 variants) and the single-chain model for 46% (17 variants) — a split that is not statistically significant (Fisher’s exact p = 0.59). 

The two models see related but non-identical signal 

If both models are producing comparable designs, it’s worth asking whether they’re doing so by learning the same thing or different things. As a useful probe, we took the supervised predictor that each model produced during Round 2 fine-tuning, and measured how well it ranked the other model’s designs. If the two predictors agree on what’s good, cross-model prediction should be close to same-model prediction. If they’re learning different features, cross-model prediction will be weaker.

Cross-model Spearman rank correlation between predicted and measured property values. Each model arm produced both designs and, as part of the pipeline, a supervised predictor trained on its own Round 1 measurements. Rows are the predicting model—the model trained as part of the other arm’s pipeline. Columns are the designing model—the model actually used in the design of the evaluated data. Diagonal cells are within-model, off diagonal cells are cross-model. 

On the binding properties (Kᴅ WT and Kᴅ A475V), each model predicts its own designs reasonably well (ρ = 0.70 for the paired-chain model, 0.63 for the single-chain model on Kᴅ WT; 0.48 and 0.40 respectively on Kᴅ A475V). But all of the cross-model correlations collapse, except for the single-chain model’s predictions of the paired-chain model’s designs on the wildtype binding. This tells us that on the binding axis, the two models are learning a broadly different signal: The paired-chain model’s predictor understanding does not transfer to single-chain model designs, and vice versa. 

The pattern on the biophysical properties is different. On Tm and yield, the paired-chain model’s predictor is the stronger of the two regardless of which model designed the sequence it’s evaluating (paired-chain model predicting its own designs: ρ = 0.71 for Tm, 0.57 for Yield; paired-chain model predicting single-chain designs: 0.49 for Tm, 0.22 for Yield). The single-chain model’s predictor is weak on both, even on its own designs (ρ = 0.22 for Tm, 0.11 for Yield).

Conclusion: Fine-tuning closes the gap between a dedicated and a general PLM 

Three observations, all with the caveat that this is a single task on a single Fab, so we’re pointing out a finding rather than formulating a general hypothesis. 

First, on the design side: With matched fine-tuning, the single-chain, general-purpose protein monomer model and the paired-chain model designed specifically for antibody VH-VL optimization landed in roughly the same place on this problem. Both contributed to the global Pareto frontier. Per-property winners were split across both. The best binder came from the single-chain model despite the paired chain model being specifically designed for antibody VH-VL pairs. We read this as evidence that, on this specific task with this amount of data and a fine-tuning approach, the fine tuning curriculum (Evotuning, g-DPO, supervised predictor heads) does more of the work than the specifics of the pre-training. 

Second, and running in the other direction: The paired-chain model is roughly an order of magnitude smaller than the single-chain model (around 65M parameters versus 650M), yet it still matches quality with respect to designs, and outperforms with respect to predictive power on Tm and yield. To be clear, this comparison confounds three variables—model size, architecture, and pre-training data—so we cannot attribute the result to any one factor. We chose these two models because they represent a realistic practitioner decision: a domain-specific paired-chain model versus a general-purpose protein language model at the size that offers the best performance-per-parameter tradeoff in its family. So, based on this experiment, we wouldn’t conclude that models specifically designed for antibody VH-VL optimization are obsolete. What they give up in capacity, they gain in domain-specific structure; it’s the difference between the menu at a neighborhood bistro and the menu at The Cheesecake Factory. For teams running many optimization campaigns, the iteration speed and deployment cost of a smaller model can be real advantages for which it’s worth compromising on generalizability. 

Third, the cross-model prediction breakdown on binding and the predictor asymmetry on biophysics both suggest the two priors capture related but non-identical pieces of the functional landscape. In our pipeline, generation is therefore covered by ensembles. Several generative processes propose candidates, a single selection step scores them against all four objectives, and plate capacity goes to the most promising variants whichever model produced them. This way model choice can stay a hyperparameter which we explore per project.

Cradle

cradle.bio/blog/

fab-test