Find prime editing spacers around target ranges

find_pe_spacers(
  gr,
  bsgenome,
  fixes = get_plus_seq(bsgenome, gr),
  nprimer = 13,
  nrt = 16,
  plot = TRUE
)

Arguments

gr

GRanges-class

bsgenome

BSgenome-class

fixes

character vector: '+' strand fix seqs

nprimer

n primer nucleotides (default 13, max 17)

nrt

n rev transcr nucleotides (default 16, recomm. 10-16)

plot

TRUE (default) or FALSE

Value

GRanges-class with PE spacer ranges Each prime editing range is defined in terms of its N20NGG spacer. Additionally, three sequence mcols are returned: * spacer: N20 spacers * pam: NGG PAMs * 3pext: 3' extension of gRNA (RTtemplate + primerbindingsite)

Details

Below the architecture of a prime editing site. Fixes can be performed anywhere in the revtranscript area.

spacer pam --------------------=== primer revtranscript -------------================ 1..............17....GG.......... .....................CC.......... ----------extension----------

See also

find_spacers to find standard crispr sites

Examples

# PE example #----------- require(magrittr) bsgenome <- BSgenome.Hsapiens.UCSC.hg38::BSgenome.Hsapiens.UCSC.hg38 gr <- char_to_granges(c(PRNP = 'chr20:4699600:+', # snp HBB = 'chr11:5227002:-', # snp HEXA = 'chr15:72346580-72346583:-', # del CFTR = 'chr7:117559593-117559595:+'), # ins bsgenome) find_pe_spacers(gr, bsgenome)
#> GRanges object with 10 ranges and 9 metadata columns: #> seqnames ranges strand | targetname targetstart #> <Rle> <IRanges> <Rle> | <character> <integer> #> CFTR_1 chr7 117559575-117559594 + | CFTR 117559593 #> CFTR_2 chr7 117559606-117559625 - | CFTR 117559593 #> HBB_1 chr11 5227003-5227022 - | HBB 5227002 #> HBB_2 chr11 5226984-5227003 + | HBB 5227002 #> HEXA_1 chr15 72346551-72346570 + | HEXA 72346580 #> HEXA_2 chr15 72346558-72346577 + | HEXA 72346580 #> PRNP_1 chr20 4699568-4699587 + | PRNP 4699600 #> PRNP_2 chr20 4699569-4699588 + | PRNP 4699600 #> PRNP_3 chr20 4699575-4699594 + | PRNP 4699600 #> PRNP_4 chr20 4699578-4699597 + | PRNP 4699600 #> targetend crisprname crisprspacer crisprpam primer #> <integer> <character> <character> <character> <character> #> CFTR_1 117559595 CFTR_1 ATTAAAGAAAATATCATCTT TGG AAGAAAATATCAT #> CFTR_2 117559595 CFTR_2 TCTGTATCTATATTCATCAT AGG TATCTATATTCAT #> HBB_1 5227002 HBB_1 CATGGTGCATCTGACTCCTG AGG GTGCATCTGACTC #> HBB_2 5227002 HBB_2 GTAACGGCAGACTTCTCCTC AGG CGGCAGACTTCTC #> HEXA_1 72346583 HEXA_1 TGTAGAAATCCTTCCAGTCA GGG GAAATCCTTCCAG #> HEXA_2 72346583 HEXA_2 ATCCTTCCAGTCAGGGCCAT AGG TTCCAGTCAGGGC #> PRNP_1 4699600 PRNP_1 AGCAGCTGGGGCAGTGGTGG GGG GCTGGGGCAGTGG #> PRNP_2 4699600 PRNP_2 GCAGCTGGGGCAGTGGTGGG GGG CTGGGGCAGTGGT #> PRNP_3 4699600 PRNP_3 GGGGCAGTGGTGGGGGGCCT TGG CAGTGGTGGGGGG #> PRNP_4 4699600 PRNP_4 GCAGTGGTGGGGGGCCTTGG CGG TGGTGGGGGGCCT #> revtranscript extension #> <character> <character> #> CFTR_1 CTTTGGTGTTTCCTAT ATAGGAAACACCAAAGATGATATTTTCTT #> CFTR_2 CATAGGAAACACCAAA TTTGGTGTTTCCTATGATGAATATAGATA #> HBB_1 CTGAGGAGAAGTCTGC GCAGACTTCTCCTCAGGAGTCAGATGCAC #> HBB_2 CTCAGGAGTCAGATGC GCATCTGACTCCTGAGGAGAAGTCTGCCG #> HEXA_1 TCAGGGCCATAGGATA TATCCTATGGCCCTGACTGGAAGGATTTC #> HEXA_2 CATAGGATATACGGTT AACCGTATATCCTATGGCCCTGACTGGAA #> PRNP_1 TGGGGGGCCTTGGCGG CCGCCAAGGCCCCCCACCACTGCCCCAGC #> PRNP_2 GGGGGGCCTTGGCGGC GCCGCCAAGGCCCCCCACCACTGCCCCAG #> PRNP_3 CCTTGGCGGCTACATG CATGTAGCCGCCAAGGCCCCCCACCACTG #> PRNP_4 TGGCGGCTACATGCTG CAGCATGTAGCCGCCAAGGCCCCCCACCA #> ------- #> seqinfo: 455 sequences (1 circular) from hg38 genome
find_spacers(extend_for_pe(gr), bsgenome, complement = FALSE)
#> GRanges object with 10 ranges and 6 metadata columns: #> seqnames ranges strand | targetname targetstart #> <Rle> <IRanges> <Rle> | <character> <integer> #> CFTR_f chr7 117559575-117559594 + | CFTR 117559593 #> CFTR_r chr7 117559606-117559625 - | CFTR 117559593 #> HBB_f chr11 5226984-5227003 + | HBB 5227002 #> HBB_r chr11 5227003-5227022 - | HBB 5227002 #> HEXA_f_1 chr15 72346551-72346570 + | HEXA 72346580 #> HEXA_f_2 chr15 72346558-72346577 + | HEXA 72346580 #> PRNP_f_1 chr20 4699568-4699587 + | PRNP 4699600 #> PRNP_f_2 chr20 4699569-4699588 + | PRNP 4699600 #> PRNP_f_3 chr20 4699575-4699594 + | PRNP 4699600 #> PRNP_f_4 chr20 4699578-4699597 + | PRNP 4699600 #> targetend crisprname crisprspacer crisprpam #> <integer> <character> <character> <character> #> CFTR_f 117559595 CFTR_f ATTAAAGAAAATATCATCTT TGG #> CFTR_r 117559595 CFTR_r TCTGTATCTATATTCATCAT AGG #> HBB_f 5227002 HBB_f GTAACGGCAGACTTCTCCTC AGG #> HBB_r 5227002 HBB_r CATGGTGCATCTGACTCCTG AGG #> HEXA_f_1 72346583 HEXA_f_1 TGTAGAAATCCTTCCAGTCA GGG #> HEXA_f_2 72346583 HEXA_f_2 ATCCTTCCAGTCAGGGCCAT AGG #> PRNP_f_1 4699600 PRNP_f_1 AGCAGCTGGGGCAGTGGTGG GGG #> PRNP_f_2 4699600 PRNP_f_2 GCAGCTGGGGCAGTGGTGGG GGG #> PRNP_f_3 4699600 PRNP_f_3 GGGGCAGTGGTGGGGGGCCT TGG #> PRNP_f_4 4699600 PRNP_f_4 GCAGTGGTGGGGGGCCTTGG CGG #> ------- #> seqinfo: 455 sequences (1 circular) from hg38 genome