警告:由于空间限制,我们证明此工作流没有图像的有用功能。为了看到一个HTML报告生成基于完整的基因组注释和完整的数据集装饰图案中描述,请参阅在这里。
最先进的功能,使用和安装说明,,看到我们的示例输出github库在这里。
rca的第一个版本是为了生产质量控制和探索性的情节分析transcriptome-wide地区感兴趣的关于他们的功能特定的分布,序列基序信号,充实和生物功能。然而,这个工作流不包括函数直接比较多个样本。然而,它可能是经常的看到一个样本的生物内容涉及来自不同样本的内容。例如,一个可以与多个条件设计一个基于CLIP-seq实验每个包含多个生物复制和想要地址以下常见问题:
rca 1.4.0发布以来,床可以处理多个输入文件并生成一个自包含的HTML报告的图和表比较/对比输入样本。
在这个故事中,我们将使用示例数据集从基于片段的测序实验来展示如何使用rca的荟萃分析功能包。然而,同样的工作流可以应用到任何类型的高通量数据集,属于transripts,可以表示为基因组范围在床上格式文件。
从头开始的时候,两个必要的输入:
在这个描述中,我们将分析峰值区域通过CLIP-sequencing实验的发现rna结合蛋白付通过Nakaya et al, 2013年,突触功能监管机构FMR1通过Ascano et al . 2012,4 a-iii真核生物启动因素通过Sauliere et al, 2012年。我们使用两个复制实验和约束的一小部分基因组的分析(第一个100万个碱基对的染色体1)。基因组注释和峰值检测到这些区域内可用的内置数据rca包。为了获得完整的数据集,请参考doRiNa数据库。
首先,我们发现这些数据集的路径:
FUS_rep1_path < -执行(“extdata”,“FUS_Nakaya2013c_hg19.bed”,包=rca的)FUS_rep2_path < -执行(“extdata”,“FUS_Nakaya2013d_hg19.bed”,包=rca的)FMR1_rep1_path < -执行(“extdata”,“FMR1_Ascano2012a_hg19.bed”,包=rca的)FMR1_rep2_path < -执行(“extdata”,“FMR1_Ascano2012b_hg19.bed”,包=rca的)EIF4A3_rep1_path < -执行(“extdata”,“EIF4A3Sauliere20121a.bed”,包=rca的)EIF4A3_rep2_path < -执行(“extdata”,“EIF4A3Sauliere20121b.bed”,包=rca的)
然后,我们创建一个文件包含样品名称和床的位置为每个样本文件。
projData < -data.frame(“sampleName”=c(“FUS_1”,“FUS_2”,“FMR1_1”,“FMR1_2”,“EIF4A3_1”,“EIF4A3_2”),“bedFilePath”=c(FUS_rep2_path FUS_rep1_pathFMR1_rep1_path FMR1_rep2_path,EIF4A3_rep1_path EIF4A3_rep2_path),stringsAsFactors =假)projDataFile < -file.path(getwd(),“myProjDataFile.tsv”)write.table(projDataFile projData9月=”\ t”,报价=假,row.names =假)
第二个输入是GTF包含基因组注释的文件的路径。这里我们使用第一个100万基地1号染色体的运用数据库(版本75 -对应GRCh37构建hg19 UCSC的)。
为了避免冗余预处理相同的输入文件,我们已经开发出一个函数rca: createDB
保存所有预处理数据使用R包成一个SQLite数据库RSQLite。用这个函数,所有输入文件从项目数据文件处理,由此产生的加工数据保存在以下SQL表:
gtfFilePath
论点。该表的字段是:seqnames,开始,结束,宽度、链、来源、类型、分数,gene_id, gene_name, transcript_id exon_id, exon_number。与预处理数据创建一个数据库,使用rca: createDB ()
函数。当开始一个新的数据库,我们可以提供一个不存在的文件名称必须提供相应的文件夹。如果在给定的位置数据库已经存在,将返回一个错误。
databasePath < -开始file.path(getwd(),“myProject.sqlite”)看不见的(createDB(dbPath =databasePath,开始projDataFile =projDataFile,gtfFilePath =gtfFilePath,genomeVersion =“hg19”))
然而,也可以通过设置更新现有数据库更新
参数真正的
。这是非常有用的,当你想要添加新的数据集到现有项目。这只会增加加工数据样本数据库中不存在。这不会试图覆盖现有数据为现有的样品。
createDB (dbPath = databasePath,开始projDataFile = projDataFile gtfFilePath = gtfFilePath genomeVersion = hg19,更新= TRUE)
也可以通过设置关闭某些分析模块annotationSummary
,coverageProfiles
,或motifAnalysis
模块假
。例如,下面的命令将创建相同的数据库除了discoveredMotifs
表。
createDB (dbPath = databasePath,开始projDataFile = projDataFile gtfFilePath = gtfFilePath genomeVersion = hg19, motifAnalysis = FALSE)
如果用户希望覆盖现有的数据集样本,所有相关数据为给定的样本必须首先从数据库中清除。可以通过这样做:
这里我们抹去所有条目相关样本“FMR1_1”和“FMR1_2”。
有一个快速浏览到任何给定数据库的内容,我们可以使用rca: summarizeDatabaseContent ()
函数。这返回一个表的行数的每一个样本在任何给定的条目表在数据库中存在。
每个表的数据库可以读取到内存中使用RSQLite: dbReadTable ()
函数。从数据库读取特定的表,首先需要创建连接到sqlite转储。
列表中存在的表连接:
一个表可以读入一个R对象:
annotationSummaries < -RSQLite::dbReadTable(mydb“annotationSummaries”)knitr::kable(annotationSummaries)
警告:重要的是要考虑到表读成一个R的对象从一个sqlite数据库data.frame
类。对于大多数表所需的格式,但是需要转换的一些表data.frame
所需的类(如。GenomicRanges
为gtfData
为下游处理表)。
一旦获得一个sqlite数据库,rca: runReportMetaAnalysis ()
函数可以用来快速生成哪个样品组之间比较分析报告所需的比较。生成这个报告,只需要两个输入:
sampleName
列。例如,复制相同的生物可以被分配相同的条件sampleGroup
价值。这里是如何生成一个独立的HTML报告与交互式数据从预计算rca数据库和表,比较剪辑从两个复制的数据集付家
和两个复制的EIF4A3
。
我们首先创建一个示例数据文件。这个文件中的样品名称应该是原始项目的一个子集数据文件用于生成sqlite数据库。
sampleData < -data.frame(“sampleName”=c(“FUS_1”,“FUS_2”,“EIF4A3_1”,“EIF4A3_2”),“sampleGroup”=c(“付”,“付”,“EIF4A3”,“EIF4A3”),stringsAsFactors =假)sampleDataFile < -file.path(getwd(),“mySampleDataTable.tsv”)write.table(sampleDataFile sampleData9月=”\ t”,报价=假,row.names =假)
现在,我们准备好一个HTML报告:
rca是发达的Altuna Akalin(科学的生物信息学平台)在柏林医学系统生物学研究所(BIMSB在分子医学Max-Delbrueck-Center ()争取民主变革运动在柏林)。
rca开发作为生物信息学服务的一部分RNA生物信息学中心,这是八个中心之一的德国生物信息学网络基础设施(de.NBI)。
引用rca在出版物使用:
拉Uyar Dilmurat优素福,里卡多Wurmus尼古拉斯Rajewsky,乌维奥,Altuna Akalin;rca: RNA中心transcriptome-wide注释系统感兴趣的区域。2017 gkx120核酸Res。doi: 10.1093 / nar / gkx120