Skip to main content

Modular prediction of off-target effects for CRISPR/Cas9 system

Project description

License: GUN

Introduction of MOFF

                            # # # # #   # # # #   # # # #  # # # # 
                            #   #   #   #     #   #        #       
                            #   #   #   #     #   # # # #  # # # #    
                            #   #   #   #     #   #        #          
                            #   #   #   # # # #   #        #          


Hi,My name is MOFF, I was designed to predict off-target effects for CRISPR/Cas9! 

I have three major functions: 1). Predict off-target effects for any given gRNA-target pair.
                              2). Predict genome-wide off-target effects for any sgRNA.
                              3). Select best sgRNAs for allele-specific knockout.


Hope you enjoy playing with me ^o^!

Any questions or bugs, please concat through hwkobe.1027@gmail.com or whe3@mdanderson.org

How to install MOFF

Note: MOFF is written in Python,Python>=3.4 is needed

Step1: Install Anaconda (highly recomended)

wget https://repo.continuum.io/archive/Anaconda2-2018.12-Linux-x86_64.sh 
bash Anaconda2-2018.12-Linux-x86_64.sh 

Step2: Install required python packages

pip install matplotlib==2.2.3 pandas sklearn numpy seaborn

Step3: Install MOFF through pip

pip install MOFF

Step4: OR you can install MOFF through git clone

git clone https://github.com/MDhewei/MOFF.git
cd MOFF
python setup.py install

How to use MOFF

1. MOFF score: Predict off-target effects for given gRNA-target pairs

Inputs for MOFF score

MOFFscore require user to provide .csv or .txt file containing sgRNA sequences and corresponding DNA target sequences.One gRNA(20bp+PAM) and one target(20bp+PAM) per line. Note that MOFF is designed for mismatch-only off-target prediction, not for indel mutations. See example file here

 Arguments of the program:

 -i/--inputfile (required): 
 Input files containing sgRNA sequences and corresponding DNA target sequences.

 -p/--prefix (Optional): 
 Prefix of the file to save the outputs,default: ScoreTest.

 -o/--outputdir (Optional): 
 Directory to save output files,if no directory is given a folder named MOFF_scores
 will be generated in current working directory.

Example to run MOFFscore

MOFF score -i MOFFscore_test.txt

Columns of Output table

- crRNA: the sgRNAs designed to target specific DNA sequence
- DNA: the DNA sequence of the off-target site 
- MDE: predicted mismatch-dependent off-target effect 
- CE:  predicted combinatorial effect
- MMs: the number of mismatches between sgRNA and off-target
- GMT: predicted guide-intrinsic mismatch tolerence 
- MOFF: the final MOFF score predicted for given gRNA-target pair

2. MOFF aggregate: Predict the genome-wide off-target effects for given sgRNAs

MOFF aggregation can directly take the outputs of CRISPRitz as inputs. Besides, output table files generated by any genome-wide off-target searching methods such as Cas-OFFinder and RIsearch2 (v2.1) are supported in theory, but the columns of outputs for different methods are different, thus it is required to modify the column name of sgRNA(20bp+PAM) and target(20bp+PAM) to 'crRNA' and 'DNA' respectively. Note that MOFF only support mismatch-only off-target predictions, indel mutations are not applicable.File formats including .csv and .txt are accepted. See example File here.

 Arguments of the program:

 -i/--inputfile (required): 
 Input files containing all the potneital off-target sites in the genome for given sgRNA(s)

 -p/--prefix (Optional): 
 Prefix of the file to save the outputs,default: AggregationTest.

 -o/--outputdir (Optional): 
 Directory to save output files,if no directory is given a folder named MOFF_aggregation
 will be generated in current working directory.

Example to run MOFF aggregate

MOFF aggregate -i MOFFaggregation_test.txt

Columns of Output table

- sgRNA: the sgRNAs selected to predict genome-wide off-target
- MDE.sum: aggregated mismatch-dependent off-target effect 
- GMT.sum: aggregated guide-intrinsic mismatch tolerence 
- MOFF.sum: aggregated MOFF score for specific sgRNA

3. MOFF allele: Predict the genome-wide off-target effects for given sgRNAs

MOFF allele require the users to input local DNA sequences of wild-type allele and mutant allele. Two DNA sequence should be of same length. There should be at least one hit of 20bp+PAM(NGG) in the DNA sequence to be knockout and the mutation point should be included within the hit. If you want to design sgRNA specifically target WT allele, you just input DNA sequence of WT as mutant and mutant sequence as wildtype.

 Arguments of the program:

 -m MUTANT, --mutant MUTANT
            Local DNA sequence of mutant allele, at least one hit of 20bp(mutation sites included)
            followed by PAM (NGG) should be included, if more than one hits found, MOFF will
            design sgRNAs based on all possible PAMs.

 -w WILDTYPE, --wildtype WILDTYPE
              Local DNA sequence of wild type allele paired with the mutant allele,which should be
              the same length of the mutant allele DNA sequence.

 -p PREFIX, --prefix PREFIX
            Prefix of the file to save the outputs, default: AlleleTest.

 -o OUTPUTDIR, --outputdir OUTPUTDIR
                Directory to save output files,if no directory is given, a output folder named
                MOFF_aggregation will be generated in current working directory.

Example to run MOFF allele

For example two mutant for DNMT3a:
ACTGACGTCTCCAACATGAGC|CGC|TTGGCGAGGCAGAGACTGCT (WT)
ACTGACGTCTCCAACATGAGC|tGC|TTGGCGAGGCAGAGACTGCT (R882C)
ACTGACGTCTCCAACATGAGC|CaC|TTGGCGAGGCAGAGACTGCT (R882H)

1). To knockout R882C allele
MOFF allele -m ACTGACGTCTCCAACATGAGCTGCTTGGCGAGGCAGAGACTGCT -w ACTGACGTCTCCAACATGAGCCGCTTGGCGAGGCAGAGACTGCT -p R882C

2) To knockout R882H allele
MOFF allele -m ACTGACGTCTCCAACATGAGCCCACTTGGCGAGGCAGAGACTGCT -w ACTGACGTCTCCAACATGAGCCGCTTGGCGAGGCAGAGACTGCT -p R882H

3) To knockout WT in R882C cell
MOFF allele -m ACTGACGTCTCCAACATGAGCCGCTTGGCGAGGCAGAGACTGCT -w ACTGACGTCTCCAACATGAGCTGCTTGGCGAGGCAGAGACTGCT -p WT

4) To knockout WT in R882H cell

2). To knockout R882H allele
MOFF allele -m ACTGACGTCTCCAACATGAGCCCACTTGGCGAGGCAGAGACTGCT -w ACTGACGTCTCCAACATGAGCCGCTTGGCGAGGCAGAGACTGCT -p R882H

3). To knockout WT in R882C cell
MOFF allele -m ACTGACGTCTCCAACATGAGCCGCTTGGCGAGGCAGAGACTGCT -w ACTGACGTCTCCAACATGAGCTGCTTGGCGAGGCAGAGACTGCT -p WT

4). To knockout WT in R882H cell

MOFF allele -m ACTGACGTCTCCAACATGAGCCGCTTGGCGAGGCAGAGACTGCT -w ACTGACGTCTCCAACATGAGCCCACTTGGCGAGGCAGAGACTGCT -p WT

Columns of Output table

- sgRNA: all the possible sgRNAs selected for allele-specific knockouts
- DNA_KO: DNA target of allele you want to knockout, usually it is the mutant allele
- DNA_NA: DNA target of allele you want to keep, usually it is the wild-type allele
- MOFF_KO: the predicted MOFF score to target the DNA-KO.
- MOFF_NA: the predicted MOFF score to target the DNA-NA.

It is practical to select sgRNA with high MOFF score to knockout allele but low MOFF score of non-knockout allele, so that sgRNA can specifically knockout the desried allele.

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

MOFF-1.2.2.tar.gz (23.4 kB view details)

Uploaded Source

Built Distributions

MOFF-1.2.2-py3.7.egg (31.2 kB view details)

Uploaded Source

MOFF-1.2.2-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file MOFF-1.2.2.tar.gz.

File metadata

  • Download URL: MOFF-1.2.2.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.5.0.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.4

File hashes

Hashes for MOFF-1.2.2.tar.gz
Algorithm Hash digest
SHA256 f9cbccb35b55bbb4f3e999321452daa897bba4d6ce9fafb2abbdf2c4588e8391
MD5 604fa73590de15c844537749b0f4a816
BLAKE2b-256 6b1462fa105f3f0e3198ded421d10015143d28fd784e1c5ce7cc6176b8295782

See more details on using hashes here.

File details

Details for the file MOFF-1.2.2-py3.7.egg.

File metadata

  • Download URL: MOFF-1.2.2-py3.7.egg
  • Upload date:
  • Size: 31.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.5.0.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.4

File hashes

Hashes for MOFF-1.2.2-py3.7.egg
Algorithm Hash digest
SHA256 9d47e97c4a6c7b13a30bc71aff7b2095cda1a503f5be99a7d98e89c751f57abd
MD5 ac0ab9ec8a7ad409226e79fa46c6e026
BLAKE2b-256 4d99204492bc32a0ced28daa7e23230f056b39d1a60829b5e6468b583ca71d6a

See more details on using hashes here.

File details

Details for the file MOFF-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: MOFF-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 36.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.5.0.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.4

File hashes

Hashes for MOFF-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0c006b3a561b7dc34c1c1f758b02e47bda8dbf9f4392e0f67b97602fb26800ca
MD5 6b08c5955567f14d7cc49a6dddab51b1
BLAKE2b-256 ad9a74831795b007d8ab2e972b8c2959c76f3cb83735faea8b82a0779325c19a

See more details on using hashes here.

Supported by

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