Skip to main content

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

  1. Install edms from PyPI
    pip install edms
    
  2. Check edms install
    edms -h
    
  3. Optional: Set up edms autocomplete
    edms autocomplete
    # Follow CLI instructions
    
  4. 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

  1. Update edms from PyPI
    pip install --upgrade edms
    

GitHub Instructions

Install

  1. Download Anaconda:
  2. Download Git: https://github.com/git-guides/install-git
  3. Clone edms from github:
    cd ~
    mkdir git
    cd git
    git clone https://github.com/marczepeda/edms.git
    cd edms 
    
  4. 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
    
  5. 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

  1. Enter the environment and uninstall edms:
    cd ~/git/edms
    conda activate edms
    pip uninstall -y edms
    rm -rf build/ dist/ *.egg-info
    
  2. 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.1.post0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for edms 0.8.1.post0
File Size Uploaded
edms-0.8.1.post0.tar.gz 12.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for edms 0.8.1.post0
File Interpreter ABI Platform
edms-0.8.1.post0-py3-none-any.whl Python 3 none any Details

Total release size: 24.3 MB

Release files / edms-0.8.1.post0.tar.gz

Download URL edms-0.8.1.post0.tar.gz
Size 12.2 MB
Tags Source
SHA-256 checksum
How to use checksums
74d643cea26590e4e090c7c3a0a01b2b69fbcbc0cddd3ce515a87e84bddc590e
BLAKE2b-256 checksum
How to use checksums
53f17e9a4a2cde8fcac7dabf87658a9107c934a8047ac438c90e0030c7137ca1
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.1.post0-py3-none-any.whl

Download URL edms-0.8.1.post0-py3-none-any.whl
Size 12.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
5fae7a8bf3fff74debb13e2d4b35134239f6fc53d1c84cfeef4a05d879b3618d
BLAKE2b-256 checksum
How to use checksums
27fdfacedf498e548637c3c1df5b8b5fe2e85a42243c50d053eaf3200fe534e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16
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