Skip to content

This app calculates possible restriction digests, given a plasmid sequence and the lab's enzyme inventory.

Notifications You must be signed in to change notification settings

amcrabtree/INdigestion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

INdigestion

This app calculates possible restriction digests, given a plasmid sequence and the lab's enzyme inventory.

The web app is now available! See https://indigestion.streamlit.app/

Install

This script requires Python 3.10. To install libraries, run:

pip install -r requirements.txt

Run digest in web browser

streamlit run stream_digest.py

streamlit.png

Run digest on CLI

Minimum input, while specifying enzymes file. (if no -e provided, assumes it is ./test/my_enzymes.txt)

python3 INdigestion.py \
  -p ./test/test_plasmid.gb \
  -e ./test/my_enzymes.txt

Files Required for Program to Run:

  1. Annotated plasmid file. Must be in genbank, ape, or fasta format. Program will only process circular plasmids. GENE INSERT MUST BE ANNOTATED AS "GENE". This can be done using Ape (a plasmid editor) or a standard text editor. When the -i flag is selected, the program will select enzymes or enzyme pairs that cut at least once within the annotated gene.

  2. CSV with a list of your enzymes. If you store the file as "my_enzymes.csv" in the same folder as the script, you won't need to use the -e flag to specify where your enzyme file is located.

Program Input

  • Plasmid file – Genbank or fasta file containing plasmid sequence
  • Enzyme CSV file (“my_enzymes.csv”) – File contains the names of the enzymes you have on hand; update to match your stocks; doesn't need to be included in arguments unless you move it outside the file with the python script

CLI Examples

view all the options (“--help" = “-h”)

python INdigestion.py --help

Makes sure program is working right (“--test" = “-t”)

python INdigestion.py --test	

Output:

    ================================================================

            Displaying enzymes producing between 2 and 6 bands,
            with sizes between 500 nt and 4000 nt,
            with at least 100 nt gap between bands.

    ----------------------------------------------------------------
    Your plasmid: test_plasmid

    Invalid enzyme: 'BgIII'

    Bands from XbaI :                [3655, 3783]
    Bands from HindIII + XbaI :      [1068, 2715, 3655]
    Bands from HindIII + XmnI :      [932, 3085, 3421]
    Bands from EcoRV + XmnI :        [932, 1403, 1686, 3417]
    Bands from KpnI + XbaI :         [1351, 2432, 3655]
    Bands from KpnI + XmnI :         [932, 2802, 3704]
    Bands from SalI + XbaI :         [1083, 2700, 3655]
    Bands from SalI + XmnI :         [932, 3070, 3436]
    Bands from XbaI + XhoI :         [1089, 2694, 3655]
    Bands from XbaI + NcoI :         [819, 1054, 1910, 3655]
    Bands from XbaI + ClaI :         [1075, 2708, 3655]
    Bands from XbaI + NdeI :         [760, 3023, 3655]
    Bands from XhoI + XmnI :         [932, 3064, 3442]
    Bands from NcoI + XmnI :         [932, 1424, 1910, 3172]
    Bands from ClaI + XmnI :         [932, 3078, 3428]
    ----------------------------------------------------------------     

Digest must cut within an insert

python INdigestion.py \
  -p ./test/test_plasmid.gb \
  -i	

Digest must cut within insert and produce at least 4 bands

python INdigestion.py \
  -p ./test/test_plasmid.gb \
  -i \
  -n 4

References

About

This app calculates possible restriction digests, given a plasmid sequence and the lab's enzyme inventory.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages