syedislamuddin commited on
Commit
b200c9d
Β·
1 Parent(s): 3c29dba

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +134 -75
app.py CHANGED
@@ -223,7 +223,7 @@ def Chopchop(method,select_method):
223
  expander2.write("[ChopChop Paper](https://academic.oup.com/nar/article/47/W1/W171/5491735)")
224
 
225
 
226
- expander3 = st.expander("Tool Options: All you can do with this tools")
227
 
228
  expander3.write(
229
  """
@@ -330,53 +330,79 @@ def Guidescan2(method,select_method):
330
  st.header("Guidescan2: "+method)
331
  #st.markdown("**Summary**")
332
  expander = st.expander("Summary")
333
- expander.markdown("GuideScan2 employes Cas9 (tracrRNA and crRNA) and Cas12a, previously known as cpf1, (requires only crRNA) for sgRNA design for 8 organisms. It is a memory efficient and improved version of GuideScan that enables construction of high-specificity gRNA databases with reduced off-target effects.")
334
  expander.markdown("CRISPR-Cas9 targets a 20-nucleotide spacer sequence at the end of the gRNA that is complementary to a DNA protospacer sequence followed immediately at the 3’ end by a PAM of the form NGG (more efficient targeting) or NAG (less efficient); here N stands for a β€˜wildcard’, i.e. can match any nucleotide. Other natural and engineered CRISPR-Cas systems can **vary in PAM sequence, PAM position with respect to the protospacer sequence, and requirements on the level of similarity between gRNA and the target.**")
335
  expander.markdown("Given a genomic region, the task of gRNA design is to find gRNAs that can target anywhere in that region. Many potential gRNAs can target at multiple locations in the genome with varying efficiency. Typically a gRNA is designed to target a particular location with **perfect complementarity** with all other targets of this gRNA are being **off-targets**. **Goal** of gRNA design is typically to **maximize gRNA efficiency at the primary target site while minimizing off-targeting.**")
336
  expander.markdown("Variants and extensions of the gRNA design task include: paired gRNA design to select two gRNAs targeting flanking sites of a genomic region of interest; saturation experiment design to exhaustively select all gRNAs expected to target a selected region of interest; and library design to select a small number of the most effective gRNAs for each of hundreds or thousands of regions of interest.")
337
  expander1 = st.expander("How it works")
338
- expander1.markdown('How it works')
339
  expander1.write(
340
  """
341
- - Input: Line delimited Genomic intervals (or DNA sequence) as a text file in the webapp **[here](https://guidescan.com/)** in the following format (of genomic range 30bp, 40bp etc):
342
- - Line1: chr10:11676698-11676728
343
- - Line2: chr1:152220435-152220465
344
- - and so on
 
 
 
 
 
 
 
 
345
  """
346
  )
347
- expander1.markdown("- Output: A csv file containing all gRNAs within the genomic regions provided in the input file")
348
- expander1.markdown("- **Columns of interest**: Cutting efficiency (**Higher the better**), Specificity (**Higher the better**) [Ref](https://www.biorxiv.org/content/10.1101/2022.05.02.490368v1.full.pdf)")
349
 
350
  expander2 = st.expander("References")
351
 
352
  expander2.write("[GuideScan2 Web App](https://guidescan.com)")
353
  expander2.write("[GuideScan2 Paper](https://www.biorxiv.org/content/10.1101/2022.05.02.490368v1)")
354
 
355
- expander3 = st.expander("Tool Options: All you can do with this tools")
356
 
357
  expander3.write(
358
  """
359
- - This tool offers sgRNA design for:
360
- - **CRISPR/Cas9**
361
- - **CRISPR/Cpf1**
362
- - **Please note that this tool work best for genomic intervals >30bp.**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
363
  """
364
  )
365
-
 
366
  expander4 = st.expander("Scoring")
367
  expander4.markdown(
368
  """
369
- **Efficiency:** Rule Set 2
370
  - sgRNAs were filtered out with cutting efficiency less than 0.25 or specificity less than 0.20
371
- - Selected six gRNAs for each gene. For genes with more than siz sgRNAs, Ranked Genes and (selected six genes)
372
- - ranked gRNAs for each gene using a simple score that balances maximizing the gRNA specificity and cutting efficiency.
373
- - nucleotide at the 5’ end of gRNA (called g) is replaced with a G (called g') for better efficiency
374
- - ranking gRNAs for each gene is defined as
375
- gRNA specificity score using the formula from a previous publication [22] based on the CFD score:
376
  """
377
  )
378
  expander4.markdown(latext2)
 
 
379
  expander4.markdown(gene_rank)
 
380
  st.markdown("**Please note that the software was run with Cas9 (NGG PAM) and cpf1 (TTG PAM) option with all other options left as default.**")
381
  st.markdown(tips,unsafe_allow_html=True)
382
  st.markdown(caution,unsafe_allow_html=True)
@@ -391,9 +417,9 @@ def Pnbdesigner(method,select_method):
391
  #expander.markdown("END NEW")
392
  expander.markdown(
393
  """
394
- DNA base editors (BEs), cytosine base editors which employes cytidine-deaminase (CBEs: C/G -> T/A converters) and adenine base editors which employes Adenine-deaminase (ABEs: A/T -> G/C converters) **can only introduce 4 edits** via sgRNA.
395
 
396
- Prime Editors **(PEs)**, employing Cas9 nickase fused to an engineered reverse transcriptase via a gRNA called prime editing guide RNA (pegRNA), on the other hand **can do all 12 edits.** PEs use pegRNA consisting of a 20 nt guide sequence, a primer binding site (PBS) and a reverse transcriptase template (RTT). The guide directs the Cas enzyme to a target site, the PBS hybridizes to the opposite strand to prime the reverse transcriptase, and the RTT integrates the desired genomic alteration. **Optimized** PE2, called PE3 and PE3b with reduced off-targets are used.
397
 
398
  **PnB Designer** allows design of pegRNAs for PEs and guide RNAs for CBE and the most recent ABEs such as ABEmax and ABE8e. PnB Designer makes it easy to design targeting guide RNAs for single or multiple targets on a variant or reference genome from organisms (and non-model organisms or synthetic constructs) spanning multiple kingdoms. **PnB Designer enables design of pegRNAs for all known disease causing mutations available in ClinVar**
399
 
@@ -419,49 +445,83 @@ def Pnbdesigner(method,select_method):
419
  """
420
  )
421
  image = Image.open('pe1.png')
422
- expander1.image(image, caption='Prime Editing. Figure from: https://www.addgene.org/crispr/prime-edit/')
423
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
424
  expander2 = st.expander("References")
425
 
426
  expander2.write("[PnB Designer Web App](https://fgcz-shiny.uzh.ch/PnBDesigner/)")
427
  expander2.write("[PnB Designer Paper](https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04034-6)")
428
 
429
- expander3 = st.expander("Tool Options: All you can do with this tools")
430
 
431
  expander3.write(
432
  """
433
- - Input: Multiple lines provided in as a csv file in the webapp **[here](https://fgcz-shiny.uzh.ch/PnBDesigner/)** in the following format:
 
 
 
 
 
 
 
 
 
 
 
 
 
434
  - Prime editing:
435
  - varinat, chromosome num, genomic location, Edit, gene orientation, PBS, RTT
436
  - Ex: rs7412, 19, 44908822, insA, +, 13, 13
437
  - Base editing
438
  - varinat, chromosome num, genomic location, SNO, gene orientation, PBS, RTT
439
  - Ex: rs7412, 19, 44908822, C>T, +
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  """
441
  )
442
- expander3.markdown("- Output: A csv file")
443
- expander3.markdown(tips,unsafe_allow_html=True)
444
- expander3.write(
445
- """
446
- - This tool can be run in two modes:
447
- - **Base editing mode:**
448
- - Does not allow A>T or G>C, dels, or insertions.
449
- - Only **180**/414 variants could be targeted.
450
- - - **Columns of interest**: Protospacer, PAM and Base Editor (the system for producing the base edit). **There is no score**.
451
- - **Prime editing mode:**
452
- - Requires two guides: detailed in two files.
453
- - pegRNA oligos for cloning.
454
- - **Score: Higer is better**.
455
- - Nicking guides: the corresponding nicking guides
456
- """
457
- )
458
  expander4 = st.expander("Scoring")
459
  expander4.markdown(
460
  """
461
- Scoring
462
- **Prime Editing:** PBS and RTT length are important parameters for successful pegRNA design
463
- - in PnB Designer, PBS and RTT lengths are by default set at suggested values of 13 nt
464
- **pegRNA Score:** Sum of all penalties
465
  - Penalty system
466
  - C as the first base in the 3β€² extension: penalty score = βˆ’ 28
467
  - T (thymine) > 4 nucleotides in the 3β€² extension of the pegRNA are strongly penalized with a score = βˆ’ 50
@@ -482,34 +542,26 @@ def SNPcrispr(method,select_method):
482
  """
483
  **SNP-CRISPR**
484
  - Facilitate identification of sgRNAs in **non-reference genomes**, **across varying genetic backgrounds** or for specific targeting of **SNP-containing alleles** (for example, disease relevant mutations).
485
- - It computes **efficiency and specificity** scores for sgRNA designs targeting **both the variant and the reference.**
 
486
  - Design sgRNAs for NGG and NAG PAM sequences
487
  """
488
  )
489
- expander1 = st.expander("How it works: Input and Output")
490
  expander1.write(
491
  """
492
- **Design:**
493
  - SNP-CRISPR validates the input reference sequences and **warn if the submitted reference sequences does not match**, which might reflect a different version of the genome assembly being used in the user input vs. SNP-CRISPR and re-constructs the template sequence, swapping the reference nucleotide with the variant nucleotide for SNPs, while inserting or deleting the corresponding fragment for indel type variants.
494
- - Computes potential variant-targeting sgRNAs based on availability of PAM sequences in the neighboring region.
495
- - sgRNA designs that contain four or more consecutive thymine residues, which can result in termination of RNA transcription by RNA polymerase III, are filtered out.
496
- - Computes efficiency and specificity (based on BLAST results against the reference genome) scores [Housden et al. 2015](https://pubmed.ncbi.nlm.nih.gov/26350902/).
497
- - **For identification of the best variant-specific sgRNAs, following information are provided.**
498
- - Iinformation on both sgRNAs targeting specific variants and sgRNAs targeting the reference sequence in the same region.
499
- - The efficiency score and an off-target score,
500
- - Positions of relevant SNPs or indels in the sgRNA are included.
501
- """
502
- )
503
- expander1.write(
504
- """
505
- - **Input:** Multiple lines provided in as a (6 columns) csv file uploaded to the webapp **[here](https://www.flyrnai.org/tools/snp_crispr/web/)** in the following format:
506
- - varinat, chromosome, position, strand, reference, variant
507
- - Ex: rs7412, 19, 44908822, C, +, T
508
  """
509
  )
510
- expander1.markdown("- **Output:** A csv file")
511
- expander1.markdown("- **Columns of interest**: Housden Efficiency Score [Ref](https://www.ncbi.nlm.nih.gov/pubmed/26350902) (Range from 1.47-12.32 **(higher is better, > 5 recommended))** and Off Target Score (Range from 0-5441.73 (lower is better, < 1 recommended))")
512
- expander1.markdown("**To facilitate identification of the best variant-specific sgRNAs, we provide information about both sgRNAs targeting specific variants and sgRNAs targeting the reference sequence in the same region. The efficiency score and an off-target score are provided, and the positions of relevant SNPs or indels in the sgRNA are included so that users can select the most suitable sgRNA or filter out less optimal ones.**")
513
 
514
 
515
  expander2 = st.expander("References")
@@ -517,15 +569,22 @@ def SNPcrispr(method,select_method):
517
  expander2.write("[SNP_CRISPR Paper](https://academic.oup.com/g3journal/article/10/2/489/6026318)")
518
 
519
 
520
- expander3 = st.expander("Tool Options: All you can do with this tools")
521
- expander3.markdown(tips,unsafe_allow_html=True)
522
  expander3.write(
523
  """
524
- - This tool can design guides for:
525
- - **NGG.**
526
- - **NAG.**
527
- - **Target multiple variants within the same guide.**
528
- - Public variant data sets or user-identified variants.
 
 
 
 
 
 
 
529
  """
530
  )
531
 
@@ -572,7 +631,7 @@ def ecrisp(select_method):
572
  expander2 = st.expander("References")
573
  expander2.write("[E-CRISP Web App](http://www.e-crisp.org/E-CRISP/)")
574
  expander2.write("[E-CRISP Paper](https://www.nature.com/articles/nbt.3026)")
575
- expander3 = st.expander("Tool Options: All you can do with this tools")
576
  expander3.write(
577
  """
578
  - This tool offers single or paired sgRNA and:
 
223
  expander2.write("[ChopChop Paper](https://academic.oup.com/nar/article/47/W1/W171/5491735)")
224
 
225
 
226
+ expander3 = st.expander("Tool Options: All you can do with this tool")
227
 
228
  expander3.write(
229
  """
 
330
  st.header("Guidescan2: "+method)
331
  #st.markdown("**Summary**")
332
  expander = st.expander("Summary")
333
+ expander.markdown("GuideScan2 employes Cas9 (tracrRNA and crRNA) and Cas12a (also known as cpf1, requires only crRNA) for sgRNA **(single- and paired-gRNA)** design (coding and noncoding genomic regions) for 8 organisms. It enables construction of high-specificity gRNA databases with reduced off-target effects.")
334
  expander.markdown("CRISPR-Cas9 targets a 20-nucleotide spacer sequence at the end of the gRNA that is complementary to a DNA protospacer sequence followed immediately at the 3’ end by a PAM of the form NGG (more efficient targeting) or NAG (less efficient); here N stands for a β€˜wildcard’, i.e. can match any nucleotide. Other natural and engineered CRISPR-Cas systems can **vary in PAM sequence, PAM position with respect to the protospacer sequence, and requirements on the level of similarity between gRNA and the target.**")
335
  expander.markdown("Given a genomic region, the task of gRNA design is to find gRNAs that can target anywhere in that region. Many potential gRNAs can target at multiple locations in the genome with varying efficiency. Typically a gRNA is designed to target a particular location with **perfect complementarity** with all other targets of this gRNA are being **off-targets**. **Goal** of gRNA design is typically to **maximize gRNA efficiency at the primary target site while minimizing off-targeting.**")
336
  expander.markdown("Variants and extensions of the gRNA design task include: paired gRNA design to select two gRNAs targeting flanking sites of a genomic region of interest; saturation experiment design to exhaustively select all gRNAs expected to target a selected region of interest; and library design to select a small number of the most effective gRNAs for each of hundreds or thousands of regions of interest.")
337
  expander1 = st.expander("How it works")
338
+
339
  expander1.write(
340
  """
341
+ **Algorithm*:*
342
+ - A single gRNA is evaluated against a genome B (Burrows-Wheeler Transform compressed genome and index).
343
+ - All occurences of the sgRNA (A spacer sequence g and PAM set P, for all gβ€² in a Hamming distance (depth-first search using rank-queries on the forward and reverse complement strands of the BWT of the genome) ball of radius k centered at g) in B are identified.
344
+ - These occurrences are validated against the PAM set P, **pruning** any occurrences that are not followed by a PAM in this set.
345
+ - This set of validated occurrences forms the **set of targets for this gRNA**.
346
+ - gRNAs that have multiple perfect occurrences (indistinguishable intended target) are **filtered out**.
347
+ - **gRNA with a single perfect occurrence**, considered to be its primary target, is then included in the database.
348
+ - All other **targets that contain mismatches are considered off-targets.**
349
+
350
+ - GuideScan allows: target sequences, PAM, PAM position relative to the gRNA binding sequence, and gRNA length.
351
+ **Potential off-targets:**
352
+ - Uses a retrieval tree (trie, preprocess the targetable space in the genome, i.e. **all 20-mers followed by primary and secondary PAMs**) data structure to efficiently and precisely enumerates all targetable sequences (with a specific number of mismatches) present in a given genome.
353
  """
354
  )
 
 
355
 
356
  expander2 = st.expander("References")
357
 
358
  expander2.write("[GuideScan2 Web App](https://guidescan.com)")
359
  expander2.write("[GuideScan2 Paper](https://www.biorxiv.org/content/10.1101/2022.05.02.490368v1)")
360
 
361
+ expander3 = st.expander("Tool Options: All you can do with this tool")
362
 
363
  expander3.write(
364
  """
365
+ This tool offers sgRNA design for:
366
+ - **CRISPR/Cas9**
367
+ - **CRISPR/Cpf1**
368
+ - **Please note that this tool work best for genomic intervals >30bp.**
369
+ **Input:**
370
+ - Line delimited Genomic intervals (or DNA sequence) as a text file in the webapp **[here](https://guidescan.com/)** in the following format (of genomic range 30bp, 40bp etc):
371
+ - Line1: chr10:11676698-11676728
372
+ - Line2: chr1:152220435-152220465
373
+ - and so on
374
+ **Output:**
375
+ - A csv file containing all gRNAs within the genomic regions provided in the input file
376
+ **Columns of interest (at most 6 gRNAa are reported from all possible)**:
377
+ - gRNA-Seq and Target-Seq
378
+ - PAM
379
+ - Number of off-targets
380
+ - Cutting efficiency (**Higher the better**)
381
+ - Specificity (**Higher the better**) [Ref](https://www.biorxiv.org/content/10.1101/2022.05.02.490368v1.full.pdf)
382
+ - Rank:
383
+ - Uses a score that balances maximizing the gRNA specificity and cutting efficiency.
384
+
385
  """
386
  )
387
+ expander3.markdown(gene_rank)
388
+
389
  expander4 = st.expander("Scoring")
390
  expander4.markdown(
391
  """
392
+ **Efficiency (Please see Scoring and Quality Matrices of the README section of this app):** Rule Set 2 [DOENCH 2016](https://www.nature.com/articles/nbt.3437)
393
  - sgRNAs were filtered out with cutting efficiency less than 0.25 or specificity less than 0.20
394
+ - Selected six gRNAs for each gene. For genes with more than six sgRNAs, Ranked Genes and (selected six genes)
395
+ - Ranked gRNAs for each gene using a simple score that balances maximizing the gRNA specificity and cutting efficiency.
396
+ - Nucleotide at the 5’ end of gRNA (called g) is replaced with a G (called g') for better efficiency
397
+ - Ranking gRNAs for each gene is defined as
398
+ **sgRNA Specificity and Rank score:** [DOENCH 2016](https://www.nature.com/articles/nbt.3437)
399
  """
400
  )
401
  expander4.markdown(latext2)
402
+ #expander4.markdown('sgRNA Specifity (off-target) Score')
403
+ expander4.markdown('sgRNA Rank Score')
404
  expander4.markdown(gene_rank)
405
+
406
  st.markdown("**Please note that the software was run with Cas9 (NGG PAM) and cpf1 (TTG PAM) option with all other options left as default.**")
407
  st.markdown(tips,unsafe_allow_html=True)
408
  st.markdown(caution,unsafe_allow_html=True)
 
417
  #expander.markdown("END NEW")
418
  expander.markdown(
419
  """
420
+ Single base editors (BEs) employe cytidine-deaminase (Cytosine BE, CBEs: C/G -> T/A converters) or Adenine-deaminase (Adenine BE, ABEs: A/T -> G/C converters) **can only introduce 4 edits** via sgRNA.
421
 
422
+ Prime Editors **(PEs)**, employing Cas9 nickase fused to an engineered reverse transcriptase template **(RTT, a wild-type Moloney Murine Leukemia Virus (M-MLV) for PE1 and mutagenised M-MLV in PE2 systems for enhanced DNA-RNA affinity, enzyme processivity, and thermostability)** via a gRNA called prime editing guide RNA **(pegRNA)**, on the other hand **can do all 12 edits.** PEs use pegRNA consisting of a 20 nt guide sequence, a primer binding site **(PBS)** and an RTT. The guide directs the Cas enzyme to a target site, the PBS hybridizes to the opposite strand to prime the reverse transcriptase, and the RTT integrates the desired genomic alteration. **Optimized** PE2, called (by employing additional sgRNA to nick the unedited strand so that cell's natural repair system copies the information in the edited strand to the complementary strand, permanently installing the edit) PE3 and PE3b with reduced off-targets are used.
423
 
424
  **PnB Designer** allows design of pegRNAs for PEs and guide RNAs for CBE and the most recent ABEs such as ABEmax and ABE8e. PnB Designer makes it easy to design targeting guide RNAs for single or multiple targets on a variant or reference genome from organisms (and non-model organisms or synthetic constructs) spanning multiple kingdoms. **PnB Designer enables design of pegRNAs for all known disease causing mutations available in ClinVar**
425
 
 
445
  """
446
  )
447
  image = Image.open('pe1.png')
448
+ expander1.image(image, caption='Prime Editing. https://www.addgene.org/crispr/prime-edit/')
449
+ expander1.markdown(
450
+ """
451
+ **Design strategy for pegRNAs:**
452
+ - PnB Designer scans the sense and antisense strands to find all possible 5β€²-NGG-3β€² protospacer adjacent motif (PAM) sites around the edit position, beginning+6 nt to the 3β€² end of the desired edit and then scanning 100 nt in the 5β€² direction, giving the user the option to choose also very distant PAMs.
453
+ - All possible NGG PAMs are stored and evaluated in respect to their distance from the edit position and the input RTT length.
454
+ - A pegRNA is considered a possible candidate if the edit is fully covered by the RTT.
455
+ - PnB Designer then stores the protospacer, PBS, and RTT sequences.
456
+ - Nicking guides for the PE3 and PE3b systems are designed and filtered to provide a suitable selection of gRNAs.
457
+ - For PE3, only nicking guides 40–100 nt up/downstream of the initial nick are considered.
458
+ **Design strategy for BEs gRNAs:**
459
+ **Input:**
460
+ - Sequence:
461
+ - Upstream and downstream sequence with desired edit such as (one of A>G, T>C, C>T, G>A)
462
+ - Genomic coordinates: Retrieves the genomic sequence from the selected reference genome and converts the specific variant sequence to include the SNV.
463
+ - The resulting sequence is searched for **PAM (5β€²-NGG-3β€² (SpCas9), 5β€²-NGA-3β€² (SpCas9-VRQR), 5β€²-NGCG-3β€² (SpCas9-NG), 5β€²-NNGRRT-3β€² (SaCas9), 5β€²-NNNRRT-3β€² (SaCas9-KKH), SpG 5β€²-NGN-3β€², SpRY 5β€²-NRN-3β€² and 5β€²-NYN-3β€²)** sites in the right distance to the SNV given the described editing windows of the Cas9-ABE and -CBE variants.
464
+ - With ABEs, C β†’ T genomic variants can be reverted by A β†’ G conversion on the antisense strand to achieve the intended edit on the sense strand.
465
+ - With CBEs, C β†’ T and G β†’ A conversions are possible. All previously described PAM variants with their respective editing window are tested against the edit.
466
+ - Editing windows are defined based on the experimental data.
467
+ - ABEmax was implemented with an editing window from base 5–7, with base 1 being the most distal from the PAM site.
468
+ - For BE3 (R33A/K34A), the strong sequence preference for a 5β€² T next to the edit has been included as well
469
+ """
470
+ )
471
  expander2 = st.expander("References")
472
 
473
  expander2.write("[PnB Designer Web App](https://fgcz-shiny.uzh.ch/PnBDesigner/)")
474
  expander2.write("[PnB Designer Paper](https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04034-6)")
475
 
476
+ expander3 = st.expander("Tool Options: All you can do with this tool")
477
 
478
  expander3.write(
479
  """
480
+ This tool can be run in **two modes**:
481
+ - **Base editing mode:**
482
+ - Does not allow A>T or G>C, dels, or insertions.
483
+ - Only **180**/414 variants could be targeted.
484
+ - **Columns of interest**: Protospacer, PAM and Base Editor (the system for producing the base edit).
485
+ - **There is no score**.
486
+ - **Prime editing mode:**
487
+ - Requires two guides: detailed in two files.
488
+ - pegRNA oligos for cloning.
489
+ - **Score: Higer is better**.
490
+ - Nicking guides: the corresponding nicking guides
491
+
492
+ **Input**
493
+ - Multiple lines provided in as a csv file in the webapp **[here](https://fgcz-shiny.uzh.ch/PnBDesigner/)** in the following format:
494
  - Prime editing:
495
  - varinat, chromosome num, genomic location, Edit, gene orientation, PBS, RTT
496
  - Ex: rs7412, 19, 44908822, insA, +, 13, 13
497
  - Base editing
498
  - varinat, chromosome num, genomic location, SNO, gene orientation, PBS, RTT
499
  - Ex: rs7412, 19, 44908822, C>T, +
500
+ **Output:** A csv file
501
+ - Base editing
502
+ - 20 nt protospacer sequence (targeting the variant sequence)
503
+ - Edit position
504
+ - PAM site
505
+ - Suggested base editor that can target the variant
506
+ - Score: No score is provided
507
+ - Prime editing
508
+ - pegRNA (protospacer and extension seq for both strands)
509
+ - Edit position
510
+ - PAM and PAM strand
511
+ - Score (Higher the better)
512
+ - PBS and RTT length
513
+ - Nicking guides (PE3 or PE3b system) shown by selecting Nicking_guides_PE3_PE3B from the side bar.
514
  """
515
  )
516
+
517
+ #expander3.markdown(tips,unsafe_allow_html=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
518
  expander4 = st.expander("Scoring")
519
  expander4.markdown(
520
  """
521
+ **Prime Editing:**
522
+ Primer binding site (PBS) and reverse transcriptase templeta (RTT) length are important parameters for successful pegRNA design. In PnB Designer, PBS and RTT lengths are by default set at suggested values of 13 nt. The pegRNA Score follows a [penalty system](https://www.nature.com/articles/s41586-019-1711-4) with **larger negative numbers** are indicative of worse pegRNA designs.
523
+
524
+ **pegRNA Score (Sum of all penalties):**
525
  - Penalty system
526
  - C as the first base in the 3β€² extension: penalty score = βˆ’ 28
527
  - T (thymine) > 4 nucleotides in the 3β€² extension of the pegRNA are strongly penalized with a score = βˆ’ 50
 
542
  """
543
  **SNP-CRISPR**
544
  - Facilitate identification of sgRNAs in **non-reference genomes**, **across varying genetic backgrounds** or for specific targeting of **SNP-containing alleles** (for example, disease relevant mutations).
545
+ - It computes **efficiency and specificity** scores for sgRNA designs targeting **both** the **variant** and the **reference**.
546
+ - Can be used to design sgRNAs based on public variant data sets or user-identified variants
547
  - Design sgRNAs for NGG and NAG PAM sequences
548
  """
549
  )
550
+ expander1 = st.expander("How it works")
551
  expander1.write(
552
  """
553
+ **Design:**
554
  - SNP-CRISPR validates the input reference sequences and **warn if the submitted reference sequences does not match**, which might reflect a different version of the genome assembly being used in the user input vs. SNP-CRISPR and re-constructs the template sequence, swapping the reference nucleotide with the variant nucleotide for SNPs, while inserting or deleting the corresponding fragment for indel type variants.
555
+ - Computes potential variant-targeting sgRNAs based on **availability of PAM (NGG or NAG) sequences** in the neighboring region.
556
+ - sgRNA designs that contain **four or more consecutive thymine residues**, which can result in termination of RNA transcription by RNA polymerase III, **are filtered out**.
557
+ - Computes efficiency [Housden et al. 2015](https://pubmed.ncbi.nlm.nih.gov/26350902/) and specificity (based on BLAST results against the reference genome) scores.
558
+ **For identification of the best variant-specific sgRNAs, following information are provided.**
559
+ - Iinformation on both sgRNAs targeting specific variants and sgRNAs targeting the reference sequence in the same region.
560
+ - The efficiency score and an off-target score
561
+ - Positions of relevant SNPs or indels in the sgRNA are included.
 
 
 
 
 
 
 
562
  """
563
  )
564
+ #expander1.markdown("**To facilitate identification of the best variant-specific sgRNAs, we provide information about both sgRNAs targeting specific variants and sgRNAs targeting the reference sequence in the same region. The efficiency score and an off-target score are provided, and the positions of relevant SNPs or indels in the sgRNA are included so that users can select the most suitable sgRNA or filter out less optimal ones.**")
 
 
565
 
566
 
567
  expander2 = st.expander("References")
 
569
  expander2.write("[SNP_CRISPR Paper](https://academic.oup.com/g3journal/article/10/2/489/6026318)")
570
 
571
 
572
+ expander3 = st.expander("Tool Options: All you can do with this tool")
573
+ #expander3.markdown(tips,unsafe_allow_html=True)
574
  expander3.write(
575
  """
576
+ This tool can design guides for:
577
+ - **NGG.**
578
+ - **NAG.**
579
+ - **Target multiple variants within the same guide.**
580
+ - Public variant data sets or user-identified variants.
581
+ **Input:** Multiple lines provided in as a (6 columns) csv file uploaded to the webapp **[here](https://www.flyrnai.org/tools/snp_crispr/web/)** in the following format:
582
+ - varinat, chromosome, position, strand, reference, variant
583
+ - Ex: rs7412, 19, 44908822, C, +, T
584
+ **Output:** A csv file
585
+ - **Columns of interest**:
586
+ - Housden Efficiency Score [Ref](https://www.ncbi.nlm.nih.gov/pubmed/26350902) (Range from 1.47-12.32 **(higher is better, > 5 recommended))**
587
+ - Off Target Score (Range from 0-5441.73 (lower is better, < 1 recommended))
588
  """
589
  )
590
 
 
631
  expander2 = st.expander("References")
632
  expander2.write("[E-CRISP Web App](http://www.e-crisp.org/E-CRISP/)")
633
  expander2.write("[E-CRISP Paper](https://www.nature.com/articles/nbt.3026)")
634
+ expander3 = st.expander("Tool Options: All you can do with this tool")
635
  expander3.write(
636
  """
637
  - This tool offers single or paired sgRNA and: