Endogenous Deep Mutational Scans (EDMS)
Command Line Interface
edms -h # or edms <TAB>
Library Design Pipelines
Two commands chain a whole library design together instead of running each step by hand.
Both take --query (pandas query strings, applied in order) and --drop_duplicates to filter
the designer output, and --signature_query / --signature_drop_duplicates to filter again on
the signature columns (difference_count, SNV_count, ...).
edms pe pipeline — pooled epegRNA libraries
prime_designer -> filter -> pegRNA_signature -> filter -> epegRNA_linkers -> epegRNA_pool
epegRNA_linkers is the slow step, so it is fanned out across --linker_jobs SLURM scripts
rather than run inline. That splits the command into two stages:
# 1. Design, filter, and write out_dir/linkers/{chunk_N.sh, pool.sh, submit.sh}
edms pe pipeline --stage design -n FOXA1 -f5 ... -t ... -f3 ... -x 168 \
-sm aa_silent -plp 11 -npe 20 -nng 1 \
-q "Reference_sequence.str.contains('ACGTTCAAGCGCAGCTACCCG')" \
-dd Edit -C spMUZ88_spMUZ89 -sq "difference_count == 1" \
-j 10 -bval "FOXA1[DBD]" -o ./pe_pipeline
# 2. On the cluster: submits every chunk, then chains --stage pool behind them (afterok)
cd pe_pipeline/linkers && bash submit.sh
--stage pool reads its settings back from out_dir/.pe_pipeline.json, so nothing has to be
retyped; --stage all runs everything in one process with serial linkers (small libraries only).
edms dms pipeline — pooled DMS libraries
dms_designer -> filter -> dms_signature -> filter -> dms_pool, all in one process.
edms dms pipeline -n FOXA1 -f5 ... -t ... -f3 ... -x 168 \
-sm aa -s 2 -smode barcode -C spMUZ88_spMUZ89 \
-q "Edit_type == 'substitution'" -dd Edit -sq "difference_count == 3" \
-fht5v FOXA1-S165 -rht3v FOXA1-P205 -o ./dms_pipeline
dms_pool is skipped (with the command to run later) unless both homology values are given.
Package Organization
- gen: input/output, data wrangling, generating plots, and statistics.
import edms.gen.com as com import edms.gen.html as ht import edms.gen.image as im import edms.gen.io as io import edms.gen.plot as p import edms.gen.stat as st import edms.gen.tidy as t
- bio: molecular biology & tissue culture workflows.
import edms.bio.clone as cl import edms.bio.dms as dms import edms.bio.fastq as fq import edms.bio.genbank as gb import edms.bio.ngs as ngs import edms.bio.pe as pe import edms.bio.pegLIT as pegLIT import edms.bio.primedesign as primedesign import edms.bio.qPCR as qPCR import edms.bio.sanger as sanger import edms.bio.signature as signature import edms.bio.transfect as tf
- data: interacting with databases.
import edms.data.cBioPortal as cBP import edms.data.cosmic as co import edms.data.cvar as cv import edms.data.pdb as pdb import edms.data.uniprot as uniprot
PyPI Instructions
Install
- Install edms from PyPI
pip install edms
- Check edms install
edms -h - Optional: Set up edms autocomplete
edms autocomplete # Follow CLI instructions
- Optional: edms fastq {extract_umis,trim_motifs,make_sams,make_bams,bam_umi_tags,group_umis,consensus_umis,bam_to_fastq} need umi_tools, cutadapt, samtools, bowtie2, and fgbio in a seperate environment
conda create -n umi_tools umi_tools cutadapt samtools bowtie2 fgbio
Update
- Update edms from PyPI
pip install --upgrade edms
GitHub Instructions
Install
- Download Anaconda:
- Download Git: https://github.com/git-guides/install-git
- Clone edms from github:
cd ~ mkdir git cd git git clone https://github.com/marczepeda/edms.git cd edms
- Make the environment and install edms:
conda env create -f edms.yml # When conda asks you to proceed, type "y" conda activate edms pip install -e . # Include the "." edms autocomplete # Optional: set up edms autocomplete; follow CLI instructions conda deactivate
- Optional: edms fastq {extract_umis,trim_motifs,make_sams,make_bams,bam_umi_tags,group_umis,consensus_umis,bam_to_fastq} need umi_tools, cutadapt, samtools, bowtie2, and fgbio in a seperate environment
conda create -n umi_tools umi_tools cutadapt samtools bowtie2 fgbio
Update
- Enter the environment and uninstall edms:
cd ~/git/edms conda activate edms pip uninstall -y edms rm -rf build/ dist/ *.egg-info
- Pull latest version from github and install edms:
git pull origin main pip install -e . # Include the "." conda deactivate
PE Strategies
| Strategy | Description | Reference |
|---|---|---|
| PE1 | Cas9(H840A) - M-MLV RT + pegRNA |
Search-and-replace genome editing without double-strand breaks or donor DNA |
| PE2 | Cas9(H840A) – M-MLV RT(D200N/L603W/T330P/T306K/W313F) + pegRNA |
Search-and-replace genome editing without double-strand breaks or donor DNA |
| PE3 | Cas9(H840A) – M-MLV RT(D200N/L603W/T330P/T306K/W313F) + ngRNA (targets non-edited strand) |
Search-and-replace genome editing without double-strand breaks or donor DNA |
| PE4 | Cas9(H840A) – M-MLV RT(D200N/L603W/T330P/T306K/W313F) + MLH1dn (MMR evasion) |
Enhanced prime editing systems by manipulating cellular determinants of editing outcomes |
| PE5 | Cas9(H840A) – M-MLV RT(D200N/L603W/T330P/T306K/W313F) + MLH1dn (MMR evasion) + ngRNA (targets non-edited strand) |
Enhanced prime editing systems by manipulating cellular determinants of editing outcomes |
| PE6a-d | Cas9(H840A) – ... PEa: ... - evo-Ec48 RT PEb: ... - evo-Tf1 RT PEc: ... - Tf1 RT variant PEd: ... - M-MLV RT variant |
Phage-assisted evolution and protein engineering yield compact, efficient prime editors |
| PE6e-f | Cas9(H840A) variants – ... M-MLV RT(ΔRNAseH) |
Phage-assisted evolution and protein engineering yield compact, efficient prime editors |
| PE7 | Cas9(H840A) – M-MLV RT(D200N/L603W/T330P/T306K/W313F) - La (RNA binding protein that stabilizes pegRNA) +/- ngRNA (targets non-edited strand) |
Improving prime editing with an endogenous small RNA-binding protein |
| PEmax | Mammalian codon-optimized PE | Enhanced prime editing systems by manipulating cellular determinants of editing outcomes |
| pegRNA | spacer - scaffold - RTT - PBS (makes the edit) | Search-and-replace genome editing without double-strand breaks or donor DNA |
| epegRNA | spacer - scaffold - RTT - PBS - linker - tevoPreQ (makes the edit; more stable pegRNA) | Engineered pegRNAs improve prime editing efficiency |
| ngRNA | spacer - scaffold (targets non-edited strand) | Search-and-replace genome editing without double-strand breaks or donor DNA |
| MLH1dn | Dominant negative MLH1 (MMR evasion) | Enhanced prime editing systems by manipulating cellular determinants of editing outcomes |
| silent mutations | Larger prime edits are more efficient through bypassing MMR | Enhanced prime editing systems by manipulating cellular determinants of editing outcomes |
| La | Small RNA binding protein that stabilizes pegRNA | Improving prime editing with an endogenous small RNA-binding protein |
| PE-eVLP | Engineered Virus-Like Particle for Prime Editors | Engineered virus-like particles for transient delivery of prime editor ribonucleoprotein complexes in vivo |
| dNTPs | HSCs have low dNTP levels, limiting reverse transcription | Enhancing prime editing in hematopoietic stem and progenitor cells by modulating nucleotide metabolism |
| Vpx | HSCs express SAMHD1 (triphosphohydrolase), which depletes dNTPs. Accessory lentiviral protein Vpx, encoded by HIV-2 and simian immunodeficiency viruses (SIVs), associates with the CRL4-DCAF1 E3 ubiquitin ligase to target SAMHD1 for proteasomal degradation. | Enhancing prime editing in hematopoietic stem and progenitor cells by modulating nucleotide metabolism |
| MLH-SB | Small protein binder that disrupts MLH1 & PMS2 binding (MMR evasion) | AI-generated small binder improves prime editing (Preprint) |
Metadata
Release files for edms 0.8.0.post0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| edms-0.8.0.post0.tar.gz | 12.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| edms-0.8.0.post0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.3 MB
Release files / edms-0.8.0.post0.tar.gz
| Download URL | edms-0.8.0.post0.tar.gz |
|---|---|
| Size | 12.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ae995ac550f5dde6beb108c4ddcf8e00f661554b36eb77ec91d7a08fc535a402
|
|
BLAKE2b-256 checksum How to use checksums |
1f0c435ac9ee06a41ec05df8f2a0299a7f0c4163176d3f8bdc77197dc7083ddb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / edms-0.8.0.post0-py3-none-any.whl
| Download URL | edms-0.8.0.post0-py3-none-any.whl |
|---|---|
| Size | 12.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46eaa6180008a70012a81e8da07d996eb6a343bfc41df0d201098fae18a77f32
|
|
BLAKE2b-256 checksum How to use checksums |
427392e00707af266efe0425de041c47049f0bfe9a29d917f72eaf1c56e8d447
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|