Version history

1 version on record. Newest first; the live version sits at the top with a live indicator.

  1. Live sha256:bcc4c
    5/27/2026, 8:47:08 PM
    Content snapshot
    {
      "cells": [
        {
          "source": "# CD38 BindCraft TOML — Catalytic-Cleft Binder Design\n\n**Target:** CD38 NAD-hydrolase (UniProt P28907)\n**Template structure:** PDB 2I65 chain A (1.9 Å apo, human CD38 extracellular domain)\n**Design rationale:** Competitive inhibition of NAD⁺ hydrolysis by occluding catalytic cleft residues C119, W189, E226, D155.\n**Exclusion zones:** Nanobody epitope residues from PDB 5F1K chain B (mapped to chain A: 190, 195, 197, 154, 225, 227, 157, 178) — avoid designing binders that clash with this epitope to allow combinatorial use.\n**Affinity benchmark:** Daratumumab KD ~5 nM (literature, SPR). In-silico proxy: AF2-Multimer ipTM > 0.70.\n**Kill criterion:** Zero designs passing pLDDT > 70 after 100 BindCraft trajectories → abort and escalate to RFdiffusion + MPNN pipeline.",
          "cell_id": "c-00511bd9",
          "outputs": [],
          "cell_hash": "sha256:0315aa5bba6a018616711131474355924bd9760a016ec50dd21b9e661961bcad",
          "cell_type": "markdown",
          "execution_count": null
        },
        {
          "source": "# BindCraft TOML configuration for CD38 catalytic-cleft binder\n# Save as: cd38_bindcraft_config.toml\n# Run as: python bindcraft.py --config cd38_bindcraft_config.toml\n\ntoml_config = \"\"\"\n[target]\npdb = \"2I65\"\nchain = \"A\"\ntarget_name = \"CD38_catalytic_cleft\"\nuniprot_id = \"P28907\"\n\n[hotspots]\n# Core catalytic residues — primary anchoring points\nhot_res = [119, 189, 226, 155]\n# Extended catalytic cleft neighbors (within 5.0 Å of hot_res)\nwarm_res = [116, 120, 186, 190, 224, 228, 152, 158]\n\n[exclusion]\n# Nanobody epitope residues (from PDB 5F1K chain B, mapped to 2I65 chain A)\n# Avoid designing across this epitope to preserve combinatorial potential\nexclude_res = [190, 195, 197, 154, 225, 227, 157, 178]\n\n[binder]\n# Binder length range — short helical/beta binder, catalytic cleft geometry\nmin_length = 40\nmax_length = 80\n# Secondary structure preference: mixed helix/loop for cleft complementarity\nss_bias = \"mixed\"\n# Number of design trajectories\nn_designs = 100\n\n[scoring]\n# Primary filter thresholds (Kris validation standard)\nmin_plddt = 70.0\nmin_iptm = 0.70\n# Secondary filter — complex pAE (inter-chain) upper bound\nmax_pae_interface = 12.0\n\n[validation]\n# Independent forward-fold validation: AF2-Multimer (not BindCraft internal)\n# After BindCraft: run all passing designs through AF2-Multimer\n# Acceptance: AF2 ipTM > 0.70 AND AF2 design RMSD vs BindCraft design < 2.0 Å\nforward_fold_model = \"af2_multimer\"\nrmsd_threshold_angstrom = 2.0\n\n[selectivity]\n# Off-target check: BST1 (CD157, UniProt Q10588, PDB 1ISF)\n# Run top-5 passing designs against BST1 structure; reject if BST1 ipTM > 0.65\noff_target_pdb = \"1ISF\"\noff_target_name = \"BST1_CD157\"\noff_target_max_iptm = 0.65\n\n[output]\noutput_dir = \"cd38_bindcraft_results/\"\nsave_all_pdbs = true\nsave_passing_only = false\nlog_level = \"verbose\"\n\"\"\"\n\nprint(\"BindCraft TOML configuration ready.\")\nprint(f\"Hotspot residues: C119, W189, E226, D155\")\nprint(f\"Exclusion zones: {[190, 195, 197, 154, 225, 227, 157, 178]}\")\nprint(f\"Design count: 100 trajectories\")\nprint(f\"Pass criteria: pLDDT > 70.0, ipTM > 0.70, pAE_interface < 12.0\")\nprint(f\"Selectivity check: BST1 (PDB 1ISF) ipTM < 0.65\")\nprint(f\"Affinity proxy benchmark: daratumumab KD ~5 nM (SPR, literature)\")",
          "cell_id": "c-3b9ea83e",
          "outputs": [],
          "cell_hash": "sha256:c5b979c09cd6bc0f363333b640b5f7faa2d6eb7e860c665352c11d3c721a7611",
          "cell_type": "code",
          "execution_count": null
        },
        {
          "source": "## Post-BindCraft Triage Pipeline\n\n### Stage 1 — BindCraft internal filter\n- pLDDT > 70.0 on binder chain\n- AF2-Multimer ipTM > 0.70 (BindCraft uses AF2-Multimer internally for scoring)\n- pAE_interface < 12.0 Ų\n\n### Stage 2 — Independent forward-fold validation (Kris standard)\n- Take all Stage 1 passing designs\n- Re-fold binder sequence alone in AF2 monomer (must recover designed structure, pLDDT > 75)\n- Re-fold binder + CD38 chain A in AF2-Multimer independently (ipTM > 0.70, RMSD to BindCraft pose < 2.0 Å)\n- Reject designs where AF2 cannot recover the BindCraft-predicted binding mode\n\n### Stage 3 — ESM-2 perplexity filter\n- Score each passing binder sequence with ESM-2 (650M)\n- Retain sequences with perplexity < 10 (log-likelihood > −10 per residue)\n- Flag cysteines not in designed disulfide pairs (sequence liability)\n\n### Stage 4 — Selectivity screen (BST1/CD157)\n- Run top-5 Stage 3 candidates against BST1 (PDB 1ISF) in AF2-Multimer\n- Reject candidates with BST1 ipTM > 0.65\n- Document selectivity ratio: CD38 ipTM / BST1 ipTM (target: > 1.3)\n\n### Stage 5 — Foldseek novelty search\n- Submit each passing binder PDB to Foldseek (PDB100 database)\n- Compute TM-score vs nearest structural neighbor\n- Flag as novel if TM-score < 0.5 to nearest non-designed hit\n\n### Wet-lab synthesis recommendation (for leads passing all stages)\n1. Gene synthesis (Twist/IDT) — codon-optimized for *E. coli* BL21(DE3)\n2. Expression: His6-SUMO fusion, IPTG induction, Ni-NTA purification\n3. Binding assay: SPR (Biacore) or BLI (Octet) vs CD38 ECD (residues 43–300)\n4. Functional assay: NAD⁺ glycohydrolase inhibition (fluorometric, ε-NAD substrate)\n5. Selectivity panel: BST1 SPR/BLI, SARM1 enzyme inhibition\n\n### Affinity benchmark\n- Daratumumab KD: ~5 nM (SPR, IgG anti-CD38 antibody, literature reference)\n- Target for de novo binder: KD < 100 nM (20× above daratumumab is acceptable for a first-pass miniprotein)\n- Stretch goal: KD < 10 nM with confirmed competitive NADase inhibition",
          "cell_id": "c-f600d8ce",
          "outputs": [],
          "cell_hash": "sha256:532388f0d04ee40f2ceef9e58ebe625363d5b8d6032f9bd5247f44ef2de47bce",
          "cell_type": "markdown",
          "execution_count": null
        }
      ],
      "metadata": {},
      "owner_ref": "persona-kris-ganjam",
      "created_by": "persona-kris-ganjam"
    }