跳到内容

分流器/管道组件

文件夹和文件

姓名姓名
上次提交消息
上次提交日期

最新提交

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

存储库文件导航

管道Comp

管道Comp是一个简单的框架,便于比较涉及不同步骤和参数的管道。它最初是为了对单细胞RNA测序管道进行基准测试而开发的:

pipeComp是计算管道评估的通用框架,它揭示了高性能的单细胞RNA-seq预处理工具
Pierre-Luc Germain、Anthony Sonrel和Mark D Robinson,基因组生物学2020年,doi:10.1186/s13059-020-02136-7

然而,该框架可以应用于任何其他上下文(请参见管道组件_dea以小品为例)。本自述文件概述了框架和包。有关更多详细信息,请参阅两个小插曲。



介绍

管道Comp特别适用于包括许多步骤/参数的管道的基准测试,从而能够探索参数的组合以及方法对管道其他部分的各种变化的稳健性。它还特别适用于跨多个数据集的基准测试。它完全基于R(右)/生物导体,意味着R(右)需要通过呼叫R(右)包装纸。管道Comp以最小化重新计算和重复内存使用的方式处理多线程,并动态计算评估指标,以避免保存许多潜在的大型中间文件,使其非常适合于涉及大型数据集的基准测试。

本自述文件简要概述了该软件包。有关框架的更多详细信息,请参阅pipeComp渐晕图。有关scRNAseq管道和评估指标的具体信息(以及绘图函数的更复杂示例用法),请参阅pipeComp_scRNA渐晕。对于一个完全不同的示例,通过演练创建一个新的管道定义,请参阅管道Comp_dea渐晕.

最近的更改

  • 管道压缩机0.99.43,尽管有错误,现在仍有可能继续运行(参见跳过错误的论点运行管道,以及的“处理错误”部分pipeComp渐晕图.).

  • 管道Comp0.99.26 on,scRNAseq聚类管道的绘图功能(屏幕值绘图_DR屏幕_数值绘图_群集)已被更灵活的流水线通用功能取代(评估热图)以及特定于轮廓的绘图功能(屏幕_数值绘图_图片). 通用热图着色方案也已更改,以使有意义的更改更清晰。

  • 管道Comp0.99.24,多线程能力得到了扩展(现在几乎没有限制)。

  • 管道Comp>=0.99.3对输出格式进行了重要更改,并大大简化了scRNA管道的评估输出。因此,使用较旧版本的包生成的结果不再与当前版本的聚合和绘图功能兼容。

安装

安装使用:

BiocManager::install(“plger/pipeComp”,build_vignettes=TRUE)

由于生物导体标准,管道Comp要求R>=4,但它实际上与R>=3.6.1兼容(尚未移动到R4的用户可以使用R3.6分支).

因为管道Comp作为一个通用的管道基准测试框架,我们试图将包的依赖性限制到最小。然而,要使用scRNA-seq管道和包装器,需要安装更多的软件包。检查给定的管道定义和一组备选方案,请参见?检查管道包.



使用管道Comp

pipeComp框架方案

pipeComp框架A的方案:“PipelineDefinition”类至少将管道表示为对前一个管道的输出连续执行的一组函数,还可以选择伴随求值和聚合函数。B:给定“PipelineDefinition”(一组替代参数和基准数据集),“runPipeline”函数将处理所有组合参数,避免两次重新计算同一步骤并动态编译求值。

管道定义

如上图所示管道定义S4类表示管道,至少是一组函数(接受任意数量的参数),在前一个函数的输出上连续执行,并可选地伴随评估和聚合函数。简单的管道可按如下方式建造:

my_pip<-管道定义(列表(步骤1=函数(x,参数1){#用x和param1做点什么x},step2=函数(x,method1,param2){get(方法1)(x,参数2)},步骤3=函数(x,参数3){x<-some_fancy_function(x,参数3)#这些函数还可以输出评估#通过“intermediate_return”插槽:e<-my评估函数(x)列表(x=x,intermediate_return=e)}))

PipelineDefinition还可以包括每个步骤或评估和聚合函数的描述。例如:

my_pip<-PipelineDefinition(list(step1=function(x,meth1){get(meth2)(x)},步骤2=函数(x,meth2){get(meth2,(x)}),求值=列表(步骤2=函数(x){sum(x)})

请参阅?管道定义了解更多信息,或scrna_pipeline(scrna_pipeline)对于更复杂的示例:

pipDef<-scrna_pipeline()管道定义
具有以下步骤的PipelineDefinition对象:-双倍的(x,双峰法)*获取带有`phenoid`colData列的SCE对象,将其传递给
函数“doubletmethod”,并输出过滤后的SCE。-过滤(x,过滤器)*获取SCE对象,通过函数“filt”传递它,并输出
过滤了Seurat对象。-归一化(x,标准)通过函数“normal”传递对象以返回带有
标准化和缩放数据槽已填充。-选择(x,sel,selnb)返回一个seurat对象,其中VariableFeatures用“selnb”功能填充
使用函数sel。-减光(x,dr,maxdim)*返回PCA缩减的seurat对象,最多包含“maxdim”组件
使用dr函数。-群集(x,集群方法,dims,k,步长,分辨率,最小尺寸)*使用函数“clustmethod”返回单元格簇的命名向量。

操作PipelineDefinition对象

对象上实现了许多通用方法,包括显示,姓名,长度,[,作为列表这意味着,例如,可以通过以下方式从管道中删除步骤:

pd2<-pipDef[-1]

也可以添加步骤(使用添加管道步骤功能)和编辑-请参阅管道Comp想了解更多细节:

vignette(“pipeComp”,package=“pipeCompa”)



正在运行的管道

准备其他参数

运行管道需要3个主要参数:i)pipelineDefinition,ii)要尝试的可选参数值列表,以及iii)基准数据集列表。

论文中使用的scRNAseq数据集可以从以下网址下载无花果并按以下方式制备:

download.file(“https://ndownloader.figuare.com/articles/11787210/versions/1“,”datasets.zip“)解压缩(“datasets.zip”,exdir=“datasets”)数据集<-list.files(“数据集”,pattern=“SCE\\.rds”,full.names=TRUE)名称(数据集)<-sapply(strsplit(basename(datasets),“\\.”),FUN=函数(x)x[1])

接下来,我们准备替代方法和参数。函数可以通过其名称作为参数传递(如果在环境中加载):

#加载替代函数源(system.file(“extdata”,“scrna_alternatives.R”,package=“pipeComp”)#我们建立备选方案列表备选方案<-list(doubletmethod=c(“无”),filt=c(“filt.lenient”,“filt.reficient”),norm=c(“norm.seurat”,“normar.sctransform”,”norm.scran“),sel=c(“sel.vst”),selnb=2000,dr=c(“seurat.pca”),clustmethod=c(“clust.seurat”),尺寸=c(10、15、20、30),分辨率=c(0.01、0.1、0.2、0.3、0.5、0.8、1、1.2、2))

运行分析

res<-runPipeline(数据集,替代项,pipDef,nthreads=3,output.prefix=“myfolder/”)

探索指标

可以手动探索数据,也可以使用通用函数或特定于管线的函数绘制数据。例如:

scrna_evalPlot_silh(资源)

evalHeatmap(res,step=“dimreducation”,what2=“meanAbsCorr.协变量2”,what=c(“log10_total_features”,“log10-total_counts”)

这些函数允许选择要聚合其值的参数,以及自定义筛选:

evalHeatmap(res,step=“clustering”,what=c(“MI”,“ARI”),agg.by=c(“filt”,“normal”))+evalHeatmap(res,step=“clustering”,what=“ARI”,agg.by=c(“filt”,“normal”),filter=n_clus==true.nbClusts,title=“ARI at ntrue k”)

有关更多详细信息,请参阅小插曲和功能的帮助。

发布

未发布版本

包装

未发布包

贡献者

  •  
  •  
  •  

语言文字