Skip to main content

A kinetic model of CRISPR-Cas target recognition.

Project description

CRISPRzip

License: MIT Test Status

Welcome to the codebase of CRISPRzip from the Depken Lab at TU Delft.

About the project

Activity prediction with CRISPRzip

CRISPRzip is a physics-based model to study the target recognition dynamics of CRISPR-associated nucleases like Cas9 [1]. Their interactions with target DNA is represented as an energy landscape, with which you can simulate binding and cleavage kinetics. The parameters have been obtained by machine learning on high-throughput data (see [1]). CRISPRzip makes quantitative predictions of on-target efficiency and off-target risks of different guide RNAs.

With CRISPRzip, we hope to contribute to assessing the risks that come with particular choices in CRISPR application, and as such contribute to the development of safe gene editing technology.

References

  1. Eslami-Mossallam B et al. (2022) A kinetic model predicts SpCas9 activity, improves off-target classification, and reveals the physical basis of targeting fidelity. Nature Communications. 10.1038/s41467-022-28994-2

Installation

CRISPRzip is on PyPi and can be installed with pip.

pip install crisprzip

Usage

CRISPRzip makes predictions about cleavage and binding activity on on- and off-targets. First, you define the protospacer and target sequence, and then, you can predict the fraction cleaved or bound.

# 1. load parameter set
import json
with open('data/landscapes/sequence_params.json', 'r') as file:
    sequence_params = json.load(file)['param_values']

# 2. define Cas9, gRNA and DNA target
from crisprzip.kinetics import *
searchertargetcomplex = SearcherSequenceComplex(
    protospacer = "AGACGCATAAAGATGAGACGCTGG",
    target_seq  = "AGACCCATTAAGATGAGACGCGGG",  # A13T G17C
    **sequence_params
)

# 3. predict activity
f_clv = searchertargetcomplex.get_cleaved_fraction(
    time=600, # 10 minutes
    on_rate=1E-1
)
f_bnd = searchertargetcomplex.get_bound_fraction(
    time=600, # 10 minutes
    on_rate=1E-1
)

# 4. format output
print(f"After 10 minutes, the target (A13T G17C) is ...")
print(f"- cleaved for {100*f_clv:.1f}% by Cas9")
print(f"    or  ")
print(f"- bound for {100*f_bnd:.1f}% by dCas9")

Output:

After 10 minutes, the target (A13T G17C) is ...
- cleaved for 10.5% by Cas9
    or  
- bound for 94.2% by dCas9

See the tutorial or the docs for more examples how to explore sequence, time and concentration dependency.

Contributing

We encourage contributions in any form - reporting bugs, suggesting features, drafting code changes. Read our Contributing guidelines and our Code of Conduct.

Waiver

Technische Universiteit Delft hereby disclaims all copyright interest in the program “CRISPRzip” (a physics-based CRISPR activity predictor) written by the Author(s). Paulien Herder, Dean of Applied Sciences

(c) 2024, Hidde Offerhaus, Delft, The Netherlands.

Project details


Download files

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

Source Distribution

crisprzip-1.0.1.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

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

crisprzip-1.0.1-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file crisprzip-1.0.1.tar.gz.

File metadata

  • Download URL: crisprzip-1.0.1.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for crisprzip-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a983c216f23ef8c74116c0b954c0e82e451e0f555bbc1946dbb9753a4ba7f835
MD5 f8f7cad9cc5941e27c34f39e83953ebb
BLAKE2b-256 3ed3367610c015c927b7c8cc3edc92c566abc05d9d9cc23d222985b20eb11f01

See more details on using hashes here.

File details

Details for the file crisprzip-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: crisprzip-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for crisprzip-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1cc13362c0c975323df64509bb45b698c90d4f01101dce5660823c27e055f37f
MD5 8a06a9ddce270fcd88cfa3cd563dfa61
BLAKE2b-256 098582e345843c696c623166727ff3245323972bb751c818a469fa4165dc0a22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page