什么是RcisTarget?
RcisTarget是一个r包,用于识别基因列表中过度表达的转录因子(TF)结合基序。
RcisTarget基于之前实现的方法
i-cisTarget
(网页界面,基于区域)和
iRegulon
(Cytoscape插件,基于基因)。
如果您在研究中使用RcisTarget,请引用:
Aibar等人(2017)SCENIC:单细胞调控网络推理和聚类。自然的方法。doi: 10.1038 / nmeth.4463
工作流程概述
这个函数
cisTarget ()
允许在基因列表上执行基序富集分析。主要输入参数是基因列表和基序数据库,根据生物和基因TSS周围的搜索空间选择。这是一个关于如何运行分析的示例(有关详细信息,请参阅以下部分):
加载要分析的基因集。例如:geneList1
先进的使用
:
cisTarget ()
函数对于大多数简单的分析来说已经足够了。然而,为了进一步的灵活性(例如,在更大的分析中删除不必要的步骤),RcisTarget还提供了单独运行内部函数的可能性。运行
cisTarget ()
相当于运行以下代码:
# 1。计算AUC motifs_AUC
RcisTarget使用特定于物种的数据库,这些数据库作为独立的r包提供。在运行RcisTarget之前,您需要下载并安装相关组织的数据库(详见“Motif数据库”部分)。
此外,可以安装一些额外的包来并行运行RcisTarget或运行本教程中的交互式示例:
如果(!requireNamespace("BiocManager", quiet =TRUE)) install.packages("BiocManager") #支持并行执行:BiocManager::install(c("doMC", "doRNG")) #对于本教程后续部分中的示例:BiocManager::install(c("DT", "visNetwork"))
一些技巧……
在任何时候,记住你可以访问任何功能的帮助文件。
cisTarget ?
),以及包中的其他教程,使用以下命令:
#在web浏览器中探索教程:browseVignettes(package="RcisTarget") #基于普通行的:vignette(package="RcisTarget") #列表vignette("RcisTarget") #打开
要生成带有自己的数据和注释的HTML报告,可以使用
.Rmd文件
(即复制.Rmd文件,并将其编辑为
R笔记本
在RStudio)。
vignetteFile
输入:基因集
RcisTarget的主要输入是要分析的基因集。基因集可以作为“命名列表”提供,其中每个元素都是一个基因集(包含基因名称的字符向量)或作为
GSEABase: GeneSet
.基因集名称将在以下步骤中用作ID。
library(RcisTarget) geneSet1
额外的帮助:
class(geneSet1) class(geneLists) geneSet2
在本例中,我们将使用缺氧条件下MCF7细胞中上调的基因列表(
PMID: 16565084
).
原来的工作强调了缺氧诱导因子(hif1 - α或HIF1A)通路在缺氧下的作用。该基因列表也用于iRegulon的turorials (
http://iregulon.aertslab.org/tutorial.html
).
txtFile
##[1]“adm”“adora2b”“ahnak2”“ak4”“akap12”“aldoc”
所需的数据库
为了分析基因列表,RcisTarget需要两种类型的数据库:基因基序排名:提供每个基序的所有基因的排名(~得分)。- 2。转录因子基序的注释。
Gene-motif排名
每对基因基序的评分可以使用不同的参数进行。因此,我们提供多个数据库(
motif-rankings
,或其他选择:
镜子
),根据以下几种可能性:
种:输入基因集的种。
适用范围:人类(智人)、小鼠(小家鼠)或苍蝇(果蝇)
评分/搜索空间:确定转录起始位点(TSS)周围的搜索空间。
可用值:TSS上游500bp, TSS周围5kbp或10kbp(例如TSS上游10kbp和下游10kbp)。
为基序评分时考虑的同源物种数量(如区域保护)。
可选值:7种或10种
如果您不知道选择哪个数据库,对于基因列表的分析,我们建议使用
上游TSS 500bp
,以及更大的搜索空间(例如:
kbp TSS + / 5
或
kbp TSS + / -10
),共有7种。当然,选择人类,老鼠或苍蝇取决于你输入的基因列表。
对于其他设置(例如:
新物种
),你可参阅有关如何使用的指南
创建数据库
.
每个数据库存储在一个
.feather
文件。请注意,下载大小通常超过1GB(人类区域数据库为100GB),我们建议下载文件
zsync_curl
’(见
帮助下载
).
例如,在R中下载:
featherURL
有了.feather文件之后,就可以加载它们了
importRankings ()
:
#搜索空间:10k bp around TSS - HUMAN motifRankings
主题的注释
RcisTarget执行的所有计算都是基于主题的。然而,大多数用户将对可能调节基因集的tf感兴趣。motif与转录因子的关联在一个独立的文件中提供。除了由源数据库注释的主题(即。
直接
注释),我们也有
推断出
基于基序相似性和基因词形的进一步注释(例如,与其他基因的相似性注释到基序上)。这些注释通常与函数一起使用
cisTarget ()
或
addMotifAnnotation ()
.
对于排名的“mc9nr”版本中的motifs(24453个motifs),这些注释已经包含在RcisTarget包中,可以用命令加载:
#鼠标:# data(motifAnnotations_mgi) # human: data(motifAnnotations_hgnc) motifAnnotations_hgnc[199:202,]
## motif TF directAnnotation inferred_Orthology inferred_MotifSimil ## 1: bergman__tin NKX2-8 FALSE TRUE TRUE ## 2: bergman__tll DUX4 FALSE FALSE TRUE TRUE ## 3: bergman__tll NR2E1 FALSE TRUE FALSE ## 4: bergman__usp RXRA FALSE TRUE FALSE ##标注源## 1:inferredBy_MotifSimilarity_n_Orthology ## 2: inferredBy_MotifSimilarity ## 3: inferredBy_Orthology ## 4: inferredBy_Orthology ##描述## 1:该基因与D. melanogaster中的FBgn0261930同源(identity = 39%),该基因为相似基序bergman__vnd ('vnd';q-value = 0.000831) ## 2:基因为类似motif transfac_pro__M06988 ('V$DUX4_01: DUX4';q-value = 0.000745) ## 3:基因与D. melanogaster中直接标注motif的FBgn0003720 (identity = 41%)同源## 4:基因与D. melanogaster中直接标注motif的FBgn0003964 (identity = 45%)同源
对于其他版本的排名,函数
importAnnotations
允许从源文件导入注释。
这些注释可以很容易地查询,以获得有关特定主题或tf的进一步信息:
motifAnnotations_hgnc[(directAnnotation==TRUE) & (TF %in% c("HIF1A")),]
## motif TF directAnnotation inferred_Orthology ## 1: cisbp__M3388 HIF1A TRUE FALSE ## 2: cisbp__M3389 HIF1A TRUE FALSE ## 3: cisbp__M3390 HIF1A TRUE FALSE ## 4: cisbp__M3391 HIF1A TRUE FALSE ## 5: cisbp__M6275 HIF1A TRUE FALSE ## 6: hocomoco__hif1a_human . h11o .0. c HIF1A TRUE FALSE ## 7: homer__TACGTGCV_HIF-1a HIF1A TRUE FALSE ## 8: swissregulon__hs__HIF1A。## 9: transfac_pro__M00797 HIF1A TRUE FALSE ## 11: transfac_pro__M00976 HIF1A TRUE FALSE ## 12: transfac_pro__m002012 HIF1A TRUE FALSE ## 13: transfac_pro__M02378 HIF1A TRUE FALSE ## 14: transfac_pro__M07043 HIF1A TRUE FALSE ## 15: transfac_pro__M07384 HIF1A TRUE FALSE ## inferred_MotifSimil注释源描述## 1:FALSE直接注释基因## 2:## 3:直接标注基因## 4:直接标注基因## 5:直接标注基因## 6:直接标注基因## 7:直接标注基因## 8:直接标注基因## 9:直接标注基因## 10:11:直接标注基因## 12:直接标注基因## 13:直接标注基因## 14:直接标注基因## 15:直接标注基因
数据库示例(子集)
除了数据库的完整版本(20k motifs),我们还提供了一个子集,只包含来自cisbp的4.6k motifs(仅限人类:
RcisTarget.hg19.motifDBs.cisbpOnly.500bp
).这些子集可在Bioconductor中用于演示目的。他们将为现有的图案提供相同的AUC评分。然而,我们强烈建议使用完整版本(~20k个motif)以获得更准确的结果,因为motif的归一化富集分数(NES)取决于数据库中motif的总数。
安装此包:
#来自Bioconductor if (!requireNamespace("BiocManager", quiet =TRUE)) install.packages("BiocManager") BiocManager::install(" rcistarget .hg19. motifdb . cisbponly .500bp")
对于这个小插图(演示目的),我们将使用这个数据库:
library(rcistarget .hg19. motifdb . cisbpony .500bp) #排行数据(hg19_500bpUpstream_motifRanking_cispbOnly) motifRankings
## RcisTarget排名。##生物:人类(hg19) ##基因数量:22284(22285个完整数据库可用)## MOTIF数量:4687 ## **此数据库包括排名高达5050 ## ##子集(4.6k cisbp motifs)的人类数据库评分motifs上游500bp的TSS (hg19-500bp-upstream-7species.mc9nr)
#标注数据(hg19_motifAnnotation_cisbpOnly) motifAnnotations_hgnc
一旦加载了基因列表和数据库,就可以使用它们
cisTarget ()
.
cisTarget ()
依次运行执行(
1
) motif富集分析,(
2
) motif-TF注释,和(
3.
)重要基因的选择。
也可以将这些步骤作为单独的命令运行。例如,要跳过用户对其中一个输出感兴趣的分析步骤,或者优化工作流以在多个基因列表上运行它(参见
先进的
详情请参阅章节)。
motifEnrichmentTable_wGenes
高级:按步骤执行
1.计算浓缩
估计基因集上每个基序的过度表示的第一步是计算每对基序-基因集的曲线下面积(AUC)。这是根据基因集在motif排序上的恢复曲线计算的(基因的排序随着motif接近度的降低,如motifRanking数据库所提供的那样)。
motifs_AUC
AUC是由GeneSets提供的motif矩阵。原则上,AUC主要是作为下一步的输入。然而,也可以探索分数的分布,例如在感兴趣的基因集中:
2.选择重要的主题和/或注释到tf
重要图案的选择是基于归一化富集分数(NES)。NES是根据基因集所有基序的AUC分布计算的[(x-mean)/sd]。那些超过给定阈值(默认为3.0)的主题被认为是重要的。
此外,这一步还允许添加注释到主题的tf。
motifEnrichmentTable
类(motifEnrichmentTable)
##[1] "数据。表”“data.frame”
暗(motifEnrichmentTable)
## [1] 17 8
头(motifEnrichmentTable[,“TF_lowConf”= FALSE))
## geneSet motif NES AUC highlightedTFs TFinDB ## 1:缺氧cisbp__M6275 4.41 0.0966 HIF1A ## 2:缺氧cisbp__M0062 3.57 0.0841 HIF1A ## 3:缺氧cisbp__M6279 3.56 0.0840 HIF1A ## 4:缺氧cisbp__M6212 3.49 0.0829 HIF1A ## 5:缺氧cisbp__M2332 3.48 0.0828 HIF1A ## 6:缺氧cisbp__M0387 3.41 0.0817 HIF1A ## TF_highConf ## 1: HIF1A (directAnnotation)。## 2: ## 3: HMGA1 (directAnnotation)。## 4: EPAS1 (directAnnotation)。## 5: ## 6:
被认为是高/低自信的文献可以用论点加以修改
motifAnnot_highConfCat
而且
motifAnnot_lowConfCat
.
3.鉴定每个Motif富集程度最好的基因
由于RcisTarget在基因列表中搜索一个母题的富集,发现一个“富集”的母题并不意味着富集
所有
该基序在基因列表中的基因得分较高。通过这种方式,工作流程的第三步是识别(基因集中的)哪些基因对于每个重要基序是高排序的。
鉴定这些基因有两种方法:(1)与iRegulon和i-cisTarget中使用的方法相当(
方法= " iCisTarget "
,如果运行时间不是问题,建议使用),以及(2)基于在每个秩上使用平均值的近似分布的更快实现(
方法=“大约”
,用于扫描多个基因集)。
重要提示:确保
motifRankings
是
同步骤1
.
motifEnrichmentTable_wGenes
## [1] 5050
暗(motifEnrichmentTable_wGenes)
## [1] 17 11
一些主题的情节:
geneSetName
## [1] 5050
NES:基因集中基序的归一化富集分数
AUC:曲线下面积(用于计算网元)
TFinDB:是否
highlightedTFs
包含在高置信度注释(两个星号)或低置信度注释(一个星号)中。
TF_highConf:根据' motifAnnot_highConfCat '注解到motif上的转录因子。
TF_lowConf:根据' motifAnnot_lowConfCat '注解到motif上的转录因子。
richhedgenes:在给定的基序中排名较高的基因。
nErnGenes:高排序基因的数量
rankAtMax:以最大富集值排序,用于确定富集基因的数量。
motifmenttable_wgenes_wlogo
## ' [.data]中的警告。table ' (results子集,,-c("enrichedGenes", "TF_lowConf"),: ##列(s)没有删除,因为没有找到:[enrichedGenes]
注释到丰富的主题的tf
请注意,tf是基于主题注释提供的。它们可以作为选择相关基序或对某些tf进行优先排序的指导,但基序注释并不意味着表中出现的所有tf都调控基因列表。
anotatedTfs
##[1]“hif1a”“hmga1”“epas1”“foxj1”“foxj2”“foxj3”“foxp1”“foxp2”“foxp3”##[10]“foxp4”“foxg1”
建立关系网
signifMotifNames
未显示输出:
library(visNetwork) motifs % visOptions(highlightNearest = TRUE, nodesIdSelection = TRUE)
sessionInfo ()
这是的输出
sessionInfo ()
在编译本文件的系统上:
##[1]“4月26日星期二17:34:40 2022”
sessionInfo ()
## R版本4.2.0 RC (2022-04-21 r82226) ##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.4 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]data.table_1.14.2 ## [2] DT_0.22 ## [3] rcistarget .hg19. motifdb . cisbpony .500bp_1.15.0 ## [4] RcisTarget_1.17.0 ## ##通过命名空间加载(且未附加):# # # # [1] MatrixGenerics_1.9.0 Biobase_2.57.0 [3] httr_1.4.2 sass_0.4.1 # # [5] bit64_4.0.5 jsonlite_1.8.0 # # [7] DelayedMatrixStats_1.19.0 R.utils_2.11.0 # # [9] bslib_0.3.1 shiny_1.7.1 # # [11] assertthat_0.2.1 highr_0.9 # # [13] stats4_4.2.0 blob_1.2.3 # # [15] GenomeInfoDbData_1.2.8 yaml_2.3.5 # # [17] AUCell_1.19.0 pillar_1.7.0 # # [19] RSQLite_2.2.12 lattice_0.20-45 # # [21] glue_1.6.2 digest_0.6.29 # # [23] GenomicRanges_1.49.0 promises_1.2.0.1 # # [25] XVector_0.37.0 htmltools_0.5.2 # # [27][37] tibble_3.1.6 annotate_1.75.0 ## [41] IRanges_2.31.0 ellipsis_0.3.2 ## [43] SummarizedExperiment_1.27.0 cachem_1.0.6 ## [45] BiocGenerics_0.43.0 cli_3.3.0 ## [47] magrittr_2.0.3 crayon_1.5.1 ## [49] mime_0.12 memoise_2.0.1 ## [51] evaluate_0.15 R.methodsS3_1.8.1 ## [53] fansi_1.0.3graph_1.75.0 # # [55] tools_4.2.0 lifecycle_1.0.1 # # [57] matrixStats_0.62.0 stringr_1.4.0 # # [59] S4Vectors_0.35.0 DelayedArray_0.23.0 # # [61] AnnotationDbi_1.59.0 Biostrings_2.65.0 # # [63] compiler_4.2.0 jquerylib_0.1.4 # # [65] GenomeInfoDb_1.33.0 rlang_1.0.2 # # [67] grid_4.2.0 rcurl_1.98 - 1.6 # # [69] htmlwidgets_1.5.4 crosstalk_1.2.0 # # [71] arrow_7.0.0 bitops_1.0-7 # # [73] rmarkdown_2.14 codetools_0.2-18 # # [75] DBI_1.1.2 R6_2.5.1 # # [77] zoo_1.8-10 knitr_1.38 # # [79] dplyr_1.0.8 fastmap_1.1.0## [81] bit_4.0.4 utf8_1.2.2 ## [83] stringi_1.7.6 Rcpp_1.0.8.3 ## [85] vctrs_0.4.1 png_0.1-7 ## [87] tidyselect_1.1.2 xfun_0.30 ## [89] sparseMatrixStats_1.9.0