This tool is designed to assist researchers in the field of CRISPR gene editing by providing a powerful command-line utility for designing scrambled guide RNA sequences.
Scrambled Guide Design : Generate scrambled guide RNA sequences based on a given guide sequence.
Levenshtein Distance: Calculate the Levenshtein distance between input guide sequences and scrambled guides for assessing their similarity.
Incorporation with Off-Target Assessment Tool: (See Future Directions) - Plan to incorporate off-target nomination assessment.
This project serves as a valuable resource for optimizing gRNA design, enhancing the precision of CRISPR-based experiments.
Author: Ruifei Zhu
Project Origin: This project was initiated during my summer internship. While it hasn't reached its full potential yet, it represents a significant step towards efficient gRNA design. I would like to express my gratitude to my mentor, Wenwen H. from Excision, for her invaluable guidance and the original idea behind this project.
Design desired number of scrabled guides given a working guide sequence. Current scrambled guides can fulfill several features:
-
Same length and exactly same nucleotides composation(i.e. same count for each nuleotide) achieved by shuffling the given guide sequence.
-
Calculated the Levenshtein distance (pairwise distance) between input guide sequence and a scrambled guide.
-
Output desired number of scrambled guides considering the searching space(currently choose minimum between(all possible result, 1000) to save calculation time), and output desired number of scrambled guides with maximum Levenshtein distance between input guide sequence and the scrambled guide.
- Clone this repository to your working environment.
- Change the directory to
scrambled_guides_design
with both python and bash script within the same directory. - Simply run
run_scrambled_guides.sh
by:
./run_scrambled_guides.sh
This will prompt a require for the input: 1. a guide sequence(string contains case-insensitive "A,C,G,T"), and 2. a intager(number of scrambled guides you want). For example:
(base) ubuntu@ip-123:~/scrambled_guides_design$ ./run_scrambled_guides.sh
Enter the working guide sequence (A, C, G, T only): AAAACCCTTTGGG
Enter the number of output guide sequences: 5
After you giving the input correctly, this should print you disired number of guides out. For example:
Scrambled Guide Sequences:
Guide 1: GCTGTGAACAATC
Guide 2: CGGCTTGAAATAC
Guide 3: CTGTTGAGCACAA
Guide 4: TCTGAGACGACAT
Expand the tool's functionality by adding the ability to assess the scrambled guides for off-target nominations. This will allow users to generate scrambled guides with fewer off-target nominations, enhancing the precision of CRISPR gene editing experiments.