内容

1小插图版

这个小插图是使用CoGAPS版本构建的:

packageVersion(“CoGAPS”)
## [1] '3.18.0'

2简介

模式集协同基因关联(CoGAPS)是一种用于基因表达数据潜在空间学习的技术。CoGAPS是非负矩阵分解(NMF)类算法的一个成员。nmf将一个数据矩阵分解为两个相关的矩阵,其中包含基因权重,振幅(a)矩阵和样本权重,模式(P)矩阵。A中的每一列或P中的每一行都定义了一个特征,这组特征共同定义了基因和样本之间的潜在空间。在NMF中,A和P矩阵中元素的值被限制为大于或等于零。这种约束同时反映了基因表达数据的非负性,并加强了结果特征维度的可加性,产生了生物学上直观的解释解决方案(Seung and Lee (1999)).

CoGAPS有两个扩展,使其能够扩展到大型数据集,全基因组CoGAPS (GWCoGAPS)和单细胞CoGAPS (scCOGAPS)。这个包为所有三个方法提供了统一的R接口,并在c++中实现了并行的、高效的底层实现。

3.安装CoGAPS

CoGAPS是一个生物导体包,因此发布版本可以按以下方式安装:

源(“//www.andersvercelli.com/biocLite.R”)biocLite(“CoGAPS”)

的最新版本CoGAPS可以直接从FertigLabGithub库:

##方法1使用biocLite biocLite("FertigLab/CoGAPS", dependencies = TRUE, build_vignettes = TRUE) ##方法2使用devtools包devtools::install_github("FertigLab/CoGAPS")

还有一个选项可以安装的开发版本CoGAPS,虽然这个版本有最新的实验功能,但不能保证稳定。

##方法一使用biocLite biocLite("FertigLab/CoGAPS", ref="develop", dependencies = TRUE, build_vignettes = TRUE) ##方法二使用devtools包devtools::install_github("FertigLab/CoGAPS", ref="develop")

4方案概述

我们首先使用一个简单的模拟数据集介绍包的特性。在后面的部分中,我们将在真实数据集上提供两个示例工作流。

4.1使用默认参数运行CoGAPS

唯一需要的参数CoGAPS是数据集。这可以是矩阵data.frameSummarizedExperimentSingleCellExperiment或文件的路径(tsvcsvmtxgct)内载有资料。

#运行CoGAPS(迭代次数少,因为这只是一个例子)矩阵,nIterations = 1000)
## ##这是CoGAPS 3.18.0版本在GIST上运行标准CoGAPS。基质(1363个基因,9个样本)with parameters: ## ## -- Standard Parameters -- ## nPatterns 7 ## nIterations 1000 ## seed 570 ## sparseOptimization FALSE ## ## -- Sparsity Parameters -- ## alpha 0.01 ## maxGibbsMass 100
##[1]“CogapsResult对象具有1363个特征和9个样本”##[1]“7个模式被学习”

当CoGAPS运行时,它会定期打印状态消息。例如,20000 25000,原子:2932(80),ChiSq: 9728,时间:00:00:29 / 00:01:19.这条消息告诉我们,CoGAPS在这个阶段的迭代是25000次中的20000次,并且在估计的1分19秒中已经过去了29秒。它还告诉我们原子域的大小,这是算法的核心组成部分,但现在可以忽略。最后,ChiSq值告诉我们A和P矩阵重建原始数据的紧密程度。一般来说,我们希望这个值下降-但它并不是一个完美的测量CoGAPS如何发现数据中包含的生物过程。CoGAPS还打印一条消息,表明当前正在发生哪个阶段。该算法分为两个阶段平衡而且抽样

4.2设置参数

4.2.1模型参数

大多数情况下,我们希望在运行CoGAPS之前设置一些参数。参数使用CogapsParams对象。该对象将存储运行CoGAPS所需的所有参数,并提供了一个查看和设置参数值的简单接口。

<- new("CogapsParams") #查看所有的参数参数
##——标准参数——## nPatterns 7 ## nIterations 50000 ## seed 402 ## sparseOptimization FALSE ## ##——稀疏参数——## alpha 0.01 ## maxGibbsMass 100
getParam(params, "nPatterns")
## [1]
#设置特定参数的值params <- setParam(params, "nPatterns", 3) getParam(params, "nPatterns")
## [1]

一旦我们创建了参数对象,我们就可以将数据传递给它CoGAPS

使用指定的模型参数运行CoGAPS矩阵,参数,nIterations=1000)
## ##这是CoGAPS 3.18.0版本在GIST上运行标准CoGAPS。基质(1363个基因,9个样本)with parameters: ## ## -- Standard Parameters -- ## nPatterns 3 ## nIterations 1000 ## seed 402 ## sparseOptimization FALSE ## ## -- Sparsity Parameters -- ## alpha 0.01 ## maxGibbsMass 100
##[1]“CogapsResult对象具有1363个特征和9个样本”##[1]“3个模式被学习”

4.2.2运行配置选项

CogapsParams类管理模型参数——即影响结果的参数。还有一些参数是直接传递给的CoGAPS控制显示运行状态之类的事情。

使用指定的输出频率运行CoGAPS矩阵,params, nIterations=1000, outputFrequency=250)
## ##这是CoGAPS 3.18.0版本在GIST上运行标准CoGAPS。基质(1363个基因,9个样本)with parameters: ## ## -- Standard Parameters -- ## nPatterns 3 ## nIterations 1000 ## seed 402 ## sparseOptimization FALSE ## ## -- Sparsity Parameters -- ## alpha 0.01 ## maxGibbsMass 100
##[1]“CogapsResult对象具有1363个特征和9个样本”##[1]“3个模式被学习”

还有其他几个参数被直接传递给CoGAPS这些将在后面的章节中介绍。

4.3分解CoGAPS返回对象

CoGAPS返回类的一个对象CogapsResult继承自LinearEmbeddingMatrix(定义于SingleCellExperiment包)。CoGAPS将样本的低维表示(P矩阵)存储在sampleFactors槽和特征的权重(A矩阵)在featureLoadings槽。CogapsResult还添加了两个自己的插槽-factorStdDev而且loadingStdDev其中包含了每个矩阵样本点的标准差。

也有一些信息元数据槽等原始参数和值进行Chi-Sq统计。一般来说,元数据会根据不同的方式而变化CoGAPS一开始就接到了电话该包提供了以下功能,以安全的方式查询元数据:

#运行CoGAPS结果<- CoGAPS(GIST。矩阵,参数个数,messages=FALSE, nIterations=1000)
## ##这是CoGAPS 3.18.0版本在GIST上运行标准CoGAPS。基质(1363个基因,9个样本)
#获取所有样本的平均ChiSq统计量
## [1] 4843.38
#获取创建结果的版本号
## [1] '3.18.0'
#获取用于创建该结果的原始参数
##——标准参数——## nPatterns 3 ## nIterations 1000 ## seed 402 ## sparseOptimization FALSE ## ##——稀疏参数——## alpha 0.01 ## maxGibbsMass 100

要转换CogapsResult对象的LinearEmbeddingMatrix使用

(因此,“LinearEmbeddingMatrix”)
##类:LinearEmbeddingMatrix ## dim: 9 3 ##元数据(16):meanChiSq chisq…## colnames: NULL ## factorData names(0):

4.4可视化输出

CogapsResult对象可以传递给包中提供的分析和绘图函数。默认情况下,情节函数显示样本之间的模式如何变化。(注意,我们传递了nIterations参数,这是允许的任何参数CogapsParams类的值,并且总是优先于参数个数).

#存储结果结果<-矩阵,参数个数,nIterations=5000, messages=FALSE)
## ##这是CoGAPS 3.18.0版本在GIST上运行标准CoGAPS。基质(1363个基因,9个样本)
cogap plot返回的CogapsResult对象

在示例工作流中,我们将探索包中提供的更多分析函数。

4.5并行运行CoGAPS

非负矩阵分解算法通常需要很长的计算时间,CoGAPS也不例外。为了将CoGAPS扩展到实践中看到的数据集大小,我们需要利用现代硬件和并行化算法。

4.5.1多线程并行化

并行运行CoGAPS的最简单方法是提供nThreads参数CoGAPS.这允许底层算法在多个线程上运行,并且对算法的数学没有影响,即这仍然是标准的CoGAPS。要使用的线程的精确数量取决于许多因素,如硬件和数据大小。最好的方法是使用不同的值,看看它如何影响估计的时间。

CoGAPS(要点。矩阵,nIterations=10000, outputFrequency=5000, nThreads=1, seed=5)
## ##这是CoGAPS 3.18.0版本在GIST上运行标准CoGAPS。基质(1363个基因,9个样本)with parameters: ## ## -- Standard Parameters -- ## nPatterns 7 ## nIterations 10000 ## seed 5 ## sparseOptimization FALSE ## ## -- Sparsity Parameters -- ## alpha 0.01 ## maxGibbsMass 100
##[1]“CogapsResult对象具有1363个特征和9个样本”##[1]“7个模式被学习”
CoGAPS(要点。矩阵,nIterations=10000, outputFrequency=5000, nThreads=4, seed=5)
## CoGAPS警告(要点)矩阵,nIterations= 10000, outputFrequency = 5000, : ## requesting multi-threaded version of CoGAPS but compiler did not support OpenMP
## ##这是CoGAPS 3.18.0版本在GIST上运行标准CoGAPS。基质(1363个基因,9个样本)with parameters: ## ## -- Standard Parameters -- ## nPatterns 7 ## nIterations 10000 ## seed 5 ## sparseOptimization FALSE ## ## -- Sparsity Parameters -- ## alpha 0.01 ## maxGibbsMass 100
##[1]“CogapsResult对象具有1363个特征和9个样本”##[1]“7个模式被学习”

注意此方法依赖于CoGAPS被编译与OpenMP支持,使用buildReport检查。

猫(CoGAPS:: buildReport ())
##编译与GCC v9.4 ## SIMD: AVX指令启用##编译器不支持OpenMP

4.5.2分布式CoGAPS (GWCoGAPS/scCoGAPS)

对于大型数据集(大于几千个基因或样本),多线程并行化是不够的。更有效的方法是将数据分解为子集,并对每个子集并行执行cogap,最后将结果重新拼接在一起。CoGAPS扩展,GWCOGAPS和scCoGAPS,每个都实现了这个方法的一个版本(Stein-O 'Brien等人(2017)).

为了使用这些扩展,需要一些额外的参数。nSets指定要将数据集划分为的子集数。减少明尼苏达州,maxNS控制跨子集匹配模式的过程,通常不应更改默认值。关于这些参数的更多信息可以在原始论文中找到。这些参数需要用不同的函数来设置setParam因为它们相互依赖。这里我们只设置nSets(总是必需的),但我们也可以选择传递其他参数。

params <- setDistributedParams(params, nSets=3)
##设置分布式参数-如果你改变了nPatterns,请再次调用此函数

设置nSets需要根据数据大小平衡可用硬件和运行时。一般来说,nSets应小于或等于可用的节点/核数。如果这是真的,那么创建的子集越多,CoGAPS运行的速度就越快——然而,当子集太小时,可能会失去一些健壮性。一般的经验法则是设置nSets每个子集有1000到5000个基因或细胞。在接下来的两节中,我们将看到一个关于真实数据的例子。

分布式参数设置完成后,我们可以通过设置分布式参数或使用提供的包装器函数。以下调用是等价的:

# GISTCsvPath <- system.file("extdata/GIST.csv", package=" cogaps ") #全基因组cogaps GWCoGAPS(GISTCsvPath, params, messages=FALSE, nIterations=1000)
##警告在GWCoGAPS(GISTCsvPath, params, messages = FALSE, nIterations = ## 1000): GWCoGAPS是不推荐使用的,使用主要函数CoGAPS的参数:##分布式="全基因组"
在/tmp/Rtmp2uAWwz/Rinst1614311ed575f4/CoGAPS/extdata/ gits .csv上运行全基因组CoGAPS(1363个基因和9个样本)
##[1]“CogapsResult对象具有1363个特征和9个样本”##[1]“2个模式被学习”
CoGAPS(GISTCsvPath, params, distributed="genome-wide", messages=FALSE, nIterations=1000)
在/tmp/Rtmp2uAWwz/Rinst1614311ed575f4/CoGAPS/extdata/ gits .csv上运行全基因组CoGAPS(1363个基因和9个样本)
##[1]“CogapsResult对象具有1363个特征和9个样本”##[1]“2个模式被学习”
scCoGAPS(GISTCsvPath, params, messages=FALSE, transposeData=TRUE, nIterations=1000)
##警告在scCoGAPS(GISTCsvPath, params, messages = FALSE,转置数据= ## TRUE,: scCoGAPS不推荐使用,使用主函数CoGAPS的参数:## distributed="single-cell"
## ##这是CoGAPS版本3.18.0 ##运行单细胞CoGAPS/ tmp/Rtmp2uAWwz/Rinst1614311ed575f4/CoGAPS/extdata/ gits .csv(9个基因和1363个样本)
##[1]“CogapsResult对象具有9个特征和1363个样本”##[1]“2个模式被学习”
CoGAPS(GISTCsvPath, params, distributed="single-cell", messages=FALSE, transposeData=TRUE, nIterations=1000)
## ##这是CoGAPS版本3.18.0 ##运行单细胞CoGAPS/ tmp/Rtmp2uAWwz/Rinst1614311ed575f4/CoGAPS/extdata/ gits .csv(9个基因和1363个样本)
##[1]“CogapsResult对象具有9个特征和1363个样本”##[1]“2个模式被学习”

此计算的并行后端由包管理BiocParallel还有一个选项供用户指定他们想要的后端。看到附加功能部分以获取更多信息。

通常,首选将文件名传递给GWCoGAPS/scCoGAPS否则,整个数据集必须跨多个进程复制,这将降低速度,并可能导致内存不足错误。我们将在接下来的两节中看到这样的例子。

5CoGAPS的附加功能

5.1检查点系统-保存/加载CoGAPS运行

CoGAPS允许用户在整个运行过程中保存进度,并从最新保存的“检查点”重新启动。这样做的目的是,如果服务器在长时间运行中崩溃,也不需要从头重新启动。设置checkpointInterval参数保存检查点并传递文件名为checkpointInFile从检查点加载。

if (CoGAPS::checkpointsEnabled()){#我们的初始运行res1 <- CoGAPS(GIST。矩阵,参数个数,checkpointInterval=100, checkpointOutFile="vignette_example.out", messages=FALSE) # assume the previous run crashes res2 <- CoGAPS(GIST.matrix, checkpointInFile="vignette_example.out", messages=FALSE) # check that they're equal all(res1@featureLoadings == res2@featureLoadings) all(res1@sampleFactors == res2@sampleFactors) }

5.2移调数据

如果你的数据存储为样本x基因,CoGAPS允许你通过transposeData = TRUE并将自动读取您的数据转置,以获得所需的基因x样本配置。

5.3传递不确定性矩阵

除了提供数据外,用户还可以指定不确定度测量-数据矩阵中每个条目的标准偏差。默认情况下,CoGAPS假设标准偏差矩阵是数据矩阵的10%。这是一种合理的启发式方法,但对于特定类型的数据,您可能能够提供更好的信息。

#使用自定义不确定性数据(GIST)结果运行CoGAPS矩阵,参数,不确定性=GIST。不确定性,消息=FALSE,迭代=1000)
## ##这是CoGAPS 3.18.0版本在GIST上运行标准CoGAPS。基质(1363个基因,9个样本)

5.4GWCoGAPS / scCoGAPS

5.4.1之前设置并行后端

分布式计算用于CoGAPSBiocParallel来管理并行化。用户可以选择指定后端应该是什么。缺省情况下是MulticoreParam有相同数量的工人nSets.使用BPPARAM参数CoGAPS设置后端。参见小插图BiocParallel有关后端不同选择的更多信息。

#运行CoGAPS与串行后端scCoGAPS(GISTCsvPath, params, BPPARAM=BiocParallel::SerialParam(), messages=FALSE, transposeData=TRUE, nIterations=1000)
##警告在scCoGAPS(GISTCsvPath, params, BPPARAM = ## BiocParallel::SerialParam(),: scCoGAPS是不推荐使用的,使用main函数## CoGAPS与参数:distributed="single-cell"
## ##这是CoGAPS版本3.18.0 ##运行单细胞CoGAPS/ tmp/Rtmp2uAWwz/Rinst1614311ed575f4/CoGAPS/extdata/ gits .csv(9个基因和1363个样本)
##[1]“CogapsResult对象具有9个特征和1363个样本”##[1]“2个模式被学习”

5.4.2数据划分方法

设置数据子集的默认方法是统一地拆分数据的行(cols)。还有一种替代选项,用户为数据的行名(colnames)提供注释向量,并为注释向量中的每个类别提供权重。然后根据每个类别的权重对所有行(cols)进行采样,绘制大小相等的子集。

# sampling with weights anno <- sample(letters[1:5], size=nrow(GIST.matrix), replace=TRUE) w <- c(1,1,2,2,1) names(w) <- letters[1:5] params <- new("CogapsParams") params <- setAnnotationWeights(params, annotation=anno, weights=w) result <- GWCoGAPS(GISTCsvPath, params, messages=FALSE, nIterations=1000)
##警告在GWCoGAPS(GISTCsvPath, params, messages = FALSE, nIterations = ## 1000): GWCoGAPS是不推荐使用的,使用主要函数CoGAPS的参数:##分布式="全基因组"
在/tmp/Rtmp2uAWwz/Rinst1614311ed575f4/CoGAPS/extdata/ gits .csv上运行全基因组CoGAPS(1363个基因和9个样本)

最后,用户可以进行设置explicitSets这是一个字符或数字向量的列表,指示数据的哪些名称或索引应该放入每个集合中。一定要设置好nSets转换为正确的值explicitSets

#运行给定子集的cogaps sets <- list(1:25 25, 226:450, 451:675:900) params <- new("CogapsParams") params <- setDistributedParams(params, nSets=length(sets))
##设置分布式参数-如果你改变了nPatterns,请再次调用此函数
结果<- GWCoGAPS(GISTCsvPath, params, explicitSets=sets, messages=FALSE, nIterations=1000)
## GWCoGAPS警告(GISTCsvPath, params, explicitSets = sets, messages = ## FALSE,: GWCoGAPS不推荐使用,使用主函数CoGAPS,参数为:##分布式="全基因组"
在/tmp/Rtmp2uAWwz/Rinst1614311ed575f4/CoGAPS/extdata/ gits .csv上运行全基因组CoGAPS(1363个基因和9个样本)

5.4.3额外报税资料

当运行GWCoGAPS或scCoGAPS时,将返回一些与模式匹配过程相关的额外元数据。这个过程就是CoGAPS如何将每个子集的结果重新拼接在一起。

# run GWCoGAPS(子集数据,所以显示的输出很小)params <- new("CogapsParams") params <- setParam(params, "nPatterns", 3) params <- setDistributedParams(params, nSets=2)
##设置分布式参数-如果你改变了nPatterns,请再次调用此函数
结果<- GWCoGAPS(GISTCsvPath, params, messages=FALSE, nIterations=1000)
##警告在GWCoGAPS(GISTCsvPath, params, messages = FALSE, nIterations = ## 1000): GWCoGAPS是不推荐使用的,使用主要函数CoGAPS的参数:##分布式="全基因组"
在/tmp/Rtmp2uAWwz/Rinst1614311ed575f4/CoGAPS/extdata/ gits .csv上运行全基因组CoGAPS(1363个基因和9个样本)
#从每个子集中获取不匹配的模式
[[2]] [[2]] ## Pattern_1 Pattern_2 Pattern_3 ## IM00 0.8659490 0.9908355 0.9508154 ## IM04 0.8787943 0.9475391 0.96313166 ## IM09 0.6643456 0.9301350 0.9711491 ## IM12 0.5986370 0.9603208 0.9880843 ## IM18 0.4426728 0.9557194 0.9946171 ## IM48 0.4547077 0.9611962 0.9908106 ## ## [[2]] ## # Pattern_1 Pattern_2 Pattern_3 ## IM00 0.9929600 0.7253174 0.9984850 ## IM02 0.9880640 0.76235850.9857582 ## im04 0.9661072 0.8141968 0.9389188 ## im06 0.9736102 0.8417256 0.9376781 ## im09 0.9686920 0.8842741 0.8980739 ## im12 0.9929302 0.9093025 0.8810113 ## im18 0.9920893 0.9610536 0.8445807 ## im24 0.9875743 0.9978256 0.8071539 ## im48 0.9889467 0.9852663 0.7902195
getClusteredPatterns(result)
## $ ' 1 ' ## 1.1 . 2.1 .3 ## im02 0.8659490 0.9908355 0.9857582 ## im04 0.7787943 0.9475391 0.9389188 ## im09 0.6643456 0.9301350 0.8980739 ## im18 0.5426728 0.9557194 0.844510113 ## im24 0.4425673 0.9318815 0.45451539 ## im48 0.4547077 0.9611962 0.7902195 ## ## $ ' 2 ' ## 1.2 . # im04 0.9513166 0.8141968 ## im06 0.9639976 0.8417256im09 0.9711491 0.8842741 ## im18 0.9880843 0.9610536 ## im24 0.9973469 0.9908106 0.9852663 ## ## $ ' 3 ' ## 2.2 # im00 0.9929600 ## im04 0.9880640 ## im06 0.9736102 ## im09 0.9686920 ## im12 0.9929302 ## im18 0.9875743 ## im48 0.9889467
#获取每个模式与集群的相关性
# # # # $ ' 1 '[1] 0.998 0.690 0.985 # # # # $ ' 2 ' # #美元[1]0.982 - 0.999 # # # # 3 # # 1 [1]
getSubsets(result), length)
## [1] 681 682

5.4.4手动管道

CoGAPS允许使用自定义过程将模式匹配在一起。如果您有一个来自之前运行GWCoGAPS/scCoGAPS的结果对象,则通过调用getUnmatchedPatterns.应用任何你喜欢的方法,只要结果是一个矩阵,其行数等于样本(基因)的数量,列数等于模式的数量。然后将矩阵传递给fixedPatterns参数和GWCoGAPS/scCoGAPS运行的原始参数。

#初始运行结果<- GWCoGAPS(GISTCsvPath, messages=FALSE, nIterations=1000)
## GWCoGAPS警告(GISTCsvPath, messages = FALSE, nIterations = 1000): ## GWCoGAPS已弃用,请使用主函数CoGAPS,并附上参数:##分布式="全基因组"
在/tmp/Rtmp2uAWwz/Rinst1614311ed575f4/CoGAPS/extdata/ gits .csv上运行全基因组CoGAPS(1363个基因和9个样本)
#自定义匹配过程(只是从第一个子集作为一个dummy) consensusMatrix <- getUnmatchedPatterns(result)[[1]] #运行与我们的自定义匹配模式矩阵params <- CogapsParams() params <- setFixedPatterns(params, consensusMatrix, 'P') GWCoGAPS(GISTCsvPath, params, explicitSets=getSubsets(result), nIterations=1000)
##警告在GWCoGAPS(GISTCsvPath, params, explicitSets = getSubsets(result),: ## GWCoGAPS不推荐使用,使用主函数CoGAPS的参数:##分布式="全基因组"
# # # #这是CoGAPS版本上运行全基因组CoGAPS 3.18.0 # # / tmp / Rtmp2uAWwz / Rinst1614311ed575f4 CoGAPS / extdata GIST.csv(1363个基因和9个样本)参数 : ## ## -- 标准的参数——# # nPatterns 7 1000种子286 # # # # # # nIterations sparseOptimization假# #分布式全基因组  ## ## -- 稀疏参数α- # # 0.01 # # maxGibbsMass 100  ## ## -- 分布式CoGAPS参数——# # nSets 4 # #减少7 # #明尼苏达州2 6 # # # # # # maxNS创建子集……使用提供的命名子集##集大小(最小,平均,最大):(340,340.75,343)##运行最后阶段…
##[1]“CogapsResult对象具有1363个特征和9个样本”##[1]“7个模式被学习”

6sessionInfo ()

sessionInfo ()
## R版本4.2.1(2022-06-23)##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.5 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.16-bioc/R/lib/libRlapack。所以## ## locale: ## [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# # [3] LC_TIME=en_GB LC_COLLATE= c# # [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 ## [7] LC_PAPER=en_US。UTF-8 LC_NAME= c# # [9] LC_ADDRESS=C lc_phone = c# # [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基本包:## [1]stats graphics grDevices utils datasets methods基础## ##其他附加包:## [1]BiocParallel_1.32.0 CoGAPS_3.18.0 BiocStyle_2.26.0 ## ##通过命名空间加载(且未附加):# # # # [1] SummarizedExperiment_1.28.0 gtools_3.9.3 [3] xfun_0.34 bslib_0.4.0 # # [5] lattice_0.20-45 rhdf5_2.42.0 # # [7] htmltools_0.5.3 stats4_4.2.1 # # [9] yaml_2.3.6 rlang_1.0.6 # # [11] jquerylib_0.1.4 SingleCellExperiment_1.20.0 # # [13] BiocGenerics_0.44.0 RColorBrewer_1.1-3 # # [15] matrixStats_0.62.0 GenomeInfoDbData_1.2.9 # # [17] stringr_1.4.1 MatrixGenerics_1.10.0 # # [19] zlibbioc_1.44.0 caTools_1.18.2 # # [21] codetools_0.2-18 evaluate_0.17 # # [23] Biobase_2.58.0 knitr_1.40 # # [25]iranges_ .32.0 fastmap_ .1.0 ## [27] GenomeInfoDb_1.34.0 parallel_ .2.1 ## [49] KernSmooth_2.23-20 BiocManager_1.30.19 ## [35] cachem_1.0.6 DelayedArray_0.24.0 ## [35] S4Vectors_0.36.0 magick_2.7.3 ## [37] jsonlite_1.8.3 XVector_0.38.0 ## [39] gplots_3.1.3 digest_0.6.30 ## [41] stringi_1.7.8 bookdown_0.29 ## [43] GenomicRanges_1.50.0 grid_4.2.1 ## [45] cli_3.4.1 tools_4.2.1 ## [49] magrittr_2.0.3 sass_0.4.2 ## [49]RCurl_1.98-1.9 cluster_2.1.4 ## [53] Matrix_1.5-1 rmarkdown_2.17 ## [55] Rhdf5lib_1.20.0 R6_2.5.1 ## [57] compiler_4.2.1

7援引CoGAPS

如果您使用CoGAPS软件包进行分析,请引用Fertig等人(2010)

如果你使用基因集统计,请引用奥克斯等人(2009)

参考文献

艾兰娜·J·费蒂格,丁杰,亚历山大·v·费沃洛夫,乔瓦尼·帕尔玛贾尼,迈克尔·f·奥克斯。2010。CoGAPS:识别转录组数据中的模式和生物过程活性的R/ c++包生物信息学26(21): 2792-3。https://doi.org/10.1093/bioinformatics/btq503

迈克尔·F·奥克斯,洛莉·林克,奇·塔恩,莎拉·姆布鲁,田口隆宏,伯顿·艾森伯格,安德鲁·k·戈德温。2009。利用转录组数据检测胃肠道间质瘤中治疗诱导的信号通路变化癌症研究69(23): 9125-32。https://doi.org/10.1158/0008-5472.CAN-09-1709

Seung, Sebastian, Daniel D. Lee, 1999。“用非负矩阵分解法学习对象的部分”自然401(6755): 788-91。https://doi.org/10.1038/44565

Stein-O 'Brien, Genevieve L., Jacob L. Carey, Wai S. Lee, Michael Considine, Alexander V. Favorov, Emily Flam, Theresa Guo等。2017。“通过整个转录组Nmf的新型数据驱动生物标志物的模式标记和gwcogap。”生物信息学33(12): 1892-4。https://doi.org/10.1093/bioinformatics/btx058