如何分析和rca CLIP-seq山峰从多个样本吗

拉博拉Uyar、里卡多Wurmus Altuna Akalin

2019-10-29

图书馆(rca)

警告:由于空间限制,我们证明此工作流没有图像的有用功能。为了看到一个HTML报告生成基于完整的基因组注释和完整的数据集装饰图案中描述,请参阅在这里

最先进的功能,使用和安装说明,,看到我们的示例输出github库在这里

介绍

rca的第一个版本是为了生产质量控制和探索性的情节分析transcriptome-wide地区感兴趣的关于他们的功能特定的分布,序列基序信号,充实和生物功能。然而,这个工作流不包括函数直接比较多个样本。然而,它可能是经常的看到一个样本的生物内容涉及来自不同样本的内容。例如,一个可以与多个条件设计一个基于CLIP-seq实验每个包含多个生物复制和想要地址以下常见问题:

rca 1.4.0发布以来,床可以处理多个输入文件并生成一个自包含的HTML报告的图和表比较/对比输入样本。

在这个故事中,我们将使用示例数据集从基于片段的测序实验来展示如何使用rca的荟萃分析功能包。然而,同样的工作流可以应用到任何类型的高通量数据集,属于transripts,可以表示为基因组范围在床上格式文件。

准备输入

从头开始的时候,两个必要的输入:

  1. 项目数据文件:一个制表符分隔的文件,其中包含的信息样本,每个样本的床上文件位置。这个文件必须包含最低限度两列:sampleName:样本的名称(在每一行中必须是唯一的)- bedFilePath:床上的路径格式文件,其中包含基因组范围的分析样本。
  2. GTF文件:GTF文件包含的基因组注释GTF格式

项目数据文件

在这个描述中,我们将分析峰值区域通过CLIP-sequencing实验的发现rna结合蛋白付通过Nakaya et al, 2013年,突触功能监管机构FMR1通过Ascano et al . 2012,4 a-iii真核生物启动因素通过Sauliere et al, 2012年。我们使用两个复制实验和约束的一小部分基因组的分析(第一个100万个碱基对的染色体1)。基因组注释和峰值检测到这些区域内可用的内置数据rca包。为了获得完整的数据集,请参考doRiNa数据库

首先,我们发现这些数据集的路径:

然后,我们创建一个文件包含样品名称和床的位置为每个样本文件。

GTF文件(基因组注释)

第二个输入是GTF包含基因组注释的文件的路径。这里我们使用第一个100万基地1号染色体的运用数据库(版本75 -对应GRCh37构建hg19 UCSC的)。

创建一个RSQLite数据库

为了避免冗余预处理相同的输入文件,我们已经开发出一个函数rca: createDB保存所有预处理数据使用R包成一个SQLite数据库RSQLite。用这个函数,所有输入文件从项目数据文件处理,由此产生的加工数据保存在以下SQL表:

与预处理数据创建一个数据库,使用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”。

美国广播公司::deleteSampleDataFromDB(dbPath =databasePath,开始sampleNames =c(“FMR1_1”,“FMR1_2”))

有一个快速浏览到任何给定数据库的内容,我们可以使用rca: summarizeDatabaseContent ()函数。这返回一个表的行数的每一个样本在任何给定的条目表在数据库中存在。

knitr::kable(rca::summarizeDatabaseContent(dbPath =databasePath)开始

每个表的数据库可以读取到内存中使用RSQLite: dbReadTable ()函数。从数据库读取特定的表,首先需要创建连接到sqlite转储。

mydb < -RSQLite::dbConnect(RSQLite::SQLite(),databasePath)开始

列表中存在的表连接:

RSQLite::dbListTables(mydb)

一个表可以读入一个R对象:

annotationSummaries < -RSQLite::dbReadTable(mydb“annotationSummaries”)knitr::kable(annotationSummaries)

警告:重要的是要考虑到表读成一个R的对象从一个sqlite数据库data.frame类。对于大多数表所需的格式,但是需要转换的一些表data.frame所需的类(如。GenomicRangesgtfData为下游处理表)。

生成一个荟萃分析报告

一旦获得一个sqlite数据库,rca: runReportMetaAnalysis ()函数可以用来快速生成哪个样品组之间比较分析报告所需的比较。生成这个报告,只需要两个输入:

  1. dbPath:路径预生成的rca sqlite数据库。
  2. sampleTablePath与两个列:一个制表符分隔的文件(没有rownames)——头1:sampleName。样品的名称包含在报告中。这必须存在于数据库中。——标题2:sampleGroup。这可以是任何东西,从逻辑上组织的条目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报告:

runReportMetaAnalysis(dbPath =databasePath,开始sampleTablePath =sampleDataFile,输出文件=file.path(getwd(),“myProject.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