Skip to main content

GRASP Library Designer

Codon-optimize GRASP (Farley et al., NAR 2025) binder DNA for Golden Gate assembly.

PyPI: grasp-library-designer · Import: grasp_library


Open in Google Colab

Click a badge → run 0 · Install (PyPI) → fill the forms top to bottom. No GitHub token needed.

Notebook Open
One-shot (one RNA → Golden Gate oligos for the binder gene) Open In Colab
Library (42-module redesign → GAP compile) Open In Colab

Direct links:

Each notebook installs with:

%pip install -q -U "grasp-library-designer>=0.1.15"

Bundled GenBank modules, Potapov ligase-only matrices, and Pryor Golden Gate cycling matrices ship inside the package (materialize_project()).


Install locally

pip install grasp-library-designer
# optional notebook extras
pip install "grasp-library-designer[notebook]"
from grasp_library import materialize_project, build_default_config, LigationFidelityCalculator

project = materialize_project()  # ./grasp_library_project + GenBank
config = build_default_config(project / "input")
print(LigationFidelityCalculator(25, 18).set_fidelity(["AATG", "GATA"]))

From a blank Colab / Jupyter, you can also drop the Forms notebooks onto disk:

%pip install -q -U grasp-library-designer
from grasp_library import write_notebook
write_notebook("oneshot")   # or "library"
# then open the written .ipynb from the file browser

What each notebook does

Notebook Purpose
grasp_oneshot_designer.ipynb One target RNA → binder protein → joint Golden Gate gene design (cuts, overhangs, sequence) → orderable oligos
grasp_library_designer.ipynb Redesign / anneal the 42-module combinatorial library, then GAP-compile a target

One-shot does not emit combinatorial library modules. It builds an ORF that starts with ATG-Met, then the native solvating helix and PPR repeats, co-designs codon-aligned cut sites, high-fidelity 4-nt overhangs, and a synonymous CDS (codon optimality, cut-site depletion, synthesis heuristics), then wraps each fragment with inward-facing Type IIS arms and destination sticky ends. Design also writes a multi-record .gb (assembled ORF, ligated insert with destination overhangs, and each order oligo) labelled with CDS, PPR repeats, 4-nt overhangs, Type IIS cut sites, and the shared pool PCR primers.

Hard constraints (library path): the protein sequence is fixed and every movable four-base cut is restricted to the invariant ARELF motif. The search explores all motif-relative offsets 0–11 rather than only the four cut positions chosen in the paper. A candidate is therefore an (overhang, ARELF offset) pair, and each part is rematerialized before codon optimization. Objectives are ligation fidelity, codon optimality, and synthesis fitness.

Ligation fidelity is reported per physical six-overhang Level 0 reaction (and optionally as an explicitly labelled product across independently transformed blocks). The scalar is the orientation-invariant geometric mean of the two directional products. Stage-matched Pryor et al. 37↔16 °C Golden Gate cycling matrices are used by default: BsaI-HFv2 for Levels −1 and 1, and BbsI-HF (BpiI isoschizomer) for Level 0 redesign scoring. Potapov’s ligase-only data remain available as optional Level 0 surrogates; they contain no measured 16 °C matrix, so the program does not interpolate or blend static temperature matrices. These scores are optimization surrogates, not cloning guarantees. Synthesis QC distinguishes PASS, WARNING, and FAIL; vendor profiles remain transparent heuristics with vendor_acceptance_confirmed=False.

The order file contains double-stranded synthesis fragments with paired, inward-facing BsaI sites. The dashboard exposes exactly one physical 5′/3′ overhang pair for each cloning level. Every overhang is written 5′→3′. The deposited GRASP toolbox defaults are:

  • Level −1: ACAT / ACAA.
  • Level 0: CTCA / CTCG.
  • Level 1: GGAG / AGCG.

The 3′ sticky ends are reverse-complemented internally when constructing the coding-oriented sequence. Thus the retained 3′ coding sites are TTGT, CGAG, and CGCT, respectively. Internal five-part and ARELF junctions are derived from the GRASP architecture rather than presented as extra dashboard overhang fields. When no custom acceptor sequence is provided, the exporter validates interface requirements but does not claim backbone simulation.

The exported GRASP tract is a PPR block set, not a standalone expression plasmid. The PPR block-chain check does not validate an entire Level 1 expression construct; promoter, upstream domain, effector, terminator, and acceptor context must be supplied separately.

For 14S and 19S, intermediate junctions are generated inside the invariant ARELF motif. They are architecture-derived and can be explored by the overhang redesign search without adding more dashboard fields.


Develop from source

git clone https://github.com/JustABiologist/grasp-library-designer.git
cd grasp-library-designer
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[notebook,dev]"

Package layout

grasp_library/                 # installable Python package
  data/profiles/.../genbank/   # bundled GRASP GenBank modules
  notebooks/                   # Colab Forms notebooks (also at repo root)
  paths.py                     # materialize_project()
  ...
third_party/dawdlib_golden_gate/   # Potapov ligation fidelity (AGPL)

License

AGPL-3.0 (required by the vendored GGAssembler / dawdlib ligation engine). See LICENSE and THIRD_PARTY_LICENSES.md.

GRASP sequences: Farley et al., Nucleic Acids Res. 2025.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grasp_library_designer-0.1.15.tar.gz (299.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grasp_library_designer-0.1.15-py3-none-any.whl (370.5 kB view details)

Uploaded Python 3

File details

Details for the file grasp_library_designer-0.1.15.tar.gz.

File metadata

  • Download URL: grasp_library_designer-0.1.15.tar.gz
  • Upload date:
  • Size: 299.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.2

File hashes

Hashes for grasp_library_designer-0.1.15.tar.gz
Algorithm Hash digest
SHA256 6b781739851c2fb40a0bf7ca08766ca028dabb7e33968be52925d4c05f360d31
MD5 7fa9074517da8128ea84274e1b35a1c4
BLAKE2b-256 7b33a972eb60c1b7130e41631ba7dd352ff6cc78e104a14a10c2620ae01a375d

See more details on using hashes here.

File details

Details for the file grasp_library_designer-0.1.15-py3-none-any.whl.

File metadata

File hashes

Hashes for grasp_library_designer-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 dd5f1b8262630a70a431011f247462eb0cd9de169e4337c3cb43663c4c750f77
MD5 22050e9ac7129c4de1a2f9ab3582044b
BLAKE2b-256 efc3ad2b927ec63a8fbdf555fca5deee2900ea01af7dbc7d5ac22c059658fbb5

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.15 This release

2 files

0.1.14

2 files

0.1.13

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page