内容

1简介

演示…的用法SummarizedBenchmark比较非编写的软件R,我们将比较的输出旗鱼大马哈鱼而且kallisto,三种无需校准的转录本亚型定量方法。由于运行时间、磁盘空间和内存问题,这个小插图的某些部分在包构建期间不会运行。相反,我们提供了包含final的预计算对象SummarizedBenchmark对象。

2数据准备

我们首先下载fastq文件,我们将使用这些文件作为输入来量化异构体。我们将使用小鼠体图的两个大脑副本中的两个样本(Li et al. 2017)

三种方法中的每一种(大马哈鱼旗鱼而且kallisto)需要参考转录组的索引步骤。我们将使用Gencode项目中的鼠标注释。下面的代码下载小鼠参考转录组。

最后,我们使用下面的代码构建三种不同方法的转录组指数。

3.用系统调用准备函数以运行不同的方法

如果我们想用BenchDesign基础设施来比较通过命令行运行的工具,我们需要在R包含对命令行的系统调用。这些函数还必须收集方法的输出并将它们导入R.首先,我们实现三个函数,它们使我们能够检索将要运行的软件版本。

图书馆(SummarizedBenchmark)函数() {suppressWarnings系统“kallisto”实习生=真正的)[1])strsplit(更小,”“) [[1]] [2函数() {suppressWarnings系统三文鱼——第二版>&1实习生=真正的)[1])strsplit(更小,”“) [[1]] [2函数() {suppressWarnings系统旗鱼——第二版>&1实习生=真正的)[1])strsplit(更小,”“) [[1]] [3.tximport包)。

dir.create(“/ kallisto”showWarnings =dir.create(“/鲑鱼”showWarnings =dir.create(“/旗鱼”showWarnings =函数(样本,args ="") {sprintf“fastq / % s_1.fastq.gz”、样品)gsub“_1”“_2”fastqFile1)sprintf“kallisto / % s.out”、样品)sprintf"kallisto quant -i reference/index/kallistoIdx. "Idx -o %s %s %s"系统(cmd)需要(tximport)tximportfile.path(输出,“abundance.h5”),类型=“kallisto”txOut =真正的ab数量(,1的名字(计数)< -酸式焦磷酸钠strsplit的名字(数量),\ \||\ \."),“[[”1函数(样本,args ="-l A -p 4") {sprintf“fastq / % s_1.fastq.gz”、样品)gsub“_1”“_2”fastqFile1)sprintf“鲑鱼/ % s.out”、样品)sprintf"salmon quant -i reference/index/salmon_index %s -o %s -1 %s -2 %s"系统(cmd)需要(tximport)tximportfile.path(输出,“quant.sf”),类型=“鲑鱼”txOut =真正的数量(,1的名字(计数)< -酸式焦磷酸钠strsplit的名字(数量),\ \||\ \."),“[[”1函数(样本,args =“- l IU”) {sprintf“fastq / % s_1.fastq.gz”、样品)gsub“_1”“_2”fastqFile1)sprintf”旗鱼/ % s.out”、样品)sprintf“回声\”旗鱼量化-i reference/index/sailfish_index %s -o %s -1 <(zcat %s) -2 <(zcat %s)\”| bash”猫(cmd)系统(cmd)tximportfile.path(输出,“quant.sf”),类型=“旗鱼”txOut =真正的数量(,1的名字(计数)< -酸式焦磷酸钠strsplit的名字(数量),\ \||\ \."),“[[”1
     
图书馆(SummarizedBenchmark)图书馆(tximport)BenchDesign()% > %调用addMethod标签=“kallisto-default”func =runKallisto,params =rlang::、动荡频仍的示例=样本,args =“- t 16”),元=列表pkg_vers =rlang::现状getKallistoVersion()))% > %调用addMethod标签=“kallisto-bias”func =runKallisto,params =rlang::、动荡频仍的示例=样本,args =——bias -t 16"),元=列表pkg_vers =rlang::现状getKallistoVersion()))% > %调用addMethod标签=“salmon-default”func =runSalmon,params =rlang::、动荡频仍的示例=样本,args ="-l IU -p 16"),元=列表pkg_vers =rlang::现状getSalmonVersion()))% > %调用addMethod标签=“salmon-gcBias”func =runSalmon,params =rlang::、动荡频仍的示例=样本,args =-l IU—gcBias -p 16"),元=列表pkg_vers =rlang::现状getSalmonVersion()))% > %调用addMethod标签=“sailfish-default”func =runSailfish,params =rlang::、动荡频仍的示例=样本,args ="-l IU -p 16"),元=列表pkg_vers =rlang::现状getSailfishVersion()))printMethods(b)

现在,下一步是运行基准试验。因为我们正在为两个样本运行基准测试,所以我们使用拉普兰人()要循环遍历示例名称,请为每个示例名称运行基准测试,并使用组合它们cbind ()

由此产生的allSB对象已预先计算,并可通过

注意,列表的每个元素都包含SummarizedBenchmark对象,其中colData ()包含软件版本和使用参数。

## 5行4列的数据帧参数元。版本样本组织## <字符> <字符> <字符> <字符> ## kalliso -default "-t 16" 0.43.1 SRR5273705 brain ##鲑鱼-default "-l IU -p 16" 0.9.1 SRR5273705 brain ##鲑鱼-gcBias "-l IU -gcBias -p 16" 0.9.1 SRR5273705 brain ##旗鱼-default "-l IU -p 16" 0.10.0 SRR5273705 brain ##旗鱼-default "-l IU -p 16" 0.10.0 SRR5273705 brain ##

5构建一个rnaseqcomp对象

对于更详尽的基准异构体量化结果,我们建议读者通过(Teng et al. 2016),描述了评估异构体定量管道性能的几个指标。这些指标是在rnaseqcomp.方法中的步骤如下所示rnaseqcomp包来创建rnaseqcomp对象。我们建议读者遵循的小插图rnaseqcomp一揽子详尽的基准异构体定量方法。