Steering secondary structure in ESMFold2 binder design
Published
October 29, 2026
Modified
October 29, 2026
Summary
We added a helix penalty that shifted ESMFold2 binder designs toward β-sheets across five targets. The shift began early in optimization and increased the number passing a sheet-content and confidence screen, despite lower average confidence.
We used ChatGPT (GPT-6 Astra) and Claude (Opus 5.5) to help write code, clean up code, comment our code, and review our code. We also used it to suggest wording ideas, write text, expand on summary text that we provided, copy-edit draft text to match Arcadia’s style, and clarify and streamline text. Additionally, we used ChatGPT and Claude to generate figure mockups, generate scientific ideas, interpret our data, and suggest experiments. ChatGPT and Claude also suggested papers on relevant science, we did further reading, and we cited some of this literature. We reviewed all AI-assisted content and take responsibility for its accuracy and integrity.
Purpose
We observed that ESMFold2 generated designs with higher α-helical content than natural proteins. We wanted to bring their secondary-structure compositions closer to those found in nature, without retraining the model.
We added a penalty for helix-like geometry that increased β-sheet and loop content across five targets, with lower confidence scores on average. We’re sharing the code, predicted structures, and optimization traces for researchers who want to control binder composition or investigate how structural preferences emerge during design. These experiments establish how steering changes computational predictions. Whether the resulting proteins fold and bind their intended targets remains to be tested.
Introduction
ESMFold2 is a structure prediction model that uses representations from the ESMC protein language model to predict proteins and their complexes. Alongside the model, Candido et al. (2026) present a binder-design algorithm that combines structural feedback from ESMFold2 with sequence feedback from ESMC. Starting from a soft sequence — a probability distribution over amino acids at each position — the algorithm repeatedly predicts the binder–target complex, evaluates a design objective, and updates the candidate sequence. As optimization proceeds, the algorithm progressively hardens the soft sequence into a discrete amino acid sequence. The weights of both ESMC and ESMFold2 remain frozen, allowing researchers to design proteins under different objectives without retraining or fine-tuning either model. This approach builds on earlier work in protein hallucination and gradient-based sequence optimization (Anishchenko et al., 2021; Frank et al., 2024; Norn et al., 2021), and BindCraft popularized it for binder design (Pacesa et al., 2025).
Although training data, model architectures, design objectives, and filtering choices differ among methods, several binder-design workflows favor α-helical designs. BindCraft reports this tendency in its confidence-driven designs (Pacesa et al., 2025), and RFdiffusion’s developers note that the default model often generates predominantly helical binders (RosettaCommons, 2025). We observed a similar enrichment in unsteered ESMFold2 designs, which led us to investigate how we could change this preference.
Reducing this preference could benefit binder design in several ways. First, sampling a wider range of folds could increase the chance of finding a successful binder while reducing the effort spent screening structurally redundant candidates. Second, natural binders provide examples of secondary-structure compositions that support binding. We reasoned that steering generation toward these compositions could offer a useful evolutionary starting point for design. Third, alternative structural compositions could help designs reach binding sites that favor different interface geometries. This last possibility has experimental support: Guiding RFdiffusion toward β-strand pairing at exposed β-sheet edges produced binders to targets including ALK-3 and KIT, where earlier design campaigns had failed (Sappington et al., 2026). Such results motivate exploring alternatives to predominantly helical designs.
BindCraft already uses a helicity loss to obtain sheet-rich designs, with a decrease in computational screening success (Pacesa et al., 2025). But to our knowledge, secondary-structure steering with a helicity penalty has not been demonstrated for ESMFold2. Understanding where the preference arises could also reveal other ways to intervene: a helical final design may reflect a preference already present in the initial prediction, its reinforcement during sequence optimization, or both.
Here, we investigated how to redirect ESMFold2’s helix preference and how doing so affected predicted confidence. We varied the strength of a helicity penalty across targets and tracked how the predictions changed as the soft sequence became more concentrated. The penalty increased sheet content and the number of candidates passing a combined sheet-content and confidence screen, despite lowering average confidence. Helicity diverged while the amino acid probabilities remained nearly uniform, suggesting that even subtle changes to the initial distribution might influence design outcomes.
NoteGPU computation
The analyses in this publication are reproducible from archived model outputs. By default, the accompanying notebook downloads these outputs and the natural-reference inputs from Zenodo, using them as a checkpoint to rerun all downstream analyses.
Generating candidates from scratch requires graphics processing units (GPUs). Follow the setup guide to run the design workflow. The design procedure isn’t seed-reproducible, so new runs will generate different candidates even with the same seeds and settings.
Unsteered designs are helix-rich relative to natural proteins
We generated 30 unsteered binders per target using the five constructs from the ESMFold2 paper (Candido et al., 2026) (Table 1). We sampled binder lengths from a 60–200-residue range.
Table 1: Human target constructs from Table S10 of Candido et al. (2026). Residue ranges use canonical UniProt numbering and include both endpoints. EGFR, epidermal growth factor receptor; PDGFRβ, platelet-derived growth factor receptor β; PD-L1, programmed death-ligand 1; CTLA-4, cytotoxic T-lymphocyte-associated protein 4; CD45, cluster of differentiation 45; IgV, immunoglobulin variable-like.
To compare their secondary-structure composition with binders found in nature, we queried the RCSB for experimentally resolved complexes containing exactly two distinct protein entities and selected chains within the same 60–200-residue range. We refer to each selected chain as the natural binder and the other as its target.
We then compared the helix, sheet, and loop fractions of the two groups within five binder-length bins (Figure 1).
We used arcadia-pycolor (v0.8.0) (Arcadia Science, 2024) for figure colors and plot styling throughout this publication.
NoteNatural protein baseline construction
We selected X-ray structures containing two distinct protein entities and a binder with a named source organism other than “synthetic construct,” retaining one representative per sequence-identity cluster. We excluded records annotated as designed proteins and chains outside the length range or with insufficient resolved backbone.
We measured natural and designed chains with PyDSSP (v0.9.1), using the same backbone-based helix, sheet, and loop assignments (Minami, n.d.). For designs, we measured the final binder structures predicted by ESMFold2-Experimental-Fast-Cutoff2025. We used a separate, non-Fast model for confidence reporting and screening, as described below. Only residues with N, Cα, C, and O coordinates contribute to the fractions.
We computed secondary structure using PyDSSP, which is much faster than mkdssp and gives comparable secondary-structure compositions. During this pub, we discovered a bug in PyDSSP’s handling of unresolved residues, relevant to the approximately 15% of experimental reference chains with internal gaps. However, in a trial of 50 chains with internal gaps and 50 without, the cohort with gaps showed no additional discrepancy beyond the baseline differences between PyDSSP and mkdssp.
Measure unsteered designs and compare with the natural reference
Figure 1: Helix, sheet, and loop fractions of unsteered designs and the experimental reference, grouped into five binder-length bins. Unfilled bars show the natural reference from RCSB. Filled bars show designs. Each chain contributes once to its bin. Bars are means. Whiskers are standard errors across chains.
Unsteered ESMFold2 designs are substantially more helical than the natural reference, with correspondingly less sheet and loop (Figure 1). In the pooled comparison, this pattern recurs across binder-length bins (Figure 1).
A helix penalty shifts designs toward sheets
The reference comparison suggests a practical opportunity to reduce the predominance of helices so that a campaign samples more of the sheet-containing compositions found in natural complexes. To test this, we added a term to the existing objective that penalizes helix-like geometry.
The existing structural objective
The default structural loss combines intrabinder contacts, contacts between the target and binder, and a size-dependent compactness term:
The intrabinder term favors nonlocal contacts within the binder. The interface term asks each target residue for a contact with the binder, and the compactness term favors smaller predicted binder dimensions. For details, see Candido et al. (2026).
Penalizing helix-like distances
We use a local geometric feature of a helix: Residues four positions apart have nearby Cα atoms. The distogram gives the predicted probability distribution over residue-pair distances. For each eligible binder position, we sum the probability below 7 Å and average over positions:
We excluded the final four residues from the average because they have no partner at this offset. The penalty acts only on the binder block of the distogram.
To steer sequence optimization, we then replace the default structural objective \mathcal{L}_{\mathrm{struct}} with an objective that includes the weighted helicity penalty:
Increasing the weight w makes these short i,i+4 distances more costly.
Note that the term \mathcal{L}_{\mathrm{helix}} is a differentiable proxy for secondary structure, not a true secondary-structure assignment. A low value doesn’t distinguish a strand from an irregular extended segment, and it doesn’t specify how strands should pair. Figure 2 illustrates the distance criterion on an example protein.
NoteRelationship to BindCraft’s helicity loss
We developed this formulation before becoming aware of BindCraft’s helicity loss (Pacesa et al., 2025). Both use the same underlying strategy of steering secondary structure by discouraging short intrabinder distances characteristic of helices. BindCraft’s implementation averages a negative-log contact probability for binder residue pairs separated by three positions, using a 6 Å cutoff. Our formulation averages contact probabilities for pairs separated by four positions, using a 7 Å cutoff. We haven’t made a direct comparison of the two formulations under matched conditions, but we note their conceptual similarity.
Visualize the helix-distance criterion on an example binder
from analysis import scenescene.loss_term_scene(paths.ASSETS /"example-complex.pdb").show()
3Dmol.js failed to load for some reason. Please check your browser console for error messages.
Figure 2: A predicted binder colored by the coordinate-based distance criterion underlying the penalty. Red marks a Cα pair at positions i and i+4 below 7 Å; each such pair contributes 1/(L-4) to the binary coordinate average, where L is the binder length. The last four residues are unscored. Hovering shows the measured pair and distance.
Increasing the weight replaces helix with sheet and loop
We compared weights of 0, 0.5, 1.0, 2.0, and 5.0, with 30 seeds per condition on each target. Figure 3 (a) shows the mean composition pooled across all five targets; Figure 3 (b) shows the pooled distribution of helix fractions.
Measure the target-by-weight comparison, with 30 designs per condition
ARMS =list(targets.CAMPAIGN_ARMS)for target in TARGETS:for arm in ARMS:if (target, arm) notin campaign_composition: campaign_composition[target, arm] = composition.measure_campaign(target, arm)steered = pd.concat(campaign_composition.values(), ignore_index=True)campaign_sizes = steered.groupby(["target", "arm"]).size()assert campaign_sizes.eq(targets.N_SEEDS).all()
Pool chain composition by steering weight and inspect helix distributions
(a) Mean helix, sheet, and loop fractions. The leftmost bar shows the natural reference, including all chains without resampling or weighting.
(b) Helix-fraction distributions. Violins are restricted to each group’s observed range and scaled to equal maximum width. White dots mark medians. Thick vertical lines span the interquartile range.
Figure 3: Secondary-structure composition across steering weights, pooled across all five targets (150 designs per weight, with equal contributions from each target). PyDSSP assigns secondary structure from final binder structures predicted by ESMFold2-Experimental-Fast-Cutoff2025 and experimental structures for the natural reference.
Figure 3 (a) shows that penalizing helix-like distances increases both sheet and loop content. At the strongest weights, helices are almost absent, while sheets account for just over half of the mean composition.
The pooled distributions in Figure 3 (b) reveal heterogeneous responses to intermediate steering weights. In particular, at w=0.5, the helix-fraction distribution appears bimodal, with some designs remaining strongly helical, while others contain little helix. This pattern suggests that modest steering can substantially redirect some optimization trajectories while leaving others helix-rich. Both helix-rich and helix-poor designs also occur within individual targets (Figure 4).
The response occurs on all five targets
We next examined how individual targets contribute to the pooled response. Figure 4 shows the distributions of helix, sheet, and loop fractions for every target and weight.
Figure 4: Final secondary-structure fractions across all five targets and steering weights (30 designs per target and weight). Rows show helix, sheet, and loop fractions; columns show targets. Points show individual designs.
Median helix decreased with weight on all five targets. Some targets, such as CD45, responded more strongly to intermediate weights than others, such as PD-L1, yet all reached a median helix fraction of zero by weight 5.0. Sheet and loop proportions increased as helix decreased, yielding sheet-rich designs with substantial loop content. The broad distributions at intermediate weights show that the same steering weight can yield very different compositions across seeds, as observed in Figure 3 (b).
Steering lowers confidence
Steering produces more sheet-rich designs, but does it retain enough high-confidence candidates to make that change useful for a design campaign? We assessed confidence in the binder–target arrangement using the interface predicted template modeling score (ipTM), and confidence in local binder structure using the binder’s predicted local distance difference test (pLDDT) score. We used ESMFold2-Experimental-Cutoff2025 for both scores and all confidence screens. This non-Fast model wasn’t used for sequence optimization or trajectory selection. Secondary-structure fractions come from the saved Fast-model structures. Figure 5 and Table 2 show how confidence changes across the full population of designs.
Compare final confidence distributions by target and steering weight
Figure 5: ipTM (top) and pLDDT (bottom), both from ESMFold2-Experimental-Cutoff2025, across steering weights, with 30 designs per target and weight. Points show individual designs.
Calculate median confidence by target and steering weight
Table 2: Median ipTM and binder pLDDT from ESMFold2-Experimental-Cutoff2025 by target and steering weight.
Steering weight
0 (unsteered)
0.5
1.0
2.0
5.0
Metric
Target
ipTM
CD45
0.864
0.721
0.468
0.389
0.224
PDGFRβ
0.898
0.876
0.827
0.812
0.757
CTLA-4
0.801
0.773
0.428
0.580
0.223
EGFR
0.941
0.928
0.917
0.883
0.643
PD-L1
0.940
0.945
0.925
0.878
0.807
Binder pLDDT
CD45
84.9
66.6
63.4
61.6
58.2
PDGFRβ
86.1
81.2
71.4
69.1
68.6
CTLA-4
86.2
82.8
75.2
69.6
65.3
EGFR
86.9
80.8
76.1
69.4
67.3
PD-L1
87.3
85.6
72.5
71.1
65.3
Both confidence measures generally decline as steering increases, although the size of the decline depends on the target. EGFR and PD-L1 retain relatively high interface confidence, while CD45 shows a more pronounced reduction. Even at strong steering weights, some candidates retain high confidence scores. We therefore counted how many designs pass the confidence screen and how many also meet the sheet-content requirement.
To distinguish these outcomes, we applied two in silico screens (Table 3). The quality screen uses pLDDT and ipTM thresholds. The combined screen additionally requires a predicted sheet fraction above 0.40. The table below shows the thresholds for both screens.
Table 3: Criteria defining a candidate that passes each in silico screen.
Screen
Requirements
Quality
ipTM above 0.85 and binder pLDDT above 80
Quality + sheet content
Quality criteria and sheet fraction above 0.40
Table 4 reports the number of candidates passing each screen, so we can compare the loss of high-confidence candidates directly with the yield of candidates that also have the desired composition.
Table 4: Candidates passing each in silico screen by target and steering weight. Confidence scores come from ESMFold2-Experimental-Cutoff2025; sheet fractions come from Fast-Cutoff2025 structures. Pass rates use all designs at that weight as the denominator.
Steering weight
0 (unsteered)
0.5
1.0
2.0
5.0
Screen
Target
Quality
CD45
15
7
0
4
1
PDGFRβ
19
15
7
3
4
CTLA-4
13
13
5
1
2
EGFR
24
16
10
9
5
PD-L1
23
20
11
11
9
Total
94
71
33
28
21
Pass rate
62.7%
47.3%
22.0%
18.7%
14.0%
Quality + sheet content
CD45
1
4
0
4
1
PDGFRβ
2
4
4
3
4
CTLA-4
0
3
1
1
2
EGFR
6
5
7
9
5
PD-L1
4
4
6
10
9
Total
13
20
18
27
21
Pass rate
8.7%
13.3%
12.0%
18.0%
14.0%
Steering reduced the pooled number of candidates passing the quality screen, yet every tested steering weight yielded more candidates passing the combined screen than unsteered design. At weight 2.0, quality passes fell from 94 to 28, while passes for the combined screen rose from 13 to 27. Nearly all candidates that retained high confidence at this weight also met the sheet requirement. Steering therefore produced a smaller pool of high-confidence candidates, enriched in the desired composition.
Overall, steering away from ESMFold2’s helix preference comes at the cost of lower in silico confidence. However, the biological meaning of that reduction remains unresolved. ESMFold2’s confidence scores could be well calibrated with reality, with sheet-rich designs scoring lower because they’re less likely to fold and bind well. Alternatively, the scores could underestimate viable sheet-rich designs. The model’s preference for generating helical designs (Figure 1) motivates this possibility, but doesn’t establish whether its confidence scores are miscalibrated. Experimentally testing the designs could settle this.
Helicity diverges while sequences remain soft
The final structures show how strongly steering changes composition, but not when those differences emerge during optimization. We tracked the helix proxy, interface-confidence proxy, and sequence entropy throughout optimization to see how the structural predictions develop as the soft sequence hardens (Figure 6).
Calculate per-step medians across designs for each steering weight
Plot median helicity, interface proxy, and sequence entropy during optimization
from matplotlib import pyplot as pltfor metric in trace_columns: panel = figures.trace_summary(trace_medians, metric, ARMS) display(panel) plt.close(panel)
(a) Helix proxy (\mathcal{L}_{\mathrm{helix}})
(b) ipTM proxy
(c) Sequence entropy
Figure 6: Median optimization diagnostics across 150 designs per condition, pooling five targets. The ipTM proxy summarizes interface confidence from the distogram, which the model learns to predict during training. Sequence entropy is the mean per-residue entropy of the soft amino acid probabilities. The dashed line marks the uniform maximum over 19 amino acids (cysteine probability is initialized to 0).
Steering redirected structural predictions before optimization strongly favored particular amino acids. The early soft-sequence stage therefore offers a point of control over the structures that emerge. This sensitivity also suggests that small changes to the starting amino acid probabilities could influence design outcomes.
NoteIndividual trajectories show the range of responses
The median trajectories in Figure 6 summarize runs with very different outcomes, even at the same steering weight. The 30 CD45 runs at weight 1.0 include both low- and high-helicity endpoints (Figure 7).
Inspect individual CD45 trajectories and their final helicity proxies
Figure 7: Distogram helicity trajectories for all 30 CD45 runs at weight 1.0. Thin lines show individual seeds and the thick line shows their median. These values are the optimization proxy, not final PyDSSP helix fractions.
Conclusion
Changing the design objective gave us control over ESMFold2’s secondary-structure preference without retraining the model. Across five targets, a local distance penalty shifted designs toward sheets and loops. Although average confidence fell, steering produced more candidates that met both our sheet-content and confidence criteria. Weight 2.0 yielded the largest pooled count, but the most productive weight differed by target.
The response began while amino acid probabilities were still close to uniform. We could therefore redirect structural preferences before optimization strongly favored particular residue identities, making the earliest design steps a useful point for intervention. This also suggests that changing the starting amino acid probabilities could influence design outcomes.
More broadly, loss steering offers a way to adapt a pretrained design workflow to the needs of a campaign. Secondary-structure composition is one property we can influence through the objective. Other differentiable terms could offer control over additional properties.
The main unresolved question is whether lower confidence reflects a biological cost. Steered candidates may fold or bind less well, or the model may underestimate viable sheet-rich designs. Its preference for generating helices gives us a reason to investigate the latter possibility, but doesn’t establish that its confidence estimates are less reliable for sheets. That distinction matters for screening: Lower scores could help reject poor designs or cause us to discard useful ones. Testing whether steered candidates fold and bind their intended targets would help determine which explanation holds.
Next steps
An experimental next step would be to synthesize steered and unsteered candidates and test whether they fold and bind their intended targets. Comparing these measurements with predicted confidence would help establish whether steering expands the pool of useful binders and how well the scores guide their selection.
The early response to steering also motivates testing whether the starting amino acid distributions can influence final designs. Structural preferences diverged while the soft sequences were still close to uniform, showing that those preferences can take shape before optimization commits to particular residue identities.
Appendix: Early steering has a lasting effect
The trajectories show an early separation between steered and unsteered runs (Figure 6). This raises two questions: Can a penalty introduced later still redirect composition, and can we withdraw early steering while preserving that change?
We tested these questions on PD-L1 with two parameter scans. For the onset scan, we varied the optimization step at which we first applied the helicity penalty and then kept it active for the rest of the run. For the withdrawal scan, we applied the penalty from the start and varied the step at which we removed it. Both scans used weight 2.0, which we chose because it produced a strong composition response in Figure 6. Each condition contains 30 designs, with 150 optimization steps per design (Figure 8).
NoteComparing steering schedules
Individual designs aren’t seed-reproducible here. The following campaigns therefore compare outcome distributions under different schedules, rather than tracking the same design with and without a change in timing.
Measure onset and withdrawal campaigns, reusing the shared endpoints
SCAN_TARGET ="pdl1_igv"scans = {"onset": targets.ONSET_SCAN, "withdrawal": targets.RELEASE_SCAN}schedule_arms =set(scans["onset"].values()) |set(scans["withdrawal"].values())for arm insorted(schedule_arms): key = (SCAN_TARGET, arm)if key notin campaign_composition: campaign_composition[key] = composition.measure_campaign(*key) campaign_traces[key] = loss_trace.load_campaign(*key)schedule_designs, schedule_medians = {}, {}for name, scan in scans.items(): schedule_designs[name] = pd.concat( [campaign_composition[SCAN_TARGET, arm] for arm in scan.values()], ignore_index=True ) scan_trace = pd.concat([campaign_traces[SCAN_TARGET, arm] for arm in scan.values()]) schedule_medians[name] = ( scan_trace.groupby(["arm", "step (index)"])[["helix_mean (0-1)"]].median().reset_index() )
Compare helicity trajectories under delayed and withdrawn steering
from matplotlib import pyplot as pltdrawn_steps = {"onset": (targets.SGD_STEPS, 0, 1, 2, 4, 7, 10),"withdrawal": (0, 1, 2, 4, 7, 10, 20, targets.SGD_STEPS),}for panel in figures.schedule_trace_panels(schedule_medians, scans, drawn_steps): display(panel) plt.close(panel)
(a) Delaying the start of steering
(b) Stopping steering early
Figure 8: Median helicity proxy during PD-L1 optimization with delayed or withdrawn steering (weight 2.0; 30 designs per condition; 150 steps). Labels mark when the penalty begins or ends. Dots mark switching steps.
Calculate final sheet fractions separately from the optimization proxy
schedule_sheet_medians = {}for name, scan in scans.items(): median_sheet = schedule_designs[name].groupby("arm")["sheet (fraction 0-1)"].median() schedule_sheet_medians[name] = pd.Series( {step: median_sheet[arm] for step, arm in scan.items()}, name="Median sheet fraction" )
In this PD-L1 experiment, the reduction in the median helix proxy persisted after early steering was withdrawn. The penalty therefore didn’t need to remain active throughout optimization to maintain a lower helix proxy. This suggests that a brief early intervention can have a lasting effect on the subsequent optimization trajectory.