Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
b8a9591
feat: initial conditional proximity-gated nanobody design framework
cursoragent Jul 3, 2026
cfe01ca
feat: refined split-scFv + minibinder design with correct two-chain p…
cursoragent Jul 3, 2026
ae65244
feat: example structures and VH-VL interface analysis
cursoragent Jul 4, 2026
0848cf3
feat: Lambda Cloud pipeline for RFdiffusion minibinder design
cursoragent Jul 4, 2026
6c9ca46
chore: active instance tracking and auto-start design pipeline
cursoragent Jul 4, 2026
eca35ba
feat: switch to RFdiffusion3 (rc-foundry Docker) pipeline
cursoragent Jul 4, 2026
f8fc52e
feat: rfd3 pipeline working — 200-design run in progress
cursoragent Jul 4, 2026
3a25970
fix: correct rfd3 contig for binder design + fix MPNN API
cursoragent Jul 4, 2026
df807f3
feat: CH1-kicker design — minibinder targets nanobody CDR face
cursoragent Jul 4, 2026
f320eb0
chore: launch anti-idiotypic minibinder design run
cursoragent Jul 4, 2026
7b7cac8
feat: anti-idiotypic minibinder design complete
cursoragent Jul 4, 2026
16325df
feat: AF2-Multimer validation results
cursoragent Jul 4, 2026
c023694
feat: integrated pipeline with 3-chain design + self-consistency vali…
cursoragent Jul 4, 2026
8dd56a0
fix: 3-chain contig syntax B1-115,50,C1-113 (verified 278-res output)
cursoragent Jul 4, 2026
8305278
feat: v2 3-chain design results — 1600 minibinder sequences
cursoragent Jul 4, 2026
3d24afe
feat: bispecific bridging minibinder design strategy
cursoragent Jul 4, 2026
144466b
docs: bispecific bridging minibinder design + instance status
cursoragent Jul 4, 2026
c8c3be6
feat: v3 bispecific bridging minibinder — 1600 sequences complete
cursoragent Jul 4, 2026
cec99fc
feat: Boltz-2 validation pipeline for bispecific bridging minibinder
cursoragent Jul 4, 2026
0f61f54
chore: Boltz-2 validation running on 94c63717 (129.146.164.146)
cursoragent Jul 4, 2026
b71e2b1
feat: fully integrated RFd3+MPNN+Boltz2+scRMSD pipeline on single ins…
cursoragent Jul 4, 2026
20e4910
chore: full integrated pipeline running on 52d978c1 (129.146.164.146)
cursoragent Jul 4, 2026
7e9b8f3
chore: Boltz-2 running on 52d978c1 — networkx+platformdirs fixed
cursoragent Jul 4, 2026
2b2d080
chore: auto-push to GitHub configured on Lambda instance
cursoragent Jul 4, 2026
e5395f5
results: Boltz-2 + scRMSD validation complete
Jul 4, 2026
7f27e84
results: Boltz-2 + scRMSD validation — bispecific bridging minibinder
Jul 4, 2026
16ae5c4
feat: add top-10 structure collection + GitHub push to pipeline
cursoragent Jul 4, 2026
9021382
chore: full pipeline with structures running on 59a43a5f (129.146.52.56)
cursoragent Jul 4, 2026
97b27a1
results: top-10 structure CIFs + corrected Boltz-2 scores
Jul 5, 2026
48634d5
feat: add top-10 CIF structure files
Jul 5, 2026
b46b525
feat: v2 pipeline — 4-chain RFd3 (VL steric context) + single-chain B…
cursoragent Jul 5, 2026
884c03f
chore: pipeline v2 running — 4-chain RFd3 + single-chain Boltz-2
cursoragent Jul 5, 2026
c2054de
results: v2 pipeline — single-chain Boltz-2 + VL steric context
Jul 5, 2026
5153f66
results: v2 pipeline complete — single-chain Boltz-2 validation
cursoragent Jul 5, 2026
69de7d0
fix: remove old v1 Boltz-2 CIFs (3 chains) from structures folder
cursoragent Jul 5, 2026
f3b47f4
fix: proper Boltz-2 scoring module with all known bugs corrected
cursoragent Jul 5, 2026
2bfe7fe
chore: 500-design brute force run on 71d4883 (129.146.97.5)
cursoragent Jul 5, 2026
efe8644
results: 500-design brute force run — best scRMSD 6.03 Å
cursoragent Jul 6, 2026
0c21090
feat: variable-length minibinder (35-70 res) + select_fixed_atoms
cursoragent Jul 6, 2026
5b0ebdf
chore: variable-length + fixed-atoms run on 4d240eaa (129.146.177.146)
cursoragent Jul 6, 2026
6a04336
results: v4 variable-length (35-70) run — best scRMSD 5.18 Å
cursoragent Jul 6, 2026
c28d2b0
fix: remove comment line inside docker run command (caused scoring to…
cursoragent Jul 6, 2026
716605a
Add optional RFd3 round-2 partial diffusion to pipeline
cursoragent Jul 6, 2026
ab970af
Score round 1 before RFd3 round-2 partial diffusion
cursoragent Jul 6, 2026
a0fef2d
Add launch script and GitHub results push to separate folder
cursoragent Jul 6, 2026
a3184e5
Fix launch script ip scope; update INSTANCE_STATUS for v5 run
cursoragent Jul 6, 2026
d340b40
Auto-discover Lambda API key from Cursor secrets upload path
cursoragent Jul 6, 2026
f196f93
chore: v5 two-round run launched on 5314d4de
cursoragent Jul 6, 2026
41b8aab
Fix instant pipeline crash: skip self-cp, keep instance on failure
cursoragent Jul 6, 2026
91eca39
chore: v5 relaunch running on d8366030
cursoragent Jul 6, 2026
be589c0
Fix round-2 MPNN crash: always design chain A, ignore VL chain B
cursoragent Jul 6, 2026
5a7ad78
Fix round-2 scRMSD scoring and push_results git clone
cursoragent Jul 6, 2026
61abcd8
results: v5 two-round refine — re-scored round-2 scRMSD (chain-A fix)
cursoragent Jul 6, 2026
27f7a88
Use global assembly RMSD for validation scoring
cursoragent Jul 6, 2026
203c334
Tighten global RMSD ranking for two-round pipeline rerun
cursoragent Jul 6, 2026
3b881cd
Update instance status for v6 global RMSD pipeline run
cursoragent Jul 6, 2026
366756d
results: v6 global RMSD rerun — two-round pipeline complete
cursoragent Jul 7, 2026
a241a24
Mark v6 instance terminated; results pushed
cursoragent Jul 7, 2026
adbd50f
Add Stage A hidden minibinder design target and RFd3 pipeline
cursoragent Jul 25, 2026
f347c95
Fix Stage A launch: bootstrap via cloud-init when SSH key unavailable
cursoragent Jul 25, 2026
fddac4a
Update instance status for Stage A launch
cursoragent Jul 25, 2026
3ac7813
Fix Stage A launch: SSH deploy instead of cloud-init bootstrap
cursoragent Jul 25, 2026
0d5e7aa
Use single SSH key for Lambda launch; update Stage A instance status
cursoragent Jul 25, 2026
5f66e45
Update INSTANCE_STATUS for new Stage A instance
cursoragent Jul 25, 2026
434c1e7
Add Stage 0 VH-VL interface weakening pipeline
cursoragent Jul 25, 2026
d17ba33
Pull Stage A PoC results and terminate Lambda instance
cursoragent Jul 25, 2026
03d0e68
Enhance Stage 0 scoring: holo geometry, CDR-epitope, anti-wedge filters
cursoragent Jul 25, 2026
99a83ea
Stage 0 launched on Lambda instance bbf9df5599e849fda5e5fc7e82608ed7
cursoragent Jul 25, 2026
2782b76
Fix epitope stub: full-atom residues for RFd3 compatibility
cursoragent Jul 25, 2026
f2db1f5
Fix epitope stub residue names: use three-letter codes, drop H/OXT
cursoragent Jul 25, 2026
24ce805
Stage 0 running on 5400b4d26ae3488e9f418f7666d9268e after epitope PDB…
cursoragent Jul 25, 2026
5d2289a
Fix Stage 0 scoring: remove BioPython dep, speed up clash detection
cursoragent Jul 25, 2026
ef9dfba
Fix VH-VL interface clash counting in Stage 0 scoring
cursoragent Jul 25, 2026
f70033d
Add Stage 0 VH-VL interface weakening results
cursoragent Jul 25, 2026
9a3ee0a
Stage 0: split-chain MPNN partial de-grease (skip RFd3)
cursoragent Jul 26, 2026
ff7bb7e
Auto-select Lambda region with GPU capacity for Stage 0 launch
cursoragent Jul 26, 2026
c40596d
Add Stage 0 split MPNN results and terminate Lambda instance
cursoragent Jul 26, 2026
88a224a
Stage 0 aggressive de-grease: 19 rim residues, 3.20 Å core
cursoragent Jul 26, 2026
4facbe8
Add aggressive Stage 0 split MPNN results
cursoragent Jul 26, 2026
e38812f
Stage 0 brute-force: whole interface MPNN 1000 → top 100 Boltz
cursoragent Jul 26, 2026
3a56403
Refactor Stage 0 to holo-only Boltz with static VH-VL weakening
cursoragent Jul 26, 2026
5ff214a
Fix launch setup race; update instance status for holo-only run
cursoragent Jul 26, 2026
2be6aa6
Fix Boltz holo on A10: use --no_kernels and fail on zero structures
cursoragent Jul 26, 2026
d249b0c
Add Stage 0 holo-static run results and analysis
cursoragent Jul 26, 2026
371d672
Add separate framework and CDR holo RMSD metrics
cursoragent Jul 26, 2026
15c342a
Pull holo-static run results (re-scored); terminate Lambda instance
cursoragent Jul 26, 2026
a736e3f
Add PISA VH-VL interface scoring to Stage 0 pipeline
cursoragent Jul 27, 2026
cb21317
Always use boltz --no_kernels to avoid cuequivariance crash on A100
cursoragent Jul 27, 2026
8f6442b
Add Stage 0 holo+PISA run results and analysis
cursoragent Jul 27, 2026
f422acc
Pull Stage 0 top 5 holo CIFs and full run artifacts
cursoragent Jul 27, 2026
cc3ee8b
Use PISA to define WT VH-VL interface residues before MPNN
cursoragent Jul 29, 2026
d3f4373
Run PISA interface build on Lambda before MPNN
cursoragent Jul 29, 2026
877b190
Fix ephemeral SSH key mismatch on Lambda relaunch
cursoragent Jul 29, 2026
59f1564
Fix Lambda SSH key delete endpoint
cursoragent Jul 29, 2026
fe6de4a
Fix Lambda host deps for PISA interface build step
cursoragent Jul 29, 2026
291a1d4
Add PISA interface test run results (100 MPNN, top 10 Boltz)
cursoragent Jul 29, 2026
c39daa3
Add interface-scope flag for VH/VL vs full Fab (CH1/CL)
cursoragent Jul 29, 2026
d25838b
Restore CONFIG_JSON default in Stage 0 pipeline script
cursoragent Jul 29, 2026
551b0e9
Add Stage 0 full_fab run results and top 5 holo structures
cursoragent Jul 30, 2026
36c4fc4
Relax framework RMSD filter and raise MPNN sampling temperature
cursoragent Aug 2, 2026
e4c8d66
Add Stage 0 full_fab T=0.25 run results and top 5 holo structures
cursoragent Aug 2, 2026
fa2cf58
Stage A: wire rank080 Fab source and add mmCIF support for build
cursoragent Aug 7, 2026
f8238a8
Fix Stage A launcher SSH key update and add rank080 run config
cursoragent Aug 7, 2026
98f54ec
Pull Stage A rank080 RFd3 sequences and sample structures
cursoragent Aug 7, 2026
9ddecdb
Mark Stage A rank080 Lambda instance as terminated
cursoragent Aug 7, 2026
8e00908
Fuse VH+CH1 and VL+CL for full_fab Boltz holo validation
cursoragent Aug 23, 2026
d3d7eaf
Upload boltz_fab_chains module to Lambda Stage 0 pipeline
cursoragent Aug 23, 2026
163e686
Copy boltz_fab_chains in Stage 0 GPU setup script
cursoragent Aug 23, 2026
3e4bbce
Fix Boltz crash: upgrade torchvision after boltz[cuda] install
cursoragent Aug 23, 2026
3b0e4e3
Pin Boltz stack to torch 2.5.1+cu124 for Lambda CUDA 12.8
cursoragent Aug 23, 2026
4b2dcdf
Add Stage 0 full_fab fused H/L Boltz run results (T=0.25)
cursoragent Aug 23, 2026
54cd350
Stage A: accept fused H/L Boltz holo CIFs; default to rank079
cursoragent Aug 23, 2026
5e5b977
Add Stage A rank079 RFd3 results (200 designs)
cursoragent Aug 23, 2026
b54f024
Redesign Stage A: full Fab context, wider spacing, unlinked MB
cursoragent Aug 23, 2026
d025ded
Fix Stage A RFd3 contig syntax for unlinked minibinder
cursoragent Aug 23, 2026
75a99d7
Add Stage A v2 rank079 results (unlinked MB, full Fab, 45Å spread)
cursoragent Aug 23, 2026
d0ecd03
Add *_split.cif workflow for Stage A Fab input
cursoragent Aug 23, 2026
cf7c855
Fix SSH key name when using ephemeral key for Stage A launch
cursoragent Aug 23, 2026
494a06f
Add Stage A v3 results from rank079 split CIF input (200 RFd3 designs)
cursoragent Aug 23, 2026
eb20f9b
Fix Boltz H/L swap when splitting Fab; regenerate rank079 split CIF
cursoragent Aug 24, 2026
f9aa2c5
Add Stage A v4 results with corrected split CIF orientation (200 RFd3…
cursoragent Aug 24, 2026
ff66ee9
Fix Stage A RFd3 to keep Fab fixed via unindexed context
cursoragent Aug 24, 2026
6cadbf7
Graft Stage A minibinder onto exact input Fab in output files
cursoragent Aug 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
__pycache__/
*.pyc
*.pyo
.ipynb_checkpoints/
*.egg-info/
dist/
build/
.DS_Store
results/
Empty file added ERROR:
Empty file.
11 changes: 11 additions & 0 deletions INSTANCE_STATUS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Lambda Instances

No active instances.

## Last run — Stage 0 holo-static (terminated)

| Field | Value |
|---|---|
| Instance ID | `bfffb352fc8c450684b1d9cb39d301e9` (terminated) |
| Results | `pipeline_results/stage_0_holo_static/` |
| Best candidate | `rank009_s0_native_split_s682` |
212 changes: 211 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,211 @@
# binary_antibodies
# Binary Antibodies — Conditional Nanobody Design

## Concept

A nanobody that can **only** bind its target when a VH1 domain is bound to a
specific antigen on the same cell surface — AND-gate logic.

---

## Current Design: Bispecific Bridging Minibinder

```
── INACTIVE (OFF state) ──────────────────────────────────────────

[Nanobody] ← CDRs blocked
+++
[Minibinder] ← bridges BOTH surfaces simultaneously
|||
[VH1] ← CH1-face exposed (CH1 domain deleted)
|
[Antigen] ··· membrane ··· [Target]


── ACTIVE (ON state, VL1 pairs with VH1) ────────────────────────

[Nanobody CDRs free] ────────────────────────── binds [Target]
long linker (nanobody swings away)
|
[Minibinder]──short linker──[VH1]──[VL1/CL] ← VL1 occupies CH1-face
|
[Antigen]
```

### How it works (6-step design)

1. **Take native Fab** (VH + VL + CH1_heavy + CL)
2. **Delete heavy-chain CH1** — exposes VH1's CH1-contact surface
3. **Position Nanobody in the CH1 slot** — CDR face (+++) points at VH1's exposed CH1-contact surface
4. **Design Minibinder** — bridges VH1-CH1-face AND Nanobody CDRs simultaneously (bispecific)
5. **VH1 and VL1 engineered to be independent** — don't spontaneously pair in solution
6. **Asymmetric linkers**:
- **Short** (5-10 res): VH1 → Minibinder — MB stays at VH1 after displacement
- **Long** (30-50 res): Minibinder → Nanobody — CDRs can swing far away

### The displacement mechanism

In the OFF state, the Minibinder acts as a **molecular staple** holding VH1 and the Nanobody CDRs together in the geometry where CH1 used to sit.

When VH1 binds the antigen AND VL1 pairs with VH1:
- VL1's CL domain occupies VH1's CH1-contact surface (the same surface the Minibinder was using)
- The Minibinder is displaced from VH1's surface
- **Short linker** keeps the Minibinder physically near VH1 (it cannot escape)
- **Long linker** allows the Nanobody to swing completely away from the displaced Minibinder
- CDRs are free to bind the Target

### Why this is better than previous designs

| | Previous designs | This design |
|---|---|---|
| What minibinder bridges | Single surface (VL1 FR2 or nanobody CDRs alone) | **Two surfaces simultaneously** (VH1-CH1 face + nanobody CDRs) |
| Displacement trigger | VH1 surface concentration / CL steric kick | **VL1 directly occupies VH1-CH1 face** (same surface MB uses) |
| OFF-state lock | Thermodynamic (Kd windows) | **Geometric** — staple holds shape |
| Linker requirement | Symmetric | **Asymmetric — the switch mechanism** |

### Design target geometry

- VH1-CH1 contact residues (28): FR1(11-15), FR2(39-41), FR3(79-115)
- Nanobody CDR hotspots (27): CDR1(27-33), CDR2(52-57), CDR3(99-112)
- Gap between surfaces: **20 Å**
- Minibinder size: **55 residues**
- Input PDB: `structures/domains/vh1_nanobody_design_target.pdb`



```
── INACTIVE ──────────────────────────────────────────────────────────

[Nanobody CDRs blocked by Minibinder]
|
~flexible linker~
|
[CL]──[VL1] ← CL/CH1 positioned away from nanobody
(free, unanchored)
[VH1]
(not yet bound to antigen)

[Antigen] ··· membrane ··· [Target]


── ACTIVE ────────────────────────────────────────────────────────────

[Nanobody]────────────────────────────╮
| binds [Target]
~flexible linker~
|
[CL] ← CH1/CL physically KICKS Minibinder off Nanobody CDRs
[VL1]──[VH1] ← VH1-VL1 pairing brings CL into kicking position
|
[Antigen] ··· membrane ··· [Target]
```

### Components

| Component | Role | How to obtain |
|---|---|---|
| **VH1** | Binds antigen autonomously; anchors construct to membrane | Engineered from existing anti-antigen VH |
| **VL1** | Pairs with VH1 to form scFv; triggers the kicker mechanism | From same antibody as VH1 |
| **CL (CH1)** | "Kicker" domain — physically displaces minibinder from nanobody CDRs upon VH1-VL1 pairing | Natural constant light chain, attached to VL1 C-terminus |
| **Minibinder** | Blocks nanobody CDR face in free state | **Designed against nanobody paratope** (anti-idiotypic design) |
| **Flexible linker** | Connects VL1-CL block to nanobody; must be long enough for kicking geometry | (G₄S)ₙ, optimised |
| **Nanobody** | Anti-target single-domain antibody | Selected from library or existing |

### Mechanism (structural switch — NOT thermodynamic competition)

1. **Free state**: Minibinder occupies the nanobody's CDR face. Nanobody cannot bind target.
VH1 and VL1 are not paired (or floating freely in solution).

2. **Anchoring**: VH1 binds the antigen on the cell surface.

3. **Pairing**: VH1 recruits VL1; VH1-VL1 pair into a functional scFv.
The CL domain comes along with VL1 (it is covalently attached at VL1's C-terminus).

4. **Kicking**: The CL domain, now in its new position relative to the nanobody
(set by the VH1-VL1 pairing geometry), **sterically clashes with the minibinder**
and physically displaces it from the nanobody's CDR loops.

5. **Activation**: Nanobody CDRs are now free. The flexible linker allows the
nanobody to extend and bind the target.

### Why this design is better than competitive displacement

| Property | Competitive displacement (old) | CH1-kicker (new) |
|---|---|---|
| Mechanism | Thermodynamic (VH1 surface conc. vs intramolecular minibinder) | Structural/mechanical (steric kick) |
| OFF-state fidelity | Good — intramolecular minibinder is always present | Good — minibinder blocks CDRs |
| ON-state trigger | Needs µM VH1 surface concentration | Needs VH1-VL1 pairing (binary event) |
| Precision needed | High — tight Kd windows, exact linker lengths | Low — CH1 kick is a physical event |
| Minibinders needed | 2 | **1** |
| Robustness | Sensitive to antigen expression level | **Robust** — switch is structural |

### Key design parameter: kicking geometry

The CL domain must be positioned such that, **after VH1-VL1 pairing**, it overlaps
with the minibinder's footprint on the nanobody CDRs. This is determined by:

- The Fab geometry (VH1-VL1-CL complex structure)
- The flexible linker length between CL and the nanobody
- The size and position of the minibinder on the nanobody CDR face

Use the structural analysis in `binary_antibodies/kicker.py` to assess geometry.

### Chain B assembly (N→C)

```
SP – [VL1] – [CL] – (G4S)n – [Minibinder] – (G4S)3 – [Nanobody VHH]
```

- `SP`: signal peptide
- `VL1`: variable light domain (pairs with VH1 to trigger kicking)
- `CL`: constant light domain (the "kicker" — repositions upon VL1-VH1 pairing)
- `(G4S)n`: flexible linker (length sets kicking geometry)
- `Minibinder`: blocks nanobody CDRs in free state
- `(G4S)3`: short linker
- `Nanobody VHH`: anti-target single-domain antibody

Chain A (separate): **VH1** (binds antigen; expressed as separate polypeptide)

---

## Example Biological System

| Component | Molecule | PDB |
|---|---|---|
| Antigen | EGFR | Cetuximab Fab 1YY9 (VH template) |
| Target | HER2 | — |
| VH1 + VL1 | Anti-HER2 scFv | Trastuzumab Fab 1N8Z |
| CL | Trastuzumab Cκ | 1N8Z chain B (C-terminal constant domain) |
| Nanobody | 2Rs15d anti-HER2 VHH | 5MY6 |
| Minibinder target | **Nanobody CDR face** (CDR1, CDR2, CDR3) | `structures/domains/her2_nanobody_VHH.pdb` |

---

## Repository Layout

```
binary_antibodies/
├── README.md
├── requirements.txt
├── binary_antibodies/
│ ├── polymer.py # linker physics
│ ├── design.py # ConditionalConstruct, SplitScFvConstruct
│ ├── kicker.py # CH1-kicker geometry and displacement model ← NEW
│ ├── split_scfv.py # competitive displacement model (reference)
│ ├── minibinder.py # minibinder design guidance
│ ├── sequences.py # linker sequences
│ └── structures.py # PDB download/analysis
├── scripts/
│ ├── setup_example.py
│ ├── interface_analysis.py # VH-VL interface (reference)
│ ├── nanobody_cdr_analysis.py # Nanobody CDR face analysis ← NEW
│ └── gpu_setup/
│ ├── run_minibinder_design_rfd3.sh # rfd3 pipeline (against nanobody CDRs)
│ └── ...
└── structures/
├── domains/
│ ├── her2_nanobody_VHH.pdb ← TARGET for minibinder design
│ ├── trastuzumab_VH.pdb
│ └── trastuzumab_VL.pdb
└── interface/
```
48 changes: 48 additions & 0 deletions binary_antibodies/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"""
binary_antibodies
=================
Computational design tools for conditional proximity-gated nanobody constructs.

A nanobody is tethered to an antibody via a flexible linker. The nanobody
can only bind its target when the antibody is anchored to a specific antigen,
creating an AND-gate conditional binding behaviour.
"""

from .polymer import LinkerModel
from .design import ConditionalConstruct, SplitScFvConstruct
from .sequences import LinkerSequence
from .split_scfv import SplitScFvSwitch
from .minibinder import MinibinderDesignSpec
from .kicker import KickerGeometry, KickerConstruct
from .scoring import score_all_designs, parse_boltz_confidence, kabsch_rmsd
from .structures import (
download_pdb, load_structure, extract_variable_domain,
analyse_vh_vl_interface, interface_summary,
EXAMPLE_STRUCTURES, print_design_overview,
)

__all__ = [
"LinkerModel", "ConditionalConstruct", "SplitScFvConstruct",
"LinkerSequence", "SplitScFvSwitch", "MinibinderDesignSpec",
"KickerGeometry", "KickerConstruct",
"download_pdb", "load_structure", "extract_variable_domain",
"analyse_vh_vl_interface", "interface_summary",
"EXAMPLE_STRUCTURES", "print_design_overview",
]

__all__ = [
"LinkerModel",
"ConditionalConstruct",
"SplitScFvConstruct",
"LinkerSequence",
"SplitScFvSwitch",
"MinibinderDesignSpec",
"download_pdb",
"load_structure",
"extract_variable_domain",
"analyse_vh_vl_interface",
"interface_summary",
"EXAMPLE_STRUCTURES",
"print_design_overview",
]
__version__ = "0.1.0"
Loading