Crispr / Cas9是一个原核免疫系统变成了基因组工程工具,其功能的核心是Cas9/gRNA复合物。的gRNA(引导RNA)含有20个核苷酸(原型)垫片它将复合物引导到具有相同序列的基因组位点,但仅当跟随NGG帕姆(原间隔体相邻基序(见图1A)。的Cas9酶在这个位点上执行一些效应作用:野生型Cas9在间隔核苷酸17之后切断两条链,Cas9Nickase只切断单链(存在两种变体,分别切断每条链),而催化死亡dCas9,融合到一些效应域(KRAB, VPR, APEX)执行一些替代作用(例如KRAB抑制,VPR激活,APEX生物素化)。
'编辑(Anzalone等人,2019)通过将Cas9与逆转录酶(RT)偶联,进一步扩展了这一点。如图1所示,引导RNA被3 '延伸,其中包含引物结合位点(结合作为反转录引物的互补DNA区域)和反转录模板(用于反转录的模板)。该间隔仍然作为靶向剂,引导Cas9/RT复合物到靶向的基因组位点。
引导RNA设计包括寻找好的引导rna来击中目标。具有引导RNA支架的质粒,可以克隆所需的间隔,可以很容易地从AddGene订购。因此,实际的任务可以归结为为感兴趣的目标找到良好的间隔。对于启动编辑,它还包括寻找合适的引物结合位点和逆转录模板来编辑感兴趣的目标位点。一般来说,一个好的间隔器需要满足两个要求:
最小脱靶(mis)匹配,因此只命中预定的目标。
最大的目标效率。多年来,已经开发了多个序列-效率预测模型,其中Doench 2016评分目前已成为社区标准。这个分数并不完美,而且可以找到预测和实际结果不同的例子。然而,到目前为止,它是预测目标效率的最佳启发式方法,值得使用。
多rispr的发展使引导RNA设计更容易。如下所示,它包含用于定义而且变换目标,找到逆电流器计算/添加offtarget计数而且效率得分(Doench 2016),最后返回所有这些作为农庄对象。
安装multicrispr很简单:
# From BioC install.packages("BiocManager") BiocManager::install(version='devel') BiocManager::install("multicrispr") # From gitlab: #url <- 'https://gitlab.gwdg.de/loosolab/software/multicrispr.git' #remotes::install_git(url, repos = BiocManager::repositories())
Doench等人(2016)的python包方位对于目标效率预测,使用他们的方法可以很容易地安装和激活使用网络:
#安装一次# reticulate::conda_create('azienv', 'python=2.7') # reticulate::conda_install('azienv', 'azimuth', pip = TRUE) # reticulate::conda_install('azienv', 'scikit-learn==0.17.1', pip = TRUE) #然后激活reticulate::use_condaenv('azienv')
用于快速脱靶分析的bowtie索引基因组可以使用index_genome
.对于示例中使用的两个基因组mm10和hg38,函数从我们的数据服务器下载预构建索引,允许快速探索(set下载= FALSE
重新建立索引):
index_genome BSgenome.Mmusculus.UCSC.mm10:: BSgenome.Mmusculus.UCSC.mm10 index_genome (BSgenome.Hsapiens.UCSC.hg38:: BSgenome.Hsapiens.UCSC。hg38)
bed_to_granges将一个(基于0的)BED坐标文件转换为一个(基于1的)GRanges。
genes_to_granges而且genefile_to_granges将entrez/ensembl基因标识符转换为GRanges使用txdb
基因模型。char_to_granges使用基于1的坐标向量来指定grange。它可用于启动编辑PRNP基因中的朊病毒疾病位点(Anzalone等人,2019)。
# char_to_granges: Anzalone等人。(2019)主要编辑目标需要(multicrispr) bsgenome <- bsgenome . hsapiens . ucsc .hg38:: bsgenome . hsapiens . ucsc。hg38目标<- char_to_granges(c(PRNP = 'chr20:4699600:+'), bsgenome) plot_interval(目标)
find_primespacers找到主要编辑间隔,3 '扩展和缺口间隔。对于这两种情况,都进行了命中和脱靶分析。所需的编辑总是根据默认的(+)链来指定。
spacers <- find_primespacers(targets, bsgenome=bsgenome, editors = "T")
str(gr2dt(spacers), vec.len=2) ##类的数据。Table '和'data.frame': 4 obs。## $ seqnames:因子w/ 640水平“chr1”,“chr2”,..: 20 20 20 20 ## $ start: int 4699568 4699569 4699575 4699578 ## $ end: int 4699587 4699588 4699594 4699597 ## $ width: int 20 20 20 20 20 ## $ strand:因子w/ 3级别“+”,“-”,“*”:1 1 1 1 ## $ targetname: chr“PRNP”“PRNP”…## $ targetstart: int 4699600 4699600 4699600 4699600 4699600 ## $ targetend: int 4699600 4699600 4699600 ## $ crisprname: chr“PRNP_1”“PRNP_2”…## $ crisprspacer: chr "AGCAGCTGGGGCAGTGGTGG" " gcagctggggcagtggg "…## $ crisprpam: chr "GGG" "GGG"…## $ crisprprimer: chr "GCTGGGGCAGTGG" "CTGGGGCAGTGGT"…## $ crisprtranscript: chr "TGGGGGGCCTTGGCGT" "GGGGGGCCTTGGCGTC"…## $ crisprextension: chr " acgccaaggccccccccacactgccccagc " " gacgccaaggccccccccccacactgccccag "…## $ crisprextrange: CHR "chr20:4699572-4699600:-" "chr20:4699573-4699601:-"… ## $ Doench2014 : num 0.00995 0.04497 ... ## $ nickrange : chr "chr20:4699632-4699651:-;chr20:4699633-4699652:-;chr20:4699664-4699683:-" "chr20:4699632-4699651:-;chr20:4699633-4699652:-;chr20:4699664-4699683:-" ... ## $ nickspacer : chr "TCACTGCCGAAATGTATGAT;GTCACTGCCGAAATGTATGA;GCATGTTTTCACGATAGTAA" "TCACTGCCGAAATGTATGAT;GTCACTGCCGAAATGTATGA;GCATGTTTTCACGATAGTAA" ... ## $ nickpam : chr "GGG;TGG;CGG" "GGG;TGG;CGG" ... ## $ nickDoench2014 : chr "0.141166924987143;0.318967004337458;0.51579612064087" "0.141166924987143;0.318967004337458;0.51579612064087" ... ## $ names : chr "PRNP_1" "PRNP_2" ... ## - attr(*, ".internal.selfref")=
Anzalone, a.v., Randolph, p.b., Davis, J.R.等人。没有双链断裂或供体DNA的搜索和替换基因组编辑。自然576,149-157(2019)。https://doi.org/10.1038/s41586-019-1711-4
Doench等人(2016)。优化sgRNA设计,最大限度地提高CRISPR-Cas9的活性和最小化脱靶效应。自然生物技术,34(7),doi: 10.1038 / nbt.3437