1crisprBwa概述

crisprBwa提供两个主要功能,使用短读比对器BWA-backtrack将短DNA序列比对到参考基因组(Li and Durbin 2009)并以R对象的形式返回对齐:runBwa而且runCrisprBwa.它使用了Bioconductor包Rbwa以独立于平台的方式访问BWA程序。这意味着用户在使用前不需要安装BWAcrisprBwa

后一个函数(runCrisprBwa)专门设计用于使用CRISPR核酸酶对象和Bioconductor包中定义的CRISPR基因组算术来映射和注释CRISPR引导RNA (gRNA)间隔序列crisprBase.这使得几乎任何类型的CRISPR核酸酶都可以快速准确地对gRNA间隔序列进行靶向和脱靶搜索。它还为我们的主要gRNA设计包提供了一个脱靶搜索引擎crisprDesigncrisprVerse生态系统。看到addSpacerAlignments函数crisprDesign欲知详情。

2安装和开始

2.1软件需求

2.1.1操作系统需求

此包仅支持macOS和Linux。包在R版本4.2.1上开发和测试。

2.2来自Bioconductor的安装

crisprBwa可以在一个新的R会话中使用以下命令从Bioconductor devel分支安装:

如果(!require("BiocManager", quiet = TRUE)) install.packages("BiocManager") BiocManager::install(" devel") BiocManager::install("crisprBwa")

3.建立bwa指数

使用runBwarunCrisprBwa,用户需要首先建立一个BWA基因组索引。对于一个给定的基因组,这一步只需要做一次。的Rbwa包方便地提供了功能bwa_build_index从FASTA文件中的任何自定义基因组构建BWA索引。

例如,我们为人类12号染色体的一小部分建立了BWA指数(chr12.fa文件载于crisprBwaPackage),并将索引文件保存为myIndex到一个临时目录:

库(Rbwa) fasta <- system。file(package="crisprBwa", "example/chr12.fa") outdir <- tempdir() index <- file. bat ")Rbwa::bwa_build_index(fasta, index_prefix=index)

要了解如何为完整的基因组或转录组创建BWA索引,请访问我们的教程页面

4结合使用runCrisprBwa

例如,我们将5个间隔序列(长度为20bp)与上面构建的自定义基因组对齐,允许间隔序列和原间隔序列之间最多3个不匹配。

我们指定的搜索是野生型Cas9 (SpCas9)核酸酶通过提供CrisprNuclease对象SpCas9可透过crisprBase包中。这个论点规范= FALSE指定非规范的PAM序列也被考虑(SpCas9的NAG和NGA)。这个函数getAvailableCrisprNucleasescrisprBase返回available的字符向量crisprNucleasecrisprBase

我们还需要提供一个BSgenome与参考基因组对应的对象,用于比对提取目标序列的原间隔子和PAM序列。

库(crisprBwa)库(BSgenome.Hsapiens.UCSC.hg38)
##加载所需包:BSgenome
##加载所需的包:BiocGenerics
## ##附加包:“BiocGenerics”
以下对象从'package:stats'中屏蔽:## ## IQR, mad, sd, var, xtabs
##以下对象从'package:base'中屏蔽:## ## Filter, Find, Map, Position, Reduce, anyduplication, aperm, append, ## as.data.frame, basename, cbind, colnames, dirname, do。调用,## duplicate eval evalq get grep grepl, intersect, is。Unsorted, ## lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin, ## pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table, ## tapply, union, unique, unsplit,其中。马克斯,which.min
##加载所需的包:S4Vectors
##加载所需的包:stats4
## ##附加包:“S4Vectors”
以下对象从'package:base'中屏蔽:## ## I,展开。网格,unname
##加载所需的包:IRanges
##加载所需包:GenomeInfoDb
##加载所需软件包:GenomicRanges
##加载所需的包:生物strings
##加载所需的包:XVector
## ##附加包:“Biostrings”
下面的对象从'package:base'屏蔽:## ## strsplit
##加载所需的包:rtracklayer
data(SpCas9, package="crisprBase") crisprNuclease <- SpCas9 bsgenome <- bsgenome . hspapiens . ucsc . data(SpCas9, package="crisprBase")hg38 spacers <- c("AGCTGTCCGTGGGGGTCCGC", "CCCCTGCTGCTGTGCCAGGC", "ACGAACTGTAAAAGGCTTGG", "ACGAACTGTAACAGGCTTGG", "AAGGCCCTCAGAGTAATTAC") runCrisprBwa(spacers, bsgenome=bsgenome, crisprNuclease=crisprNuclease, n_mismatches=3, canonical=FALSE, bwa_index=index)
## [runCrisprBwa]使用bsgenome . hspiens . ucsc。hg38 ## [runCrisprBwa]寻找SpCas9原间隔体
# #间隔protospacer pam pam_site链从而向# # 1 AAGGCCCTCAGAGTAATTAC AAGGCCCTCAGAGTAATTAC AGA chr12 170636 + # # 2 ACGAACTGTAAAAGGCTTGG ACGAACTGTAAAAGGCTTGG gg chr12 170815 - # # 3 ACGAACTGTAACAGGCTTGG ACGAACTGTAAAAGGCTTGG gg chr12 170815 - # # 4 AGCTGTCCGTGGGGGTCCGC AGCTGTCCGTGGGGGTCCGC gg chr12 170585 + # # 5 CCCCTGCTGCTGTGCCAGGC CCCCTGCTGCTGTGCCAGGC CGG chr12 170609 + # # n_mismatches规范# # 1 0错误# # 2 0真正的# # 3 1真正的# # 4 0真正的# # 5 0真的

5CRISPR之外的应用

这个函数runBwa类似于runCrisprBwa,但没有对PAM序列施加约束。它可以用来搜索基因组中的任何短读序列。

5.1使用RNAi的例子(siRNA设计)

由种子区域外的错配耐受引起的种子相关脱靶是RNA干扰(RNAi)实验中观察到的一个被充分研究和表征的问题。runBWa可用于将shRNA/siRNA种子序列映射到参考基因组,以预测假定的脱靶:

seeds <- c("GTAAGCGGAGTGT", "AACGGGGAGATTG") runBwa(seeds, n_mismatches=2, bwa_index=index)
##查询码串不匹配## 1 AACGGGGAGATTG chr12 68337 - 2 ## 2 AACGGGGAGATTG chr12 1666 - 2 ## 3 AACGGGGAGATTG chr12 123863 + 2 ## 4 AACGGGGAGATTG chr12 151731 - 2 ## 5 AACGGGGAGATTG chr12 110901 + 2 ## 6 GTAAGCGGAGTGT chr12 101550 - 2

6再现性

sessionInfo ()
## R版本4.2.1(2022-06-23)##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.5 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.16-bioc/R/lib/libRlapack。所以## ## locale: ## [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# # [3] LC_TIME=en_GB LC_COLLATE= c# # [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 ## [7] LC_PAPER=en_US。UTF-8 LC_NAME= c# # [9] LC_ADDRESS=C lc_phone = c# # [11] LC_MEASUREMENT=en_US。utf - 8 LC_IDENTIFICATION = C附加基本包:# # # # # # [1]stats4统计图形grDevices跑龙套数据集方法# # # # # #[8]基地其他附加包:# # [1]BSgenome.Hsapiens.UCSC.hg38_1.4.4 BSgenome_1.66.0 # # [3] rtracklayer_1.58.0 Biostrings_2.66.0 # # [5] XVector_0.38.0 GenomicRanges_1.50.0 # # [7] GenomeInfoDb_1.34.0 IRanges_2.32.0 # # [9] S4Vectors_0.36.0 BiocGenerics_0.44.0 # # [11] crisprBwa_1.2.0 Rbwa_1.2.0 # # [13] BiocStyle_2.26.0 # # # #通过加载一个名称空间(而不是附加):# # # # [1] lattice_0.20-45 Rsamtools_2.14.0 [3] digest_0.6.30 utf8_1.2.2 # # [5] R6_2.5.1 evaluate_0.17 # # [7] pillar_1.8.1 zlibbioc_1.44.0 # # [9] rlang_1.0.6 jquerylib_0.1.4 # # [11] Matrix_1.5-1 rmarkdown_2.17 # # [13] BiocParallel_1.32.0 readr_2.1.3 # # [15] stringr_1.4.1 bit_4.0.4 # # [17] rcurl_1.98 - 1.9 DelayedArray_0.24.0 # # [19] compiler_4.2.1 xfun_0.34 # # [21] pkgconfig_2.0.3 htmltools_0.5.3 # # [23] tidyselect_1.2.0 SummarizedExperiment_1.28.0 # # [25] tibble_3.1.8 GenomeInfoDbData_1.2.9 # #[39] bitrittr_2 .0.3 vroom_1.6.0 ## [41] cli_3.4.1 stringi_1.7.8 ## [43] cachem_1.0.6 crisprBase_1.2.0 ## [45] bslib_0.4.0 ellipsis_0.3.2 ## [47] vctrs_0.5.0 rjson_0.2.21 ## [51] bit64_4.0.5 archive_1.1.5 ## [53] Biobase_2.58.0 ## [53] Biobase_2.58.0glue_1.6.2 ## [55] hms_1.1.2 MatrixGenerics_1.10.0 ## [57] parallel_4.2.1 fastmap_1.1.0 ## [59] yaml_2.3.6 BiocManager_1.30.19 ## [61] knitr_1.40 sass_0.4.2 ## [63] BiocIO_1.8.0

参考文献

李,恒,理查德·德宾,2009。“快速和准确的短读对齐与Burrows-Wheeler变换。”生物信息学25(14): 1754-60。