primeforge
Prime editing design SDK: modern C++ core + thin Python API, with deterministic pegRNA / nicking-guide enumeration for PE2/PE3 and batch-friendly data models. v0.1 is CPU-first and pure logic; CUDA backends are available for high-throughput PAM scanning and will later host thermodynamics/ML scoring.
Status
- Core C++ library with explicit edit model (subs/ins/del), strand-aware design, PBS/RTT heuristics, and optional PE3 companion guides.
- Python bindings and dataclasses mirror the C++ API.
- CUDA PAM scanner available (opt-in); benchmarks included. Scoring/thermo GPU kernels come next.
Build (C++)
cmake -S . -B build -DPRIMEFORGE_ENABLE_CUDA=OFF
cmake --build build
ctest --test-dir build # runs C++ (and Python if bindings + pytest present)
Python (dev)
pip install -r python/requirements-dev.txt
# build/install once bindings are implemented
# from repo root:
# cmake -S . -B build -DPRIMEFORGE_BUILD_PYTHON=ON -DPRIMEFORGE_ENABLE_CUDA=OFF
# cmake --build build
# pytest python/tests (PYTHONPATH=build:$PYTHONPATH)
Benchmarks (optional)
PAM scan throughput (CPU by default, set DEVICE=cuda when built with CUDA):
cmake -S . -B build -DPRIMEFORGE_BUILD_BENCHMARKS=ON -DPRIMEFORGE_ENABLE_CUDA=OFF
cmake --build build --target bench_pam
./build/primeforge-core/benchmarks/bench_pam 5000000 NGG 3 # args: length motif iterations (first is warm-up)
# With CUDA (example for GTX 1060, compute 6.1):
# CUDACXX=/usr/bin/nvcc cmake -S . -B build -DPRIMEFORGE_ENABLE_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=61 -DPRIMEFORGE_BUILD_BENCHMARKS=ON
# cmake --build build
# DEVICE=cuda ./build/primeforge-core/benchmarks/bench_pam 5000000 NGG 3
# Recent run (GTX 1060, NGG, 5 Mb): CPU ~12 Mb/s, CUDA ~19 Mb/s (post warm-up)
To gate benchmarks in CI: add -DPRIMEFORGE_RUN_BENCH=ON (requires CUDA build) and ctest will run a short CUDA PAM check.
Features (v0.1)
- Typed edit specs (substitution/insertion/deletion) with strand awareness.
- pegRNA assembly: spacer, PAM cut logic, PBS/RTT enumeration, GC heuristics, distance flags.
- Optional PE3 companion nicking guide selection with configurable PAM motifs.
- Batch APIs for large edit sets; zero I/O in the core.
- CUDA hook points for PAM scanning (present) and future scoring/thermo kernels.
Roadmap
- GPU-optimized thermodynamics + secondary-structure heuristics.
- Plug-in scoring interface (EasyPrime/OPED/etc.).
- Library-scale workflows and genome-provider abstractions.
Design goals
- Explicit edit model (subs/ins/del) instead of magic strings.
- pegRNA anatomy first-class: spacer, PBS, RTT, nicking guides.
- Deterministic rule-based design; ML hooks added without entangling the core.
- Library-scale batch APIs; zero I/O in the C++ core.
CUDA roadmap (high level)
- GPU PAM scanning for genome-scale sweeps.
- Batched thermo/secondary-structure heuristics and ML scoring.
- Variant-aware masking for personalized genomes.
See docs/design_rules.md for the rule set and docs/api.md for the API sketch.
Metadata
Release files for primeedit 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| primeedit-0.1.0.tar.gz | 5.9 kB | With provenance | Details for primeedit-0.1.0.tar.gz |
Release files / primeedit-0.1.0.tar.gz
| Download URL | primeedit-0.1.0.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
15cf18f1879db0226d3852429b85143844729e555bc91af12b1b388d91da9094
|
|
BLAKE2b-256 checksum How to use checksums |
87746c1a4a58321713ca79027de2c9951eaa08152ab5030afe511349409ab1bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 30, 2025.
Transparency logSecurity for primeedit 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 1 file in this release has been uploaded with provenance metadata.
Attestation for primeedit-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 30, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.