perturb-tools is an analysis framework for pooled CRISPR genome-editing screens. Thus far, development has focused on local (i.e., not genome-wide) tiling screens with specific phenotypic readouts though expansion of this scope is of interest.
Data Structure and Analysis Framework
import perturb_tools as pt
screen = pt.Screen(X)
Genome Editing Screen composed of: n_guides x n_conditions = 946 x 12
guides: 'barcode', 'barcode_id', 'experiment', 'sequence', 'target_id', 'pred_ABE_edit', 'pred_CBE_edit'
samples: 'condition', 'replicate'
samples_m: 'barcode_counts', 'unexpected_sequences'
samples_p: 'correlation'
layers: 'X_lognorm'
uns: 'run_info', 'poolq3', 'metadata', 'SampleBarcodeReadCounts', 'CommonSampleBarcodeReadCounts'
This format and organization of metadata surrounding a multidimensional experiment is inspired by AnnData, a useful solution for the analogous organization of single-cell data.
The three main components of this data strcuture:
-
screen.X(Numpy array) -
screen.samples(pandas DataFrame) of shape:[n_samples x sample_annotation] -
screen.guides(pandas DataFrame) of shape:[n_guides x guide_annotation]
See the tutorial for more information.
Installation
Install the development package:
# (1) clone this repository
git clone https://github.com/pinellolab/perturb-tools.git
# (2) install the local project in editable mode
cd ./perturb-tools; pip install -e .
General analysis Steps
- See tutorial which includes:
- API tutorial
- Normalization
- Arithmetic
- Calculating the mean, standard deviation, and log-fold change between/across replicates
- Correlation calculation
- Hit discovery (under development)
- Visualization (under development)
Items under consideration:
-
Sequence prediction of targeted base-edit
-
TF motif annotation
a. Occupancy of Cas9 for CRISPRi (and how this may disrupt a TF motif)
b. Putative creation / destruction of TF motifs upon predicted base-editing outcome
Release files for perturb-tools 0.3.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| perturb_tools-0.3.5.tar.gz | 38.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| perturb_tools-0.3.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 96.2 kB
Release files / perturb_tools-0.3.5.tar.gz
| Download URL | perturb_tools-0.3.5.tar.gz |
|---|---|
| Size | 38.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aac2c58e696fe915bcd3abb097085e42fda70ac7f7d62e69519c1e65e9a6bdb7
|
|
BLAKE2b-256 checksum How to use checksums |
4d175af26f25a6858608ac48bb6b2ca23f1881177b87b6ae4ed78675a257afd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.4
|
Release files / perturb_tools-0.3.5-py3-none-any.whl
| Download URL | perturb_tools-0.3.5-py3-none-any.whl |
|---|---|
| Size | 57.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed3e7509c7bea20edda56ef9d158073f2f21d7938bfc92a2bcf39915bc0f95eb
|
|
BLAKE2b-256 checksum How to use checksums |
d6c6ebcaa3c7d42a7c8cf16bc229d2b14d26dfe2dfb6a58f49a9ef7bcfa6e70e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.4
|