# Computational Tools and Resources Supporting CRISPR-Cas Experiments
## 1 Introduction  
The CRISPR-Cas (clustered regularly interspaced short palindromic repeats-CRISPR-associated protein) system has become a cutting edge technology that has revolutionized the field of genome engineering. The use of Cas9 nuclease is currently the method of choice in most tasks requiring a specific DNA cleavage due to its low cost, relative ease of use and straightforward applications. In its natural context, the CRISPR-Cas9 system builds an anti-mobile genetic element adaptive immunity of bacteria and archaea. It stores the record of, e.g., viral infections in the prokaryotic genome in the form of CRISPR arrays composed of acquired fragments of viral DNA (called spacers) separated by palindromic repeats. Transcription of the array and subsequent processing of the transcript leads to formation of a CRISPR-associated RNA (crRNA) or, simply, guide RNA (gRNA). Its distinguishing feature is a strict complementarity of its part containing the spacer to the original fragment of the viral genome (protospacer). crRNA annals to the separately transcribed trans-activating crRNA (tracrRNA) and then forms a ribonucleoprotein complex (RNP complex) with the Cas nuclease. The crRNA guides the complex to any complementary sequence with a directly adjacent trinucleotide protospacer-adjacent motif (PAM, NGG in case of SpCas9) in the genome of an invading element. PAM is located directly downstream of the protospacer and plays a critical role in the process of self vs. non-self discriminationpreventing autoimmune response. Subsequently, the Cas9 nuclease introduces a double-strand break (DSB) 3 bp upstream of the PAM, leading to inactivation of an invader [1]. To simplify the system in the laboratory setting, a chimeric RNA molecule containing crRNA and tracrRNA, which is transcribed as a single guide RNA (sgRNA), is commonly applied [2]. Therefore, the basic version of the system requires only two components, namely, sgRNA and Cas9 nuclease, which both can be expressed from a single plasmid in cells to be edited. Alteration of the nucleotide composition of the gRNA allows the system to target virtually any sequence in the genome and specifically introduce a DSB [1]. The break is subsequently repaired either by nonhomologous end joining (NHEJ) or by homology-directed repair (HDR). The NHEJ pathway results in small insertions or deletions (indels) traditionally considered random, but recent evidence suggests that the outcomes are predictable to a certain extent [3; 4; 5; 6; 7]. This pathway is frequently utilized to induce frameshift mutations that lead, consequently, to the knockout (KO) of a gene. The HDR route requires a homologous repair template, either endogenous, such as a sister chromatid, or exogenous, in the form of plasmid or single-stranded oligodeoxyribonucleotide (ssODN), and leads to precise repair or modification, such as a point mutation or gene fragment insertion. As outlined above, the specificity of the system relies on the base pairing between the gRNA and the target sequence. The intrinsic problem of the system is, therefore, the off-target activity at _loci_ exhibiting only partial complementarity to the gRNA. Indeed, it has been demonstrated that even several mismatches can be tolerated at some _loci_, generating considerable nonspecific mutational activity [8; 9; 10; 11; 12]. Moreover, even in the case of perfect complementarity, the cleavage efficiency varies significantly across the genome [13; 14; 15; 16; 17; 18; 19]. An additional problem is that the most widely used nuclease from _Streptococcus pyogenes_ (SpCas9) also recognizes non-canonical PAMs such as NAG and NGA [10; 12]. Many modifications of the system have been developed to circumvent these problems, including the use of rationally engineered Cas9 nucleases, paired nickases (Cas9n), orthologous nucleases, different delivery modalities and inducible systems, but no approach to date has shown a complete absence of the off-target effect [20; 21; 22; 23; 24; 25; 26; 27; 28].