CRISPR as molecular debugging
CRISPR technology is transforming how we manipulate genes to understand their function. To explain CRISPR’s emerging role in genetic engineering, let’s use a metaphor from the world of software engineering. Suppose that a genome is like a massive codebase. There’s a bug somewhere in the codebase, and you need to figure out which line is the culprit. Until CRISPR, altering a particular line of code has been laborious, expensive, and error-prone. CRISPR gives researchers the ability to “comment out” a particular line of code with pinpoint accuracy.
Furthermore, imagine if you could generate thousands of copies of your program, comment out a different line of code in each copy, and then compile and run all of the copies in parallel to determine which copies are error-free. This hypothetical debugging is the essence of a CRISPR screen. It allows scientists to test the function of thousands of genes in a single, parallelized experiment.
Together with the accompanying video, I’ll explain how to start from a list of gene targets and finish with a ready-to-order library of oligos for your targeted CRISPR screen.
Designing a targeted CRISPR screen
CRISPR experiments have typically fallen into two camps: altering a single gene, or altering all genes¹ with a genome-wide² screen. The happy medium between these extremes is the targeted CRISPR screen, the focus of this article. A targeted CRISPR screen tests tens to thousands of genes at a time, often in a single flask, avoiding the cost and complexity of a genome-wide experiment. I have personally designed and executed more than a dozen targeted CRISPR screens. What follows are my recommendations for designing a targeted CRISPR screen. There are three steps:
- Choose your genes of interest
- Use Quilt to design cloning-ready oligos for your gRNA library
- Order your oligos from the appropriate source (I use Sigma and CustomArray)
The number of genes in your list (step 1), times the number of gRNAs per gene, dictates the total number of gRNAs in your screen and, in turn, how you design, order, and clone your gRNA library³. By way of example, suppose I wish to design a new therapy that targets G-Protein Coupled Receptors (GPCRs)4. Drawing from publicly available genome-wide CRISPR screen designs, I would select 6 gRNAs per gene (the number present in the Zhang Lab GeCKOv2 library), yielding thousands of gRNAs for my library. Therefore I would choose a chip-based cloning technique to create my targeted CRISPR screen.
The above video demonstrates the CRISPR design process. The steps shown in the video are as follows:
- Drag-and-drop my gene list into Quilt. Click on my gene list.
- Click Quilt > Match, for one-to-many matching (since there are many gRNAs for each gene)
- Select a “CRISPR Design” dataset as the right-hand dataset
- The quilted dataset you generated will have the gRNA oligos ready to be ordered for making your targeted CRISPR screen.
The CRISPR Design Datasets in Quilt are derived from genome-wide gRNA libraries from the leading CRISPR research labs in the world: the Lander Lab, Sabatini Lab, Weissman Lab, Yusa Lab, and Zhang Lab. Each lab has published papers on these screens, and open-sourced their CRISPR designs. To determine which CRISPR system is best for your application, see Joel McDade’s blog post on the topic.
Quilt-Matching my genes of interest to a CRISPR Design dataset provides me with a list of oligos that are ready to be ordered. These oligos can then be cloned into my lentiviral vector to generate a library of gRNA-containing viruses. See the Appendix for the molecular biology details to help you get started with that process.
I hope that this article serves as a helpful guide as you get started with CRISPR screening. In future articles I plan to cover topics such as cloning libraries, making lentivirus, and analyzing screen results.
If you have any questions or topic requests, just post them to the comments.
Update: We created a Universal Guide RNA designer so that you can easily enter gene names (or gene coordinates) and get guide RNAs.
Good luck, and keep going.
Appendix: Basic molecular biology of gRNA design and cloning
Plate-based cloning (hundreds of gRNAs)
If you are designing a screen with hundreds of gRNAs, I recommend ordering 24bp forward and reverse oligos, pre-mixed in a 96-well plate. (I’ve used Sigma’s pre-mix oligo plates at the 100uM synthesis scale for this). You can use annealed oligo cloning to anneal each forward/reverse oligo premix separately in plates. The next step is to pool all the annealed products together for a single ligation reaction into your cut lentiviral vector backbone. Important note: The sequence of the oligo overhangs (green in the diagram) depends on the the lentiviral vector that you choose. These overhangs are specific for the lentiviral vector found here, which is cut by the restriction enzyme BfuAI.
Chip-based cloning (thousands of gRNAs)
For anything more than a few hundred gRNAs, it’s best to use a chip-based approach and order a pool of 74mer oligos. I use CustomArray’s oligo pools at both the 12K and 92K oligo scale. Oligo pools can be PCR amplified with primers ArrayF and ArrayR5. PCR amplification achieves three things: a double-stranded product, longer overhangs, and increased oligo concentration. After PCR, you can use Gibson Assembly to clone into your cut vector.
Get Notified of Future Posts
One email per month. We never spam. One-click unsubscribe.
- No screen really covers all genes, as the total gene count—and even the very definition of “gene”—changes frequently.
- There are multiple tools for designing individual CRISPR guide RNAs (gRNAs), and there are publicly available, pre-cloned genome-wide gRNA libraries.
- If you have hundreds of total gRNAs, you’ll use plate-based cloning. Whereas if you have thousands of gRNAs, you’ll use chip-based cloning. See the Appendix for further details.
- Two out of the top five selling drugs in the US, Hydrocodone and Lisinopril, target GPCRs#, and there are 769 GPCR genes in the human genome according to the Human Protein Atlas.
- The supplemental data of Shalem et al. treats ArrayF and ArrayR in detail.