## ---- eval=FALSE-------------------------------------------------------------- # if (!require("BiocManager", quietly = TRUE)) # install.packages("BiocManager") # # BiocManager::install(version="devel") # BiocManager::install("crisprDesign") ## ---- message=FALSE, warning=FALSE,results='hide'----------------------------- library(crisprDesign) ## ----------------------------------------------------------------------------- library(crisprBase) data(SpCas9, package="crisprBase") SpCas9 ## ----------------------------------------------------------------------------- prototypeSequence(SpCas9) ## ----------------------------------------------------------------------------- data(grListExample, package="crisprDesign") ## ----echo=TRUE, results='hide', warning=FALSE, message=FALSE------------------ gr <- queryTxObject(txObject=grListExample, featureType="cds", queryColumn="gene_symbol", queryValue="IQSEC3") ## ----------------------------------------------------------------------------- gr <- gr[1] ## ---- warning=FALSE, message=FALSE-------------------------------------------- library(BSgenome.Hsapiens.UCSC.hg38) bsgenome <- BSgenome.Hsapiens.UCSC.hg38 guideSet <- findSpacers(gr, bsgenome=bsgenome, crisprNuclease=SpCas9) guideSet ## ----------------------------------------------------------------------------- set.seed(10) guideSet <- guideSet[sample(seq_along((guideSet)),20)] ## ----------------------------------------------------------------------------- spacers(guideSet) protospacers(guideSet) pams(guideSet) head(pamSites(guideSet)) head(cutSites(guideSet)) ## ---- eval=TRUE, warning=FALSE, message=FALSE--------------------------------- guideSet <- addSequenceFeatures(guideSet) head(guideSet) ## ----------------------------------------------------------------------------- library(Rbowtie) fasta <- system.file(package="crisprDesign", "fasta/chr12.fa") outdir <- tempdir() Rbowtie::bowtie_build(fasta, outdir=outdir, force=TRUE, prefix="chr12") bowtie_index <- file.path(outdir, "chr12") ## ---- results='hide', warning=FALSE------------------------------------------- library(BSgenome.Hsapiens.UCSC.hg38) bsgenome <- BSgenome.Hsapiens.UCSC.hg38 ## ---- results='hide', warning=FALSE------------------------------------------- guideSet <- addSpacerAlignments(guideSet, txObject=grListExample, aligner_index=bowtie_index, bsgenome=bsgenome, n_mismatches=2) ## ----------------------------------------------------------------------------- guideSet ## ----------------------------------------------------------------------------- alignments(guideSet) ## ---- eval=FALSE-------------------------------------------------------------- # onTargets(guideSet) # offTargets(guideSet) ## ---- eval=TRUE--------------------------------------------------------------- data(grRepeatsExample, package="crisprDesign") guideSet <- removeRepeats(guideSet, gr.repeats=grRepeatsExample) ## ---- eval=TRUE, warning=FALSE, message=FALSE--------------------------------- guideSet <- addOffTargetScores(guideSet) guideSet ## ----------------------------------------------------------------------------- head(alignments(guideSet)) ## ---- eval=TRUE, warning=FALSE, message=FALSE--------------------------------- guideSet <- addOnTargetScores(guideSet, methods="crisprater") head(guideSet) ## ---- eval=TRUE, warning=FALSE, message=FALSE, results='hide'----------------- guideSet <- addRestrictionEnzymes(guideSet) ## ----------------------------------------------------------------------------- head(enzymeAnnotation(guideSet)) ## ---- eval=TRUE,warning=FALSE, message=FALSE, results='hide'------------------ guideSet <- addGeneAnnotation(guideSet, txObject=grListExample) ## ----------------------------------------------------------------------------- geneAnnotation(guideSet) ## ----------------------------------------------------------------------------- data(tssObjectExample, package="crisprDesign") guideSet <- addTssAnnotation(guideSet, tssObject=tssObjectExample) tssAnnotation(guideSet) ## ---- eval=TRUE,warning=FALSE, message=FALSE---------------------------------- vcf <- system.file("extdata", file="common_snps_dbsnp151_example.vcf.gz", package="crisprDesign") guideSet <- addSNPAnnotation(guideSet, vcf=vcf) snps(guideSet) ## ---- eval=FALSE-------------------------------------------------------------- # guideSet <- guideSet[guideSet$percentGC>=20] # guideSet <- guideSet[guideSet$percentGC<=80] # guideSet <- guideSet[!guideSet$polyT] ## ---- eval=TRUE--------------------------------------------------------------- # Creating an ordering index based on the CRISPRater score: # Using the negative values to make sure higher scores are ranked first: o <- order(-guideSet$score_crisprater) # Ordering the GuideSet: guideSet <- guideSet[o] head(guideSet) ## ---- eval=TRUE--------------------------------------------------------------- o <- order(guideSet$n1, -guideSet$score_crisprater) # Ordering the GuideSet: guideSet <- guideSet[o] head(guideSet) ## ---- eval=FALSE-------------------------------------------------------------- # tx_id <- "ENST00000538872" # guideSet <- rankSpacers(guideSet, # tx_id=tx_id) ## ----------------------------------------------------------------------------- data(BE4max, package="crisprBase") BE4max ## ----------------------------------------------------------------------------- crisprBase::editingWeights(BE4max)["C2T",] ## ----------------------------------------------------------------------------- gr <- queryTxObject(txObject=grListExample, featureType="cds", queryColumn="gene_symbol", queryValue="IQSEC3") gs <- findSpacers(gr[1], bsgenome=bsgenome, crisprNuclease=BE4max) gs <- gs[1:2] ## ----------------------------------------------------------------------------- txid <- "ENST00000538872" txTable <- getTxInfoDataFrame(tx_id=txid, txObject=grListExample, bsgenome=bsgenome) head(txTable) ## ----------------------------------------------------------------------------- editingWindow <- c(-20,-8) gs <- addEditedAlleles(gs, baseEditor=BE4max, txTable=txTable, editingWindow=editingWindow) ## ----------------------------------------------------------------------------- alleles <- editedAlleles(gs)[[1]] ## ----------------------------------------------------------------------------- metadata(alleles) ## ----------------------------------------------------------------------------- head(alleles) ## ----------------------------------------------------------------------------- head(gs) ## ----------------------------------------------------------------------------- data(CasRx, package="crisprBase") CasRx ## ----------------------------------------------------------------------------- txid <- c("ENST00000538872","ENST00000382841") mrnas <- getMrnaSequences(txid=txid, bsgenome=bsgenome, txObject=grListExample) mrnas ## ----------------------------------------------------------------------------- gs <- findSpacers(mrnas[["ENST00000538872"]], crisprNuclease=CasRx) gs <- gs[1000:1100] head(gs) ## ----------------------------------------------------------------------------- head(spacers(gs)) head(protospacers(gs)) ## ----------------------------------------------------------------------------- gs <- addSpacerAlignments(gs, aligner="biostrings", txObject=grListExample, n_mismatches=1, custom_seq=mrnas) tail(gs) ## ----------------------------------------------------------------------------- onTargets(gs["spacer_1095"]) ## ----------------------------------------------------------------------------- n_cycles=8 ## ----------------------------------------------------------------------------- data(guideSetExample, package="crisprDesign") guideSetExample <- addOpsBarcodes(guideSetExample, n_cycles=n_cycles) head(guideSetExample$opsBarcode) ## ----------------------------------------------------------------------------- barcodes <- guideSetExample$opsBarcode dist <- getBarcodeDistanceMatrix(barcodes[1:5], barcodes[6:10], binnarize=FALSE) print(dist) ## ----------------------------------------------------------------------------- dist <- getBarcodeDistanceMatrix(barcodes[1:5], barcodes[6:10], binnarize=TRUE, min_dist_edit=4) print(dist) ## ----------------------------------------------------------------------------- library(GenomicRanges) library(BSgenome.Hsapiens.UCSC.hg38) library(crisprBase) bsgenome <- BSgenome.Hsapiens.UCSC.hg38 ## ----------------------------------------------------------------------------- gr <- GRanges(c("chr12"), IRanges(start=22224014, end=22225007)) ## ----------------------------------------------------------------------------- pairs <- findSpacerPairs(gr, gr, bsgenome=bsgenome) ## ----------------------------------------------------------------------------- pairs ## ----------------------------------------------------------------------------- grnas1 <- first(pairs) grnas2 <- second(pairs) grnas1 grnas2 ## ----------------------------------------------------------------------------- head(pamOrientation(pairs)) ## ----------------------------------------------------------------------------- seqs <- c(seq1="AGGCGGAGGCCCGACCCGGGCGCGGGGCGGCGC", seq2="AGGCGGAGGCCCGACCCGGGCGCGGGAAAAAAAGGC") gs <- findSpacers(seqs) head(gs) ## ----------------------------------------------------------------------------- ontarget <- "AAGACCCGGGCGCGGGGCGGGGG" offtarget <- "TTGACCCGGGCGCGGGGCGGGGG" gs <- findSpacers(ontarget) gs <- addSpacerAlignments(gs, aligner="biostrings", n_mismatches=2, custom_seq=offtarget) head(alignments(gs)) ## ----------------------------------------------------------------------------- gs <- guideSetExample ntcs <- c(ntc_1="AGTGCTGTGTGTGTGATGCT", ntc_2="GGGTGCCTTTTTACTCGATG") gs <- addNtcs(gs, ntcs) print(gs) ## ----------------------------------------------------------------------------- gs <- addSequenceFeatures(gs) print(gs) ## ----------------------------------------------------------------------------- sessionInfo()