警告在本插图中,由于篇幅所限,我们使用静态图像演示RCAS的功能。为了查看来自RCAS的交互式报告的外观rca: runReport ()
.
有关最新的功能、使用和安装说明以及示例输出,请参阅我们的github库在这里.
RCAS是一个自动化系统,它为包含转录组区域的自定义输入文件提供动态基因组注释。这样的转录组区域可以是,例如,由CLIP-Seq分析检测蛋白质-RNA相互作用,RNA修饰(别名为外源性转录组),cage标记位置,或转录组水平上任何其他目标区域集合所检测到的峰值区域。
RCAS被设计为一个报告工具,用于高通量实验检测到的rna结合位点的功能分析。它将包含RNA结合位点基因组坐标的BED格式文件和包含基因组注释特征的GTF文件作为输入,这些特征通常由公共数据库如ensemble bl和UCSC提供。RCAS在RNA结合位点的基因组坐标和基因组注释特征之间进行重叠操作,并生成深度注释摘要,如结合位点相对于基因特征(外显子、内含子、5 ' /3 ' UTR区域、外显子-内含子边界、启动子区域和整个转录本)的分布,以及目标基因的功能丰富项。此外,RCAS还可以避免查询区域内的鉴别motif发现。RCAS的最终报告由高质量的动态图形和表格组成,它们很容易用于出版物或其他学术用途。
RCAS最少需要一个BED文件和一个GTF文件作为输入。BED文件应该包含通过转录组学方法(如Clip-Seq)定位的转录组区域的坐标/间隔。GTF文件应该提供参考注释。GTF文件的推荐来源是系综数据库。
在这个小插图中,为了演示RCAS功能,我们使用RCAS库中内置的示例BED和GTF数据,这些数据可以使用公共R函数data()导入。要导入自定义BED和GTF文件,用户应该执行两个RCAS函数importBed()和importGtf()。
要使用importBed()和importGtf(),用户应该提供各自BED文件和GTF文件的文件路径。为了减少内存使用和时间消耗,我们建议用户设置sampleN = 10000
避免大量的间隔输入。
了解查询区域在基因类型间的分布情况:
biotype_col < -grep(“gene_biotype”,colnames(重叠),值=T)df < -(重叠,长度(独特的(queryIndex)) =biotype_col]colnames(df) < -c(“特性”,“数”)df$< -百分比轮(df$数/长度(queryRegions)*One hundred.,1)df < -df (订单(统计,减少=真正的)]ggplot2::ggplot(df,aes(x =重新排序(功能,-%),y =百分比)+geom_bar(统计=“身份”,aes(填补=功能)+geom_label(aes(y =百分比+0.5),标签=df$数)+实验室(x =的记录功能,y =paste0('重叠百分比(n = ',长度(queryRegions),“)”))+theme_bw(base_size =14)+主题(axis.text.x =element_text(角=90))
GTF文件包含一些注释特征(例如外显子、转录本),通常是显式定义的,然而,一些转录特征,如内含子、外显子-内含子边界、启动子区域只是隐式定义的。这些隐式特征可以使用基因组特征库中的makeTxDb函数族从GTF文件中提取出来。
首先,我们创建一个GRanges对象列表,其中每个列表元素包含转录本特征的所有可用坐标,如转录本、外显子、内含子、5 ' /3 ' utr、外显子-内含子边界和启动子区域。
要对跨基因特征的查询区域分布有一个全局概述,我们可以使用summarizeQueryRegions函数。如果给定的查询区域与任何给定的文本功能坐标都不重叠,则将其归类于NoFeatures
.
摘要< -summarizeQueryRegions(queryRegions =queryRegions,txdbFeatures =txdbFeatures)df < -data.frame(总结)df$< -百分比轮((df$数/长度(queryRegions)),3.)*One hundred.df$< -特点rownames(df)ggplot2::ggplot(df,aes(x =重新排序(功能,-%),y =百分比)+geom_bar(统计=“身份”,aes(填补=功能)+geom_label(aes(y =百分比+3.),标签=df$数)+实验室(x =的记录功能,y =paste0('重叠百分比(n = ',长度(queryRegions),“)”))+theme_bw(base_size =14)+主题(axis.text.x =element_text(角=90))
找出哪些基因与多少查询有重叠,并根据转录本特征对重叠进行分类;我们使用getTargetedGenesTable
函数,该函数返回一个data.frame对象。
dt < -getTargetedGenesTable(queryRegions =queryRegions,txdbFeatures =txdbFeatures)dt < -dt (订单(成绩单,减少=真正的)]knitr::kable(dt [1:10,)
tx_name | 成绩单 | 外显子 | 启动子 | fiveUTRs | 内含子 | cd | threeUTRs |
---|---|---|---|---|---|---|---|
ENST00000317713 | 33 | 28 | 0 | 0 | 5 | 24 | 4 |
ENST00000361689 | 33 | 28 | 0 | 0 | 5 | 24 | 4 |
ENST00000372915 | 33 | 28 | 0 | 0 | 5 | 24 | 4 |
ENST00000539005 | 33 | 28 | 0 | 0 | 5 | 24 | 4 |
ENST00000545844 | 33 | 28 | 0 | 0 | 5 | 24 | 4 |
ENST00000564288 | 33 | 28 | 0 | 0 | 5 | 24 | 4 |
ENST00000567887 | 33 | 28 | 0 | 0 | 5 | 24 | 4 |
ENST00000372925 | 28 | 23 | 0 | 0 | 5 | 19 | 4 |
ENST00000289893 | 27 | 22 | 0 | 0 | 5 | 18 | 4 |
ENST00000367142 | 14 | 14 | 0 | 0 | 0 | 3. | 12 |
在文本特征的边界处观察查询区域的分布可能是有用的。例如,观察转录本末端的相对信号(转录起始位点与转录结束位点)可能很重要。或者,观察信号在外显子边界上的分布也很重要,这可能会让我们对转录调控有一个概念。在这里,我们演示了如何在转录起始/结束位点获得这样的信号分布。同样的方法也可以用于任何其他转录本特征集合(外显子、内含子、启动子、utr等)。
cvgF < -getFeatureBoundaryCoverage(queryRegions =queryRegions,featureCoords =txdbFeatures$成绩单、flankSize =1000,boundaryType =“fiveprime”,sampleN =10000)cvgT < -getFeatureBoundaryCoverage(queryRegions =queryRegions,featureCoords =txdbFeatures$成绩单、flankSize =1000,boundaryType =“threeprime”,sampleN =10000)cvgF$边界< -“fiveprime”cvgT$边界< -“threeprime”df < -rbind(cvgF cvgT)ggplot2::ggplot(df,aes(x =基地,y =meanCoverage))+geom_ribbon(填补=“lightgreen”,aes(ymin =meanCoverage-standardError*1.96,ymax =meanCoverage+standardError*1.96))+geom_line(颜色=“黑”)+facet_grid(~边界)+theme_bw(base_size =14)
可以获取单一类型的文本功能或文本功能列表的覆盖率概况。在这里,我们演示如何跨所有可用的文本功能获得查询区域的覆盖概要。使用sampleN参数对目标区域进行随机下采样,以加快计算速度可能是一个好主意。
cvgList < -calculateCoverageProfileList(queryRegions =queryRegions,targetRegionsList =txdbFeatures,sampleN =10000)ggplot2::ggplot(cvgListaes(x =垃圾箱,y =meanCoverage))+geom_ribbon(填补=“lightgreen”,aes(ymin =meanCoverage-standardError*1.96,ymax =meanCoverage+standardError*1.96))+geom_line(颜色=“黑”)+theme_bw(base_size =14)+facet_wrap(~特性,ncol =3.)
我们基于k-mer频率(允许不匹配)构建一个分类器,以找到信息最丰富的motif,帮助从背景分布中区分查询序列。
motifResults < -runMotifDiscovery(queryRegions =queryRegions,resizeN =15,sampleN =10000,genomeVersion =“hg19”,motifWidth =6,motifN =2,nCores =1)ggseqlogo::ggseqlogo(motifResults$matches_query)
从motif分析结果可以得到一个汇总表
模式 | queryHits | controlHits | querySeqs | controlSeqs | queryFraction | controlFraction | oddsRatio | pvalue | |
---|---|---|---|---|---|---|---|---|---|
GGAGAA | GGAGAA | 574 | 237 | 412 | 186 | 0.41 | 0.19 | 3.06 | 0 |
AGGAGA | AGGAGA | 558 | 222 | 392 | 178 | 0.39 | 0.18 | 2.98 | 0 |
RCAS使用gprofiler2在与查询区域重叠的基因中包装丰富的功能。
targetedGenes < -独特的(重叠$gene_id)res < -美国广播公司::findEnrichedFunctions(targetGenes =targetedGenes,物种=“hsapiens”)res < -res (订单(res$p_value),)resGO < -res (grep(:英国石油公司的, res$源),)knitr::kable(子集(resGO [1:10),选择=c(“p_value”,“term_name”,“源”)))
p_value | term_name | 源 |
---|---|---|
0.0000001 | 有机氮化合物生物合成工艺 | :英国石油公司 |
0.0000006 | 生物合成的过程 | :英国石油公司 |
0.0000025 | 有机物质生物合成过程 | :英国石油公司 |
0.0000034 | 细胞生物合成的过程 | :英国石油公司 |
0.0000128 | 细胞大分子生物合成过程 | :英国石油公司 |
0.0000234 | 细胞大分子代谢过程 | :英国石油公司 |
0.0000293 | 核糖核酸分解过程 | :英国石油公司 |
0.0000347 | 信使核糖核酸分解过程 | :英国石油公司 |
0.0002348 | 调控mRNA代谢过程 | :英国石油公司 |
0.0005063 | 高分子分解过程 | :英国石油公司 |
用户可以使用runReport()函数生成完整的自定义报告,包括上面描述的所有分析模块。分析报告主要有四个部分。
默认情况下,runReport()函数旨在运行所有三个模块,而用户可以关闭这些单独的模块。
下面是使用这些功能生成报告的示例命令。
runReport ()
runReport(queryFilePath = 'input. filepath = ')BED', gffFilePath = '注释。gtf')
runReport(queryFilePath = 'input. filepath = ')BED', gffFilePath = '注释。gtf', motifAnalysis = FALSE, goAnalysis = FALSE)
您可以为BSgenome包中可用的任何基因组版本运行RCAS。
看到BSgenome: available.genomes
.
runReport(queryFilePath = 'input.mm9。BED', gffFilePath = 'annotation.mm9。gtf', genome eversion = 'mm9')
runReport(安静= TRUE)
有人可能对打印用于在runReport函数的HTML报告输出中生成图和表的原始数据感兴趣。这样的表格可以用于多个分析结果的元分析。为了激活这个函数,printProcessedTables参数必须设置为TRUE。
runReport (printProcessedTables = TRUE)
RCAS是在Altuna Akalin(科学生物信息学平台负责人)拉博拉Uyar(生物信息学的科学家),Dilmurat优素福(生物信息学科学家)和里卡多Wurmus柏林医学系统生物学研究所(BIMSB)在马克斯-德尔布鲁克分子医学中心(争取民主变革运动在柏林)。
RCAS是作为生物信息学服务开发的RNA生物信息学中心该中心是德国生物信息学基础设施网络的八个中心之一(de.NBI).