VCF
的对象VariantAnnotation包可以由变量记录的索引或名称进行子集。的TVTB包扩展FilterRules
的S4Vectors包提供易于适用于各个槽的过滤规则VCF
对象。这些新的过滤规则类为强大的表达式和函数提供了容器,以便使用适用于固定字段、INFO字段和存储在VCF文件的给定INFO字段中的Ensembl VEP预测的过滤器组合来过滤变量。TVTB 1.24.0
VCF
的对象VariantAnnotation包包含从源VCF文件的特定字段导入的过多信息,并存储在专用插槽(如。固定
,信息
,基因族群
),以及可选的ensemble VEP预测(McLaren et al. 2010)存储在INFO槽的给定键下。
这些信息可用于识别和筛选感兴趣的变量,以供进一步分析。然而,遗传数据集的大小和过滤规则的多样性——以及它们的组合爆炸——在工作空间内存和熵方面带来了相当大的挑战(即。工作空间中对象的大小和数量)。
的FilterRules
类中实现的S4Vectors包提供了一个强大的工具来创建灵活且轻量级的过滤规则表达式
而且函数
可以在给定环境中计算的对象。的TVTB包扩展了这个FilterRules
分类成新奇的类VCF滤波规则,适用于存储在不同槽的信息VCF
对象(即。CollapsedVCF
而且ExpandedVCF
类),如下所述:
类 | 动机 |
---|---|
VcfFixedRules |
对象应用的筛选规则固定 a槽位VCF 对象。 |
VcfInfoRules |
对象应用的筛选规则信息 a槽位VCF 对象。 |
VcfVepRules |
的给定INFO键中存储的集成VEP预测应用的过滤规则VCF 对象。 |
VcfFilterRules |
的组合VcfFixedRules ,VcfInfoRules ,VcfVepRules 适用于VCF 对象。 |
表:每个新类扩展的动机FilterRules
定义VCF滤波规则.
请注意,FilterRules
对象本身适用于VCF
对象,与上述专用类有两个重要区别:
VCF
槽VCF
插槽,例如:fr <- S4Vectors::FilterRules(list(mixed = function(x){VariantAnnotation::fixed(x)[,"FILTER"] == "PASS" & VariantAnnotation::info(x)[,"MAF"] >= 0.05}))
长度为1的FilterRules(1):混合
因为他们继承了FilterRules
类,这些新类受益于为它们的父类定义的访问器和方法,包括:
解释更复杂的结构VCF
对象,有些是新的VCF滤波规则类中实现的TVTB包需要额外的信息存储在新的专用插槽中,并与适当的访问器和设置器相关联。例如:
VcfVepRules
需要INFO键,其中集成变量效应预测器的预测存储在VCF
对象。的vep
可使用Accessor方法访问此插槽。VcfFilterRules
-它可以组合存储在FixedRules
,VcfFixedRules
,VcfInfoRules
,VcfVepRules
,及其他VcfFilterRules
对象——在组合对象中用它们的类型标记每个筛选规则。信息存储在类型
槽位,可以通过只读访问器方法类型
.的实用和用法VCF滤波规则,获得了一组变异和相关的表型信息千人基因组计划第三阶段发布。可以导入为CollapsedVCF
对象,使用以下代码:
library(TVTB) extdata <- system. txt . txt。vcfFile <- file. file("extdata", package = "TVTB")Rsamtools::TabixFile(file = vcfFile) vcf <- VariantAnnotation::readVcf(file = tabixVcf)
VCF过滤规则可以应用于ExpandedVCF
对象相等:
vcf <- VariantAnnotation::expand(x = vcf, row.names = TRUE)
的文档中有描述VariantAnnotation包,关键区别CollapsedVCF
而且ExpandedVCF
对象——两者都扩展了VCF
类是将多等位基因记录分别扩展为双等位基因记录。换句话说(引用VariantAnnotation文档):
”
CollapsedVCF
对象包含ALT数据作为DNAStringSetList
允许每个变体有多个等位基因。相比之下,ExpandedVCF
将ALT数据存储为DNAStringSet
其中ALT列已展开,以创建一个数据的平面形式,每个变体-等位基因组合一行。”
属性的筛选规则具有此差异“ALT”
字段信息
槽位,如a所示后面的一节.
首先,让我们看看哪些领域(即。列名称)可以在VCF
要创建的对象VCF滤波规则:
fixedVcf <- colnames(fixed(vcf)
##[1]“ref”“alt”“qual”“filter”
infoVcf <- colnames(info(vcf)) infoVcf
# #[1]“CIEND”“CIPOS”“CS”“结束”# #[5]“精确”“MC”“MEINFO”“修补”# #[9]“MLEN”“MSTART”“SVLEN”“SVTYPE”# #[13]“保洁”“交流”“对焦”“NS”# #[17]“一”“EAS_AF”“EUR_AF”“AFR_AF”# #[21]“AMR_AF”“SAS_AF”“DP”“AA”# #[25]“v”“EX_TARGET”“MULTI_ALLELIC”“CSQ”
csq <- ensemblVEP::parseCSQToGRanges(x = evcf) vepVcf <- colnames(mcols(csq)) vepVcf
[1]“等位基因”“结果”“影响”##[4]“符号”“基因”“特征”“外显子”##[10]“内含子”“HGVSc”“HGVSp”##[13]“cDNA_position”“CDS_position”“蛋白质位置”## b[16]“氨基酸”“密码子”“存在变量”##[19]“距离”“STRAND”“FLAGS”## b[22]“VARIANT_CLASS”“SYMBOL_SOURCE”“HGNC_ID”##[25]“CANONICAL”“TSL”“APPRIS”##[28]“CCDS”“ENSP”“SWISSPROT”##[31]“TREMBL”“UNIPARC”“GENE_PHENO”##[34]“SIFT”“PolyPhen”“DOMAINS”## [37]“GMAF”“HGVS_OFFSET AFR_MAF“# #[40]“AMR_MAF”“EAS_MAF”“EUR_MAF”# #[43]“SAS_MAF”“AA_MAF”“EA_MAF”# #[46]“ExAC_MAF”“ExAC_Adj_MAF”“ExAC_AFR_MAF”# #[49]“ExAC_AMR_MAF”“ExAC_EAS_MAF”“ExAC_FIN_MAF”# #[52]“ExAC_NFE_MAF”“ExAC_OTH_MAF”“ExAC_SAS_MAF”# #[55]“CLIN_SIG”“体”“把”# #[58]“PUBMED”“MOTIF_NAME”“MOTIF_POS”# #[61]“HIGH_INF_POS”“MOTIF_SCORE_CHANGE”“CADD_PHRED”# #[64]“CADD_RAW”
特定字段的值可用于定义表示基于该值的简单筛选规则的表达式。多个规则可以存储在任意一个规则中FilterRules
对象。理想情况下,VCF滤波规则应该命名为便于使用,但也可以提醒每个特定规则的目的。属性的字段定义了两个筛选规则固定
槽:
“通过”
属性中的值所对应的变量过滤器
字段是“通过”
“qual20”
属性中的值所在的变量战
Field大于等于20.
fixedRules <- VcfFixedRules(exprs = list(pass = expression(FILTER == " pass "), qual20 = expression(QUAL >= 20))) active(fixedRules)["qual20"] <- FALSE summary(evalseparated (fixedRules, vcf))
## pass qual20 ##模式:逻辑模式:逻辑## TRUE:479 TRUE:479
在上面的例子中,所有的变量都传递active“通过”
过滤器,而停用规则“qual20”
)自动返回真正的
适用于所有变体。
也有可能VCF滤波规则使用(相同的)多个字段VCF
Slot)在单个表达式中。在下面的代码块中,VCF滤波规则属性所对应的变量“REF”
而且“ALT”
值(在INFO插槽中)是四个核苷酸之一(即。单核苷酸多态性的简单定义;单核苷酸多态性):
核苷酸<- c("A", "T", "G", " c ") SNPrule <- VcfFixedRules(exprs = list(SNP = expression(as.character(REF) %in% nucleotides & as.character(ALT) %in% nucleotides))) summary(evalseparate (SNPrule, evcf, enclos = .GlobalEnv)))
## SNP ##模式:逻辑## FALSE:14 ## TRUE:467
关于上述过滤规则的一些注意事项:
核苷酸
字符向量,全局环境必须作为封闭环境提供才能成功求值表达式“REF”
而且“ALT”
存储为DNAStringSet
在CollapsedVCF
对象,并且必须转换为字符
以成功应用该方法%, %
.定义筛选规则的表达式也可以包含计算。在下面的代码块中,有两个简单的VCF滤波规则的字段进行定义信息
槽:
“样本”
识别至少90%样本有数据的变异(即。的NS
Value大于或等于0.9
乘以样本总数)“avgSuperPopAF”
计算五个超级群体(在几个INFO字段中可用)中计算的等位基因频率的平均值,随后识别平均值大于的变体0.05
.infules <- VcfInfoRules(exprs = list(samples = expression(NS > (0.9 * ncol(evcf))), avgSuperPopAF = expression((EAS_AF + EUR_AF + AFR_AF + AMR_AF + SAS_AF) / 5 > 0.05))) summary(evalseparsepares (infoRules, evcf, enclos = .GlobalEnv))
## samples avgSuperPopAF ##模式:逻辑模式:逻辑## TRUE:481 FALSE:452 ## TRUE: 29
将过滤器定义为可能更方便函数
对象。例如,下面的代码块:
信息
a槽位VCF
对象作为输入AFcutoff <- 0.05 popCutoff <- 2/3 filterFUN <- function(环境){# info(vcf)返回一个数据帧;下面的rowsum需要data.frame df <- as.data.frame(envir) #识别超级种群中存储等位基因频率的字段popFreqCols <- grep("[[:alpha:]]{3}_AF",colnames(df)) #计算有多少个超级种群具有高于截止值的等位基因频率popCount <- rowsum (df[,popFreqCols] > AFcutoff) #将截止比转换为整数计数popCutOff <- popCutOff * length(popFreqCols) #识别足够多的超级种群通过截止值的变量testRes <- (popCount > popCutOff) #返回一个布尔向量,return(testRes)} funFilter <- VcfInfoRules(exprs = list(commonSuperPops = filterFUN)) summary(evalseparate (funFilter, evcf))
## commonSuperPops ##模式:逻辑## FALSE:464 ## TRUE:17
值得注意的是,filterFUN
函数也可以单独应用于信息
槽的VCF
对象:
总结(filterFUN(信息(evcf)))
17 . ##模式FALSE TRUE ##逻辑464
的grepl
函数特别适合于的目的FilterRules
当他们返回逻辑
向量:
missenseFilter <- VcfVepRules(exprs = list(exact = expression(result == "missense_variant"), grepl = expression(grepl("missense", Consequence))), vep = "CSQ") summary(evalseparate (missenseFilter, evcf)))
## exact grepl ##模式:逻辑模式:逻辑## FALSE:454 FALSE:452 ## TRUE:27 TRUE:29
在上面的代码块中:
“准确”
相关联的给定值27
变异,“grepl”
还匹配与该值关联的额外两个变量“missense_variant&splice_region_variant”
与给定的模式相匹配。通过演绎,这两个规则一起表明这两个变体没有被赋值“missense_variant”
预测。固定
槽的VCF
对象的前面一节中详细介绍了演示数据,并更彻底地在文档中VariantAnnotation包,CollapsedVCF
而且ExpandedVCF
类中存储的数据的类别不同“ALT”
各自的领域固定
槽。结果,VCF滤波规则使用该领域的数据必须考虑到VCF
类,以便适当地处理数据:
ExpandedVCF
对象一个关键的方面ExpandedVCF
对象是“ALT”
他们的领域固定
槽可能只存储一个记录作为一个等位基因DNAStringSet
对象。
例如,在前面的一节中演示了使用多个原始字段筛选规则的ALT数据固定
插槽ExpandedVCF
对象必须重新输入DNAStringSet
来字符
之前%, %
函数可以被应用。
尽管如此,VCF滤波规则也可以利用与DNAStringSet
类。例如,可以使用这些字段来识别基因插入“REF”
而且“ALT”
字段固定
槽:
fixedInsertionFilter <- VcfFixedRules(exprs = list(isinsert = expression(Biostrings::width(ALT) > Biostrings::width(REF)))) evcf_fixedIns <- subsetByFilter(evcf, fixedInsertionFilter) as.data.frame(fixed(evcf_fixedIns)[,c("REF", "ALT")]))
##参考Alt ## 1 a ac ## 2 a at ## 3 c ca ## 4 t ta
这里,上面的VcfFixedRules
同义词是区别吗VcfVepRules
使用Ensembl VEP预测“VARIANT_CLASS”
:
vepInsertionFilter <- VcfVepRules(exprs = list(isinsert = expression(VARIANT_CLASS == "insert "))) evcf_vepIns <- subsetByFilter(evcf, vepInsertionFilter) as.data.frame(fixed(evcf_vepIns)[,c("REF", "ALT")])
##参考Alt ## 1 a ac ## 2 a at ## 3 c ca ## 4 t ta
CollapsedVCF
对象相比之下ExpandedVCF
,CollapsedVCF
在他们的记录中可能包含多个等位基因“ALT”
字段(固定
槽),用a表示DNAStringSetList
对象。
结果,VCF滤波规则使用“ALT”
字段信息
槽中CollapsedVCF
对象可以使用专用的方法DNAStringSetList
来处理数据。例如,多等位基因变异可以通过以下方法识别VcfFixedRules
:
multiallelicFilter <- VcfFixedRules(exprs = list(multiallelicFilter = expression(长度(ALT) > 1))) summary(eval(multiallelicFilter, vcf))
##模式FALSE TRUE ##逻辑477
任何数量的VcfFixedRules
,VcfInfoRules
,VcfVepRules
甚至VcfFilterRules
它们本身——可以组合成一个更大的类对象VcfFilterRules
.值得注意的是,活跃的每个筛选规则的状态被转移到组合对象。尽管VcfFilterRules
类充当多个类型的容器VCF滤波规则,结果是VcfFilterRules
对象还扩展了FilterRules
类,因此可以求值并用于子集VCF
对象与任何专门化的更专门化的类相同。
在创建VcfFixedRules
对象,每个VCF滤波规则合并时用a标记类型值,表示需要计算过滤规则的VCF槽位。此信息存储在new中类型
槽的VcfFixedRules
对象。例如,可以将两者结合起来VcfFixedRules
(分别包含两条和一条过滤规则),一条VcfInfoRules
,一个VcfVepRules
在本小插图前面定义:
vignetteRules <- VcfFilterRules(fixedRules, SNPrule, infoRules, vepInsertionFilter
长度为6的VcfFilterRules(6):传递qual20 SNP样本avgSuperPopAF isinsert
活动(vignetteRules)
##传递qual20 SNP样本avgSuperPopAF ## TRUE FALSE TRUE TRUE TRUE ## isinsert ## TRUE
类型(vignetteRules)
##通过qual20 SNP样本avgSuperPopAF ##“fixed”“fixed”“fixed”“info”“info”## isinsert ##“vep”
概要(evalseparate (vignetteRules, evcf, enclos = .GlobalEnv))
## pass qual20 SNP samples avgSuperPopAF ## Mode:logical Mode:logical Mode:logical Mode:logical Mode:logical Mode:logical ## TRUE:481 TRUE:481 FALSE:14 TRUE:481 FALSE:452 ## TRUE: 467 TRUE: 29 ## isinsert ## Mode:logical ## FALSE:477 ## TRUE:4
很明显1下面这句话会更明显,如果总结
方法显示的结果evalSeparately
就像在R会话中一样。,VCF滤波规则单核苷酸多态性
而且isInsertion
互斥,这就解释了期末考试0
过滤后剩下的变量。方便的是,这些规则中的任何一个都可以在计算剩余的活动筛选规则之前被禁用:
active(vignetteRules)["SNP"] <- FALSE summary(evalseparate (vignetteRules, evcf, enclos = .GlobalEnv))
## pass qual20 SNP samples avgSuperPopAF ##模式:逻辑模式:逻辑模式:逻辑模式:逻辑模式:逻辑模式:逻辑模式:逻辑模式:逻辑模式:逻辑模式:逻辑模式## TRUE:481 TRUE:481 TRUE:481 FALSE:452 ## TRUE: 29 ## isinsert ##模式:逻辑## FALSE:477 ## TRUE:4
因此,停用的筛选规则(“国民党”
)现已返回真正的
对于所有变体,都要留一个final2
变体2同样,这个陈述将受益于的结果evalSeparately
与R会话显示相同。传递剩下的活动筛选规则:
“通过”
0.05
VARIANT_CLASS
等于“插入”
最后,下面的代码块将演示如何操作VcfFilterRules
也可能是由VcfFilterRules
,或者使用它们自己,或者使用任何定义更具体的类VCF滤波规则.值得注意的是,当VcfFilterRules
对象被组合,即类型
而且活跃的
每个过滤规则的值传递给合并对象:
结合VcfFilterRules
与VcfVepRules
combinedFilters <- VcfFilterRules(vignetteRules, # VcfFilterRules missenseFilter # VcfVepRules) type(vignetteRules)
##通过qual20 SNP样本avgSuperPopAF ##“fixed”“fixed”“fixed”“info”“info”## isinsert ##“vep”
类型(combinedFilters)
##通过qual20 SNP样本avgSuperPopAF ##“fixed”“fixed”“fixed”“info”“info”## isinsert精确的grepl ##“vep”“vep”“vep”“vep”
活动(vignetteRules)
##传递qual20 SNP样本avgSuperPopAF ## TRUE FALSE FALSE TRUE TRUE ## isinsert ## TRUE
活动(missenseFilter)
##确切的grepl ## TRUE TRUE
活动(combinedFilters)
## pass qual20 SNP samples avgSuperPopAF ## TRUE FALSE FALSE TRUE TRUE ## isinsert exact grepl ## TRUE TRUE TRUE
结合多个VcfFilterRules
与VcfFilterRules
(更多)
为了演示这个动作,另一个VcfFilterRules
必须首先创建。这可以通过简单地重新输入VcfVepRules
前面定义:
secondVcfFilter <- VcfFilterRules(missenseFilter) secondVcfFilter
## VcfFilterRules长度为2 ## names(2):确切的grepl
现在可以将两者结合起来VcfFilterRules
.让我们甚至结合另一个VcfInfoRules
对象:
manyRules <- VcfFilterRules(vignetteRules, # VcfFilterRules secondVcfFilter, # VcfFilterRules funFilter # VcfInfoRules) manyRules
长度为9的VcfFilterRules (9): pass qual20 SNP样本avgSuperPopAF isinsert精确的grepl commonSuperPops
活动(manyRules)
##传递qual20 SNP样本avgSuperPopAF ## TRUE FALSE FALSE TRUE TRUE ## isInsertion exact grepl commonSuperPops ## TRUE TRUE TRUE TRUE
类型(manyRules)
## pass qual20 SNP样本avgSuperPopAF ##“fixed”“fixed”“fixed”“info”“info”## isinsert精确的grepl commonSuperPops ##“vep”“vep”“vep”“info”
summary(evalseparate (manyRules, evcf, enclos = .GlobalEnv))
## pass qual20 SNP samples avgSuperPopAF ## Mode:logical Mode:logical Mode:logical Mode:logical Mode:logical Mode:logical ## TRUE:481 TRUE:481 TRUE:481 TRUE:481 FALSE:452 ## isinsert exact grepl commonSuperPops ## Mode:logical Mode:logical Mode:logical Mode:logical Mode:logical ## FALSE:477 FALSE:454 FALSE:452 FALSE:464 ## TRUE:4 TRUE: 27 TRUE: 29 TRUE: 17
重要的是,用户必须小心组合规则所有兼容类VCF
将在其中求值的对象(即。CollapsedVCF
或ExpandedVCF
).
这是的输出sessionInfo ()
在编译本文件的系统上:
## R版本4.2.2(2022-10-31)##平台: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]stats graphics grDevices utils datasets methods基础## ##其他附加包:## [1]TVTB_1.24.0 knitr_1.41 BiocStyle_2.26.0 ## ##通过命名空间加载(且未附加):# # # # [1] colorspace_2.0-3 rjson_0.2.21 [3] deldir_1.0-6 ellipsis_0.3.2 # # [5] htmlTable_2.4.1 biovizBase_1.46.0 # # [7] XVector_0.38.0 GenomicRanges_1.50.1 # # [9] base64enc_0.1-3 dichromat_2.0 - 0.1 # # [11] rstudioapi_0.14 farver_2.1.1 # # [13] bit64_4.0.5 AnnotationDbi_1.60.0 # # [15] fansi_1.0.3 xml2_1.3.3 # # [17] codetools_0.2-18 splines_4.2.2 # # [19] cachem_1.0.6 Formula_1.2-4 # # [21] jsonlite_1.8.4 Rsamtools_2.14.0 # # [23] cluster_2.1.4 dbplyr_2.2.1 # # [25] png_0.1-8 BiocManager_1.30.19 # # [27]compiler_4.2.2 httr_1.4.4 ## [29] backports_1.4.1 assertthat_0.2.1 ## [31] Matrix_1.5-3 fastmap_1.1.0 ## [33] lazyeval_0.2.2 limma_3.54.0 ## [35] cli_3.4.1 htmltools_0.5.4 ## [37] prettyunits_1.1.1 tools_4.2.2 ## [39] gtable_0.3.1 glue_1.6.2 ## [41] GenomeInfoDbData_1.2.9 reshape2_1.4.4 ## [43] dplyr_1.0.10 rappdirs_0.3.3 ## [45] Rcpp_1.0.9 Biobase_2.58.0 ## [47] jquerylib_0.1.4 vctrs_0.5.1 ## [49] Biostrings_2.66.0 rtracklayer_1.58.0 ## [51] xfun_0.35 stringr_1.5.0 ## [53] ensemblVEP_1.40.0 lifecycle_1.0.3 ## [55] ensembldb_2.22.0 restfulr_0.0.15 ## [57] XML_3.99-0.13 zlibbioc_1.44.0 ## [59] scales_1.2.1 BSgenome_1.66.1 ## [61] VariantAnnotation_1.44.0 ProtGenerics_1.30.0 ## [63] hms_1.1.2 MatrixGenerics_1.10.0 ## [65] parallel_4.2.2 SummarizedExperiment_1.28.0 ## [67] AnnotationFilter_1.22.0 RColorBrewer_1.1-3 ## [69] yaml_2.3.6 curl_4.3.3 ## [71] gridExtra_2.3 memoise_2.0.1 ## [73] ggplot2_3.4.0 pander_0.6.5 ## [75] sass_0.4.4 rpart_4.1.19 ## [77] biomaRt_2.54.0 reshape_0.8.9 ## [79] latticeExtra_0.6-30 stringi_1.7.8 ## [81] RSQLite_2.2.19 highr_0.9 ## [83] S4Vectors_0.36.1 BiocIO_1.8.0 ## [85] checkmate_2.1.0 GenomicFeatures_1.50.3 ## [87] BiocGenerics_0.44.0 filelock_1.0.2 ## [89] BiocParallel_1.32.4 GenomeInfoDb_1.34.4 ## [91] rlang_1.0.6 pkgconfig_2.0.3 ## [93] matrixStats_0.63.0 bitops_1.0-7 ## [95] evaluate_0.18 lattice_0.20-45 ## [97] labeling_0.4.2 htmlwidgets_1.5.4 ## [99] GenomicAlignments_1.34.0 bit_4.0.5 ## [101] tidyselect_1.2.0 GGally_2.1.2 ## [103] plyr_1.8.8 magrittr_2.0.3 ## [105] bookdown_0.30 R6_2.5.1 ## [107] magick_2.7.3 IRanges_2.32.0 ## [109] generics_0.1.3 Hmisc_4.7-2 ## [111] DelayedArray_0.24.0 DBI_1.1.3 ## [113] withr_2.5.0 pillar_1.8.1 ## [115] foreign_0.8-84 survival_3.4-0 ## [117] KEGGREST_1.38.0 RCurl_1.98-1.9 ## [119] nnet_7.3-18 tibble_3.1.8 ## [121] crayon_1.5.2 interp_1.1-3 ## [123] utf8_1.2.2 BiocFileCache_2.6.0 ## [125] rmarkdown_2.18 jpeg_0.1-10 ## [127] progress_1.2.2 grid_4.2.2 ## [129] data.table_1.14.6 blob_1.2.3 ## [131] digest_0.6.30 EnsDb.Hsapiens.v75_2.99.0 ## [133] stats4_4.2.2 munsell_0.5.0 ## [135] Gviz_1.42.0 bslib_0.4.1
麦克拉伦,W., B.普里查德,D.里奥斯,Y.陈,P.弗利克和F.坎宁安,2010。“用集成API和SNP效应预测器推导基因组变异的后果。”期刊文章。生物信息学26(16): 2069-70。https://doi.org/10.1093/bioinformatics/btq330.