If you want one concrete weekend project to understand modern protein design, try designing a PD-L1 binder. It is a real target, the biology is well studied, the PDB has everything you need, and the whole campaign fits inside two days of evenings plus a fifteen-minute run on a hosted GPU. This tutorial walks through the plan.
Why PD-L1?
PD-L1 is a membrane protein on many cells. When it binds PD-1 on a T cell, it sends an inhibitory signal that tells the T cell to stand down. Tumors exploit this by expressing PD-L1 to avoid immune attack. Checkpoint-inhibitor antibodies like pembrolizumab and atezolizumab block the PD-1 to PD-L1 interaction and have become standard of care in several oncology indications.
For protein design practice, PD-L1 has three things going for it:
- A clear, well-studied interface. The PD-1 to PD-L1 contact surface is characterized in multiple crystal structures. You do not need to guess where the binding site lives.
- Good benchmarks. Published de novo binders and approved monoclonal antibodies give you baselines to compare against.
- Practical size. PD-L1 is small enough that structure prediction and generation are fast. A full campaign finishes in minutes, not hours.
Step 1: Load the target structure
Open the Binder Design studio and enter PDB ID 5C3T. This structure shows PD-1 and PD-L1 in complex, which is useful because you can see exactly which residues make contact.
The studio will render both chains, color-code the interface, and let you click residues to add them to the hotspot list.
Step 2: Pick hotspot residues
The residues on PD-L1 that make the strongest contacts with PD-1 include:
- Tyr56 — aromatic anchor in the center of the interface
- Glu58 — hydrogen bond donor on the edge
- Asp61 — salt bridge partner
- Arg113 — positive charge near the rim
- Tyr123 — second aromatic anchor
Pick three or four of these as your hotspots. You do not need all of them. In fact using too many hotspots over-constrains the generator and can reduce diversity.
Step 3: Run BindCraft
Click Run Campaign in the studio, or call the API directly. Here is the minimal request:
from scirouter import SciRouter
client = SciRouter(api_key="sk-sci-YOUR_API_KEY")
result = client.labs.binder.discover(
target_pdb_id="5C3T",
target_chain="A", # chain A is PD-L1 in 5C3T
hotspot_residues=[56, 58, 61, 123],
num_designs=60,
min_length=65,
max_length=95,
)
top = sorted(result.ranked_candidates, key=lambda d: -d.score)[:10]
for i, design in enumerate(top):
print(f"#{i+1} score={design.score:.3f} len={len(design.sequence)}")
print(f" seq={design.sequence}")Under the hood this triggers the same BindCraft pipeline described in our BindCraft tutorial: BoltzGen generates backbones, Boltz-2 validates interfaces, and ProteinMPNN designs sequences. The run takes about 10 minutes end to end for 60 designs.
Step 4: Read the output
The top candidates will usually cluster into a few backbone topologies. Some will be three-helix bundles. Some will be small beta-sheet scaffolds. Some will be mixed alpha-beta. All three are worth exploring.
For each candidate, pay attention to:
- BindCraft score. Above 0.7 is promising. Below 0.5 is probably not worth ordering.
- Interface coverage. How many of your hotspots does the design actually touch in the predicted pose? Good designs hit at least three of four.
- Self-consistency. Does the predicted structure of the designed sequence match the generated backbone? This is a proxy for whether the sequence will actually fold.
Step 5: Pick your panel
For a first campaign, pick 10 candidates split across:
- The top 5 by overall BindCraft score.
- 2 backbone topologies that are structurally different from the top 5 but still scored above 0.6.
- 1 “aggressive” pick with a slightly lower score but unusually good interface coverage.
- 1 negative control: a scrambled sequence that should not fold into a binder.
- 1 positive control: a published nanobody or small protein binder against PD-L1 from the literature.
Step 6: Wet-lab validation (optional)
If you have access to a molecular biology setup, the cheapest path to first data is:
- Order the 10 sequences as gene fragments (Twist, IDT, or GenScript).
- Clone into a standard bacterial expression vector with a 6xHis tag.
- Express in E. coli, purify by nickel affinity, and measure concentration.
- Test binding against a commercial PD-L1 extracellular domain by biolayer interferometry, surface plasmon resonance, or fluorescence polarization.
Most well-resourced academic labs can complete this workflow in three weeks. Even one hit is a meaningful result and teaches you a lot about what worked in your design choices.
What you will learn
The goal of this project is not to beat pembrolizumab. It is to understand:
- How to read a PDB interface and choose hotspots.
- How generative models score and rank candidates.
- What a realistic hit rate feels like in practice.
- Why diversity in the candidate pool matters more than any single top-ranked design.
- How to plan a wet-lab validation panel without blowing your budget.
Once you have done it once, you can apply the same recipe to any target you care about. For a more general take on what this unlocks, see our weekend project guide.
Bottom line
Designing a PD-L1 binder used to be a multi-year research program. In 2026 it is a weekend computational project plus a cheap expression campaign. The tools are there. The biology is understood. The only thing left is for you to pick a target and actually try.