内容

1介绍

演示使用SummarizedBenchmark比较软件,不是写的R,我们将比较的输出旗鱼,大马哈鱼kallisto,三个alignment-free成绩单同种型量化的方法。由于运行时间、磁盘空间、内存问题,部分不运行期间包构建这个描述。相反,我们提供的预先计算包含最后一个对象SummarizedBenchmark对象。

2数据准备

我们开始通过下载fastq文件,我们将使用作为输入来量化亚型。我们将使用两个样本两个大脑从鼠标BodyMap复制(李et al . 2017年)

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

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

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

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

图书馆(SummarizedBenchmark)函数(){suppressWarnings(系统(“kallisto”,实习生=真正的)[1])strsplit(更小,”“)[[1]][2]函数(){suppressWarnings(系统(“鲑鱼——版本2 > & 1”,实习生=真正的)[1])strsplit(更小,”“)[[1]][2]函数(){suppressWarnings(系统(“旗鱼,版本2 > & 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定量/索引/ kallistoIdx我参考。idx - o % s % s % s % s”,系统(cmd)需要(tximport)tximport(file.path(输出,“abundance.h5”),类型=“kallisto”,txOut =真正的)ab美元数量(,1]的名字(计数)< -酸式焦磷酸钠(strsplit(的名字(数量),\ \| |\ \。”),“[[”,1)函数(样本,args =“- l - p 4”){sprintf(“fastq / % s_1.fastq.gz”、样品)gsub(“_1”,“_2”fastqFile1)sprintf(“鲑鱼/ % s.out”、样品)sprintf(“鲑鱼量化我参考/索引/ salmon_index % s - o % s -1% -2%年代”,系统(cmd)需要(tximport)tximport(file.path(输出,“quant.sf”),类型=“鲑鱼”,txOut =真正的)美元数量(,1]的名字(计数)< -酸式焦磷酸钠(strsplit(的名字(数量),\ \| |\ \。”),“[[”,1)函数(样本,args =“- l IU”){sprintf(“fastq / % s_1.fastq.gz”、样品)gsub(“_1”,“_2”fastqFile1)sprintf(”旗鱼/ % s.out”、样品)sprintf(“回声\”旗鱼定量我参考指数/ sailfish_index % s - o % s 1 < (zcat % s) 2 < (zcat % s)\”| bash”,猫(cmd)系统(cmd)tximport(file.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 =”——偏见- 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 ()包含软件版本和使用的参数。

# # DataFrame 5行4列# #参数。参数元。版本的样本组织# # <人物> <人物> <人物> <人物> # # kallisto-default - t 16“0.43.1 SRR5273705大脑# # kallisto-bias”——偏见- t 16“0.43.1 SRR5273705大脑# # salmon-default“- l IU - p 16“0.9.1 SRR5273705大脑# # salmon-gcBias“- l IU——gcBias - p 16“0.9.1 SRR5273705大脑# # sailfish-default“- l IU - p 16“0.10.0 SRR5273705大脑