Title: | Exploring curated CRISPR gRNAs via Shiny |
---|---|
Description: | Provides means to interactively visualize guide RNAs (gRNAs) in GuideSet objects via Shiny application. This GUI can be self-contained or as a module within a larger Shiny app. The content of the app reflects the annotations present in the passed GuideSet object, and includes intuitive tools to examine, filter, and export gRNAs, thereby making gRNA design more user-friendly. |
Authors: | Jean-Philippe Fortin [aut, cre], Luke Hoberecht [aut] |
Maintainer: | Jean-Philippe Fortin <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.3.0 |
Built: | 2024-12-19 04:13:20 UTC |
Source: | https://github.com/bioc/crisprShiny |
Server component for crisprShiny App. Not intended for direct use. (intended to be passed as server component of module in shinyApp function)
crisprServer(id, guideSet, geneModel, title = NULL, useFilterPresets = TRUE)
crisprServer(id, guideSet, geneModel, title = NULL, useFilterPresets = TRUE)
id |
Module ID. |
guideSet |
A GuideSet object. |
geneModel |
A GRangesList object obtained using
|
title |
Optional title to display at head of app. |
useFilterPresets |
Whether to use preset filter values on app launch.
See details section for |
Shiny module server component.
library(crisprShiny) ui <- function(id){ fluidPage( crisprUI(id) ) } server <- function(id, gs){ function(input, output, session){ observeEvent(gs, { crisprServer( id, guideSet=gs, geneModel=NULL, useFilterPresets=TRUE ) }) } } myApp <- function(gs){ shinyApp(ui=ui("id"), server=server("id", gs)) } if (interactive()){ data("guideSetExample_basic", package="crisprShiny") myApp(guideSetExample_basic) }
library(crisprShiny) ui <- function(id){ fluidPage( crisprUI(id) ) } server <- function(id, gs){ function(input, output, session){ observeEvent(gs, { crisprServer( id, guideSet=gs, geneModel=NULL, useFilterPresets=TRUE ) }) } } myApp <- function(gs){ shinyApp(ui=ui("id"), server=server("id", gs)) } if (interactive()){ data("guideSetExample_basic", package="crisprShiny") myApp(guideSetExample_basic) }
Means to interactively visualize gRNAs within a GuideSet
object via a Shiny application. Contents of the Shiny app reflect
annotations contained within the GuideSet
object, and provide
intuitive controls to examine, filter, and export .csv
tables of gRNAs.
crisprShiny(guideSet, geneModel = NULL, useFilterPresets = TRUE)
crisprShiny(guideSet, geneModel = NULL, useFilterPresets = TRUE)
guideSet |
A GuideSet object. |
geneModel |
A GRangesList object obtained using
|
useFilterPresets |
Whether to use preset filter values on app launch. See details. |
Preset filter values
Using sensible, preset filters can conveniently remove many poorer-quality
gRNAs from view upon app launch. This can be done by setting
useFilterPresets=TRUE
, while passing FALSE
will retain all gRNAs in
guideSet
. Of course, filters can still be adjusted within the app to
either further refine or broaden the list of gRNAs to view. Setting
useFilterPresets=TRUE
(default) will impose the following filter
criteria, as appropriate to the guideSet
, upon app launch:
spacers with polyT are excluded
permissible spacer percent GC range set to [20, 80]
spacers missing values for any score method (NA
) are excluded
(SpCas9 nuclease only) minimum permissible DeepHF and DeepSpCas9 scores set to 0.5
spacers targeting repeat elements are excluded
spacers overlapping SNPs are excluded
(for GuideSets having gene annotation) spacers targeting the final 15% of the gene CDS (i.e., 3' end) are excluded
Filters will not be applied if the guideSet
lacks the necessary annotation.
For example, a guideSet
lacking SNP annotation will not be filtered on the
SNP criterium.
A Shiny app object.
library(crisprShiny) data("guideSetExample_kras", package="crisprShiny") app <- crisprShiny(guideSetExample_kras) if (interactive()) { shiny::runApp(app) }
library(crisprShiny) data("guideSetExample_kras", package="crisprShiny") app <- crisprShiny(guideSetExample_kras) if (interactive()) { shiny::runApp(app) }
UI component for crisprShiny App. Not intended for direct use.
crisprUI(id, cssFile = NULL)
crisprUI(id, cssFile = NULL)
id |
Module ID. |
cssFile |
Optional path of CSS file to be included in rendering app.
|
Shiny module UI component.
library(crisprShiny) ui <- function(id){ fluidPage( crisprUI(id) ) } server <- function(id, gs){ function(input, output, session){ observeEvent(gs, { crisprServer( id, guideSet=gs, geneModel=NULL, useFilterPresets=TRUE ) }) } } myApp <- function(gs){ shinyApp(ui=ui("id"), server=server("id", gs)) } if (interactive()){ data("guideSetExample_basic", package="crisprShiny") myApp(guideSetExample_basic) }
library(crisprShiny) ui <- function(id){ fluidPage( crisprUI(id) ) } server <- function(id, gs){ function(input, output, session){ observeEvent(gs, { crisprServer( id, guideSet=gs, geneModel=NULL, useFilterPresets=TRUE ) }) } } myApp <- function(gs){ shinyApp(ui=ui("id"), server=server("id", gs)) } if (interactive()){ data("guideSetExample_basic", package="crisprShiny") myApp(guideSetExample_basic) }
Example of a GuideSet object (with no additional annotation) storing gRNA sequences targeting the coding sequence of human gene KRAS (ENSG00000133703) for SpCas9 nuclease.
data(guideSetExample_basic, package="crisprShiny")
data(guideSetExample_basic, package="crisprShiny")
A GuideSet object.
The object was obtained by using crisprDesign::findSpacers
on a GRanges of the CDS region of human gene KRAS. See code in
inst/scripts/generateKrasData.R
.
Example of a fully annotated GuideSet object storing gRNA sequences targeting the coding sequence of human gene KRAS (ENSG00000133703) for SpCas9 nuclease.
data(guideSetExample_kras, package="crisprShiny")
data(guideSetExample_kras, package="crisprShiny")
A GuideSet object.
The object was obtained by applying all available add*
annotation functions in crisprDesign
on a GuideSet storing gRNAs
targeting the CDS region of human gene KRAS. See code in
inst/scripts/generateKrasData.R
.
Example of a GuideSet object storing gRNA sequences targeting the coding sequence of human gene KRAS (ENSG00000133703) for BE4max nuclease.
data(guideSetExample_kras_be, package="crisprShiny")
data(guideSetExample_kras_be, package="crisprShiny")
A GuideSet object.
The object was obtained by applying all base-editor-specific
annotation functions in crisprDesign
on the
CDS region of human gene KRAS. See code in
inst/scripts/generateKrasData.R
.
Example of a fully annotated GuideSet object storing gRNA sequences targeting the coding sequence of human gene KRAS (ENSG00000133703) and some non-targeting controls (NTCs) for SpCas9 nuclease.
data(guideSetExample_kras, package="crisprShiny")
data(guideSetExample_kras, package="crisprShiny")
A GuideSet object.
The object was obtained by applying all available add*
annotation functions in crisprDesign
on a GuideSet storing gRNAs
targeting the CDS region of human gene KRAS and some NTCs. See code in
inst/scripts/generateKrasData.R
.
Tooltip messages for crisprShiny app stored in a list
object.
data(tooltipAnnotation, package="crisprShiny")
data(tooltipAnnotation, package="crisprShiny")
A list
object.
See code in inst/scripts/generateKrasData.R
for tooltip
annotations.
GenomicRanges
object storing annotated TSS ranges
for the human gene KRASExample of a GenomicRanges
object storing annotated TSS ranges
for the human gene KRAS (ENSG00000133703).
data(tss_kras, package="crisprShiny")
data(tss_kras, package="crisprShiny")
A GenomicRanges
object.
The object was obtained by subsetting genomic ranges in
tss_human
from the crisprDesignData
package for the
KRAS gene (Ensembl ID: ENSG00000133703). See code in
inst/scripts/generateKrasData.R
.
CompressedGenomicRangesList
object storing
annotated ranges for the human gene KRASExample of a CompressedGenomicRangesList
object storing
annotated genomic ranges for the human gene KRAS (ENSG00000133703).
data(txdb_kras, package="crisprShiny")
data(txdb_kras, package="crisprShiny")
A CompressedGenomicRangesList
object.
The object was obtained by subsetting all genomic ranges annotations
in txdb_human
from the crisprDesignData
package for the
KRAS gene (Ensembl ID: ENSG00000133703). See code in
inst/scripts/generateKrasData.R
.