evaluomeR 1.14.0
的evaluomeR包允许评估生物指标的可靠性分析的稳定性和善良的分类指标。方法需要测量的数据集的度量和评估的可靠性指标根据以下分析:相关性、稳定性和善良的分类。
相关性:计算每一对之间的皮尔逊相关系数度量可用以量化他们相互关系的程度。比分是在[1]。
稳定:这种分析允许估计聚类是否有意义受到小样本的变化的影响(Milligan和程1996年)。首先,使用k - means聚类算法。K的值可以由用户提供。然后,稳定指数的均值Jaccard系数(Jaccard1901年)价值观引导的复制。的值在[0,1],有以下意义:
善良的分类:善良的分类评估验证集群生成。为了这个目的,我们使用轮廓宽度有效性指数。这个索引计算并比较聚类的质量输出发现不同的指标,从而使测量的实例和分类指标。更准确地说,这个善良的测量提供了一个评估类似的一个实例是相同的其他实例集群和不同的集群。所有实例上的平均量化实例如何适当集中。考夫曼和Rousseeuw(考夫曼和Rousseeuw2009年)建议全球轮廓宽度分数的解释集群结构的有效性。的值在[0,1],有以下意义:
的安装evaluomeR包是通过Bioconductor执行:
如果(!requireNamespace (“BiocManager”,悄悄地= TRUE)) install.packages (“BiocManager”) BiocManager::安装(“evaluomeR”)
输入是一个SummarizedExperiment
对象。中包含的分析SummarizedExperiment
必须遵循一个特定的结构,见表1:必须指定一个有效的标题。第一列标题的数据集的实例的ID或名称(如本体论、通路等)的测量指标。其他列的标题包含了指标的名称。行包含测量指标为每个实例的数据集。
ID | MetricNameA | MetricNameB | MetricNameC | … |
---|---|---|---|---|
instance1 | 1.2 | 6.4 | 0.5 | … |
instance2 | 2.4 | 5.4 | 0.8 | … |
instance3 | 1.9 | 8.9 | 1.1 | … |
在我们的包我们提供三种不同的样本输入数据:
ontMetrics:本体结构指标、19个指标测量的结构方面分析了bio-ontologies本体的在两个不同的语料:鄂博铸造和AgroPortal(Franco et al。2019年)。
rnaMetrics:RNA质量评估指标的基因表达差异,从16个整除2质量量度的一批独特的RNA样品。指标是退化因子(DegFact)和RNA完整数量(RIN)(Imbeaud et al。2005年)。
生物识别技术:生物通路指标,2指标量化特征的重要性在生化过程监管系统,包括系统设计的应用程序在合成生物学和代谢工程。指标的可达性和效率(戴维斯和我们2018年)。
用户运行数据
内置的方法来加载evaluomeR样本输入数据。这就要求提供所需的数据集的描述符。可用的数据集可以采取以下值:“ontMetrics”、“rnaMetrics”或“生物识别技术”。
库(evaluomeR)数据(“ontMetrics”) (“rnaMetrics”)数据(“生物识别技术”)
我们提供的metricsCorrelations
函数中定义评价指标之间的相关性SummarizedExperiment
:
库(evaluomeR)数据(“rnaMetrics”) correlationSE < - metricsCorrelations (rnaMetrics利润率= c(10) 4、4、12日)
# #
# #数据加载。16 # # # #的行数,列数:3
#通过首次访问相关矩阵分析:#试验(correlationSE, 1)
执行的计算稳定性指标稳定
和stabilityRange
功能。
执行的稳定指数分析稳定
函数。例如,运行稳定性分析的指标rnaMetrics
与一些One hundred.
引导与k - means聚类的复制k
是2(注意k
必须在[2,15]范围):
stabilityData < -稳定(rnaMetrics k = 2, b = 100)
的稳定
函数的作用是:返回stabilityData
对象,ExperimentList
包含几个化验等稳定意味着或意味着,加以,小孩,小孩。swithinss和方差分析值kmeans
集群:
stabilityData
# # ExperimentList类对象的长度9:# # [1]stability_mean: SummarizedExperiment 2行2列# # [2]cluster_partition: SummarizedExperiment 2行2列# # [3]cluster_mean: SummarizedExperiment 2行2列# # [4]cluster_centers: SummarizedExperiment 2行2列# # [5]cluster_size: SummarizedExperiment 2行2列# # [6]cluster_betweenss: SummarizedExperiment 2行2列# # [7]cluster_totss: SummarizedExperiment 2行2列# # [8]cluster_tot。withinss: SummarizedExperiment 2行2列# # [9]cluster_anova: SummarizedExperiment 2行2列
当显示的稳定性指数的阴谋getimage = TRUE
生成稳定的值的意思是:
分析(stabilityData“stability_mean”)
度规 | Mean_stability_k_2 |
---|---|
RIN | 0.82540873015873 |
DegFact | 0.873916305916306 |
情节代表每个指标的稳定意味着对于一个给定的k
价值。这意味着通过执行每一个稳定指数的平均值计算k
为每个指标范围(1,k)。
的stabilityRange
函数是一个迭代的方法稳定
函数。它执行一系列的稳定性分析k
值(k.range
)。
例如,分析的稳定性rnaMetrics
范围内(2、4)b = 100
:
stabilityRangeData = stabilityRange (rnaMetrics k.range = c (2、4), b = 100)
两种图绘制stabilityRange
函数。第一类(标题为“圣指数k = X在度量”)所示,为每一个k
价值,稳定指数指标。第二种(标题圣指数度量“X”的范围(X, y)),显示了一个阴谋的每个指标的行为k
的范围内。
有两种方法来计算的分类:质量
和qualityRange
。
这种方法情节指标对当前是如何表现的k
值,根据平均轮廓宽度。同时,将情节集群是如何分组每个指标(每个度量一个情节)。例如,运行质量分析的两个指标rnaMetrics
数据集,k = 4
:
qualityData =质量(rnaMetrics, k = 4)
数据的第一个情节题为“定性的指标在指标k = 4“根据轮廓平均宽度,存储在Avg_Silhouette_Width列的第一个试验SummarizedExperiment
,qualityData
。其他三个情节题为的指标名称显示输入行分组通过为每个集群的颜色,连同他们的轮廓宽度的分数。
的变量qualityData
包含的信息集群的每个指标:平均每个集群轮廓宽度,整体平均sihouette宽度(考虑到所有集群)和个人每个集群的数量:
试验(qualityData, 1)
度规 | Cluster_1_SilScore | Cluster_2_SilScore | Cluster_3_SilScore | Cluster_4_SilScore | Avg_Silhouette_Width | Cluster_1_Size | Cluster_2_Size | Cluster_3_Size | Cluster_4_Size |
---|---|---|---|---|---|---|---|---|---|
RIN | 0.420502645502646 | 0.696597735248404 | 0.473928571428572 | 0.324731573607137 | 0.488264943810529 | 4 | 4 | 5 | 3 |
DegFact | 0.759196481622952 | 0.59496499852177 | 0.600198799385732 | 0.521618857725795 | 0.634170498361632 | 5 | 3 | 5 | 3 |
的qualityRange
函数是一个迭代的方法,使用相同的功能质量
一系列的值(k.range
),而不是一个独一无二的k
价值。这个方法允许分析的分类指标的不同的值的范围。
在下一个示例中,我们将继续使用rnaMetrics
数据集,k.range
(4、6)。
k.range= c(4,6) qualityRangeData = qualityRange(rnaMetrics, k.range)
的qualityRange
函数也返回两种情节,见稳定范围部分。一个为每个k
在k.range
,显示质量指数(善良的分类)指标,和第二类型的情节给每个指标与其各自的质量指标k
价值。
的qualityRangeData
返回的对象qualityRange
是一个ExperimentList
从MultiAssayExperiment
,这是一个列表SummarizedExperiment
对象的大小diff (k.range) + 1
。在上面的例子中,的大小qualityRangeData
3,因为数组长度将包含dataframes的k = 4
来k = 6
。
diff (k.range) + 1
# # 3 [1]
长度(qualityRangeData)
# # 3 [1]
用户可以访问特定dataframe对于一个给定的k
价值在三种不同的方式:由美元符号、括号表示法或者使用我们的包装方法getDataQualityRange
。例如,如果用户希望检索dataframe其中包含的信息k = 5
,是k.range
(4、6):
k5Data = qualityRangeData $ k_5 k5Data = qualityRangeData [[“k_5”]] k5Data = getDataQualityRange (qualityRangeData, 5)试验(k5Data, 1)
度规 | Cluster_1_SilScore | Cluster_2_SilScore | Cluster_3_SilScore | Cluster_4_SilScore | Cluster_5_SilScore | Avg_Silhouette_Width | Cluster_1_Size | Cluster_2_Size | Cluster_3_Size | Cluster_4_Size | Cluster_5_Size |
---|---|---|---|---|---|---|---|---|---|---|---|
RIN | 0.420502645502646 | 0.674226581940152 | 0.251461988304093 | 0.523616734143049 | 0 | 0.451735613203479 | 4 | 4 | 3 | 4 | 1 |
DegFact | 0.718287037037037 | 0.0375000000000007 | 0.904545454545454 | 0.585791823535685 | 0.521618857725795 | 0.578190921755929 | 4 | 2 | 2 | 5 | 3 |
一旦用户认为找到了一个合适的k
值,然后用户可以运行质量
函数进一步看到轮廓信息的情节。
在本节中,我们描述的一系列参数之间共享我们的分析功能:metricsCorrelations
,稳定
,stabilityRange
,质量
和qualityRange
。
的生成图像可以被设置为禁用假
的参数getimage
:
stabilityData < -稳定(rnaMetrics, k = 5, b = 50, getimage = FALSE)
这可以防止产生任何图,只执行微积分。默认情况下getimage
被设置为真正的
。
evaluomeR
分析指标的行为的稳定性和善良的集群范围的值\ (k \)。如果希望选择的最优值\ (k \)在一个给定的指标数据我们已经实现了getOptimalKValue
函数,它返回一个表的最优值k
对于每个度量。
算法的工作原理如下:稳定和最高的最高美德获得了相同的值\ (k \)。在这种情况下,该值将是最佳的。另一方面,最高的稳定性和最高的善良获得了不同的价值观\ (k \)。在这种情况下,额外的标准是必要的。目前并不旨在提供这些标准,但提供的数据可以允许用户做出决策。在本文中描述的用例中,我们将使用以下标准后一种情况:
如果两个值\ (k \)至少提供稳定的分类(值> 0.75),那么我们选择的价值\ (k \)提供最大的轮廓宽度。同样的如果没有提供稳定的分类。
如果\ (k_1 \)提供稳定的分类和\ (k_2 \)不,我们将选择\ (k_1 \)如果轮廓的宽度至少是合理的。
如果\ (k_1 \)提供稳定的分类,\ (k_2 \)不,轮廓的宽度\ (k_1 \)小于合理,然后我们将选择的价值\ (k \)最大的轮廓宽度。
stabilityData < - stabilityRange (data = ontMetrics k.range = c (2、4), b = 20, getimage = FALSE,种子= 100)qualityData < - qualityRange (data = ontMetrics k.range = c (2、4), getimage = FALSE,种子= 100)kOptTable < - getOptimalKValue (stabilityData qualityData)
度规 | Stability_max_k | Stability_max_k_stab | Stability_max_k_qual | Quality_max_k | Quality_max_k_stab | Quality_max_k_qual | Global_optimal_k |
---|---|---|---|---|---|---|---|
ANOnto | 2 | 1.0000000 | 0.7548590 | 2 | 1.0000000 | 0.7548590 | 2 |
AROnto | 4 | 0.9276802 | 0.8138336 | 4 | 0.9276802 | 0.8138336 | 4 |
CBOOnto | 2 | 0.8786781 | 0.7193928 | 3 | 0.7897443 | 0.7231989 | 3 |
CBOOnto2 | 2 | 0.8786781 | 0.7193928 | 3 | 0.7897443 | 0.7231989 | 3 |
CROnto | 4 | 0.8450463 | 0.8450265 | 2 | 0.7831180 | 0.9643551 | 2 |
DITOnto | 4 | 0.8228266 | 0.5933836 | 2 | 0.8129876 | 0.5971269 | 2 |
INROnto | 2 | 0.9251030 | 0.7251026 | 2 | 0.9251030 | 0.7251026 | 2 |
LCOMOnto | 3 | 1.0000000 | 0.6529131 | 3 | 1.0000000 | 0.6529131 | 3 |
NACOnto | 2 | 0.8807614 | 0.7391430 | 2 | 0.8807614 | 0.7391430 | 2 |
NOCOnto | 2 | 0.9478757 | 0.9431037 | 2 | 0.9478757 | 0.9431037 | 2 |
NOMOnto | 2 | 0.8912204 | 0.6529583 | 3 | 0.8335419 | 0.6689736 | 3 |
POnto | 2 | 1.0000000 | 0.7023466 | 2 | 1.0000000 | 0.7023466 | 2 |
PROnto | 2 | 0.9941906 | 0.7065895 | 2 | 0.9941906 | 0.7065895 | 2 |
RFCOnto | 2 | 0.8630298 | 0.6442806 | 2 | 0.8630298 | 0.6442806 | 2 |
RROnto | 2 | 0.9941906 | 0.7065895 | 2 | 0.9941906 | 0.7065895 | 2 |
TMOnto | 2 | 0.9664951 | 0.7331493 | 2 | 0.9664951 | 0.7331493 | 2 |
TMOnto2 | 2 | 1.0000000 | 0.9493957 | 2 | 1.0000000 | 0.9493957 | 2 |
WMCOnto | 2 | 0.9169334 | 0.9464120 | 2 | 0.9169334 | 0.9464120 | 2 |
WMCOnto2 | 2 | 0.9208949 | 0.9467042 | 2 | 0.9208949 | 0.9467042 | 2 |
此外,您可以选择另一个的子集k.range
划定范围的最优k
。
kOptTable < - getOptimalKValue (stabilityData, qualityData k.range = c (3、4)
# #处理指标:ANOnto
# #稳定k“4”是稳定的但质量k ' 3 '不是
# #使用‘4’,因为它提供了更高的稳定性
# #处理指标:AROnto
# #最大稳定和质量值匹配相同的K值:“4”
# #处理指标:CBOOnto
# # Ks都有一个稳定的分类:' 4 ',' 3 '
# #使用“3”,因为它提供了更高的轮廓宽度
# #处理指标:CBOOnto2
# # Ks都有一个稳定的分类:' 4 ',' 3 '
# #使用“3”,因为它提供了更高的轮廓宽度
# #处理指标:CROnto
# # Ks都有一个稳定的分类:' 4 ',' 3 '
# #使用“3”,因为它提供了更高的轮廓宽度
# #处理指标:DITOnto
# #最大稳定和质量值匹配相同的K值:“4”
# #处理指标:INROnto
# #稳定k“4”是稳定的但质量k ' 3 '不是
# #使用‘4’,因为它提供了更高的稳定性
# #处理指标:LCOMOnto
# #最大稳定和质量值匹配相同的K值:“3”
# #处理指标:NACOnto
# # Ks都没有一个稳定的分类:' 4 ',' 3 '
# #使用“3”,因为它提供了更高的轮廓宽度
# #处理指标:NOCOnto
# #最大稳定和质量值匹配相同的K值:“3”
# #处理指标:NOMOnto
# #最大稳定和质量值匹配相同的K值:“3”
# #处理指标:POnto
# #稳定k“4”是稳定的但质量k ' 3 '不是
# #使用‘4’,因为它提供了更高的稳定性
# #处理指标:医师
# #最大稳定和质量值匹配相同的K值:“3”
# #处理指标:RFCOnto
# #最大稳定和质量值匹配相同的K值:“3”
# #处理指标:RROnto
# #最大稳定和质量值匹配相同的K值:“3”
# #处理指标:TMOnto
# # Ks都有一个稳定的分类:' 4 ',' 3 '
# #使用“3”,因为它提供了更高的轮廓宽度
# #处理指标:TMOnto2
# # Ks都有一个稳定的分类:“3”、“4”
# #使用‘4’,因为它提供了更高的轮廓宽度
# #处理指标:WMCOnto
# # Ks都有一个稳定的分类:' 4 ',' 3 '
# #使用“3”,因为它提供了更高的轮廓宽度
# #处理指标:WMCOnto2
# # Ks都有一个稳定的分类:' 4 ',' 3 '
# #使用“3”,因为它提供了更高的轮廓宽度
度规 | Stability_max_k | Stability_max_k_stab | Stability_max_k_qual | Quality_max_k | Quality_max_k_stab | Quality_max_k_qual | Global_optimal_k |
---|---|---|---|---|---|---|---|
ANOnto | 4 | 0.7858551 | 0.7033107 | 3 | 0.6537009 | 0.7367429 | 4 |
AROnto | 4 | 0.9276802 | 0.8138336 | 4 | 0.9276802 | 0.8138336 | 4 |
CBOOnto | 4 | 0.8009833 | 0.5843870 | 3 | 0.7897443 | 0.7231989 | 3 |
CBOOnto2 | 4 | 0.8009833 | 0.5843870 | 3 | 0.7897443 | 0.7231989 | 3 |
CROnto | 4 | 0.8450463 | 0.8450265 | 3 | 0.8202259 | 0.8553226 | 3 |
DITOnto | 4 | 0.8228266 | 0.5933836 | 4 | 0.8228266 | 0.5933836 | 4 |
INROnto | 4 | 0.7889145 | 0.6095614 | 3 | 0.7404618 | 0.6909412 | 4 |
LCOMOnto | 3 | 1.0000000 | 0.6529131 | 3 | 1.0000000 | 0.6529131 | 3 |
NACOnto | 4 | 0.7076790 | 0.6271890 | 3 | 0.6647891 | 0.6613224 | 3 |
NOCOnto | 3 | 0.8972253 | 0.8791838 | 3 | 0.8972253 | 0.8791838 | 3 |
NOMOnto | 3 | 0.8335419 | 0.6689736 | 3 | 0.8335419 | 0.6689736 | 3 |
POnto | 4 | 0.8464754 | 0.6763749 | 3 | 0.6300979 | 0.6766154 | 4 |
PROnto | 3 | 0.9704167 | 0.6686449 | 3 | 0.9704167 | 0.6686449 | 3 |
RFCOnto | 3 | 0.8192584 | 0.6352988 | 3 | 0.8192584 | 0.6352988 | 3 |
RROnto | 3 | 0.9704167 | 0.6686449 | 3 | 0.9704167 | 0.6686449 | 3 |
TMOnto | 4 | 0.9002443 | 0.6944084 | 3 | 0.8665560 | 0.7100906 | 3 |
TMOnto2 | 3 | 0.9375096 | 0.7246579 | 4 | 0.8971283 | 0.7254086 | 4 |
WMCOnto | 4 | 0.8539321 | 0.7370700 | 3 | 0.8151443 | 0.8285148 | 3 |
WMCOnto2 | 4 | 0.8699698 | 0.7294024 | 3 | 0.7801632 | 0.8702324 | 3 |
我们提供了一系列的方法来进一步分析指标。这些方法有:plotMetricsMinMax
,plotMetricsBoxplot
,plotMetricsCluster
和plotMetricsViolin
。
的plotMetricsMinMax
功能块的最小、最大和标准偏差的最小/最大点的每个指标的值:
plotMetricsMinMax (ontMetrics)
# #警告:“dataStats.df的使用。台币Min”是气馁。使用“分钟”。
# #警告:“dataStats.df的使用。台币Max’是气馁。使用“Max”代替。
# #警告:“dataStats.df的使用。台币规”是气馁。使用“指标”。
# #警告:“dataStats.df的使用。台币Min”是气馁。使用“分钟”。
# #警告:“dataStats.df的使用。台币规”是气馁。使用“指标”。
# #警告:“dataStats.df的使用。台币Max’是气馁。使用“Max”代替。
# #警告:“dataStats.df的使用。台币规”是气馁。使用“指标”。
# #警告:“dataStats.df的使用。台币Max’是气馁。使用“Max”代替。
# #警告:“dataStats.df的使用。台币Sd”是气馁。使用“Sd”代替。
# #警告:“dataStats.df的使用。台币Max’是气馁。使用“Max”代替。
# #警告:“dataStats.df的使用。台币Sd”是气馁。使用“Sd”代替。
# #警告:“dataStats.df的使用。台币规”是气馁。使用“指标”。
# #警告:“dataStats.df的使用。台币Min”是气馁。使用“分钟”。
# #警告:“dataStats.df的使用。台币Sd”是气馁。使用“Sd”代替。
# #警告:“dataStats.df的使用。台币Min”是气馁。使用“分钟”。
# #警告:“dataStats.df的使用。台币Sd”是气馁。使用“Sd”代替。
# #警告:“dataStats.df的使用。台币规”是气馁。使用“指标”。
的plotMetricsBoxplot
方法箱线图每个指标的价值:
plotMetricsBoxplot (rnaMetrics)
# #警告:使用的数据。融化$变量”是气馁。使用“变量”。
# #警告:使用的数据。融化美元价值”是气馁。使用“价值”。
接下来,plotMetricsCluster
函数簇的度量指标的值通过使用欧氏距离和方法ward.D2
从hclust
:
plotMetricsCluster (ontMetrics)
最后,plotMetricsViolin
功能:
plotMetricsViolin (rnaMetrics)
# #警告:使用的数据。融化$变量”是气馁。使用“变量”。
# #警告:使用的数据。融化美元价值”是气馁。使用“价值”。
# #警告:使用的数据。融化$变量”是气馁。使用“变量”。
# #警告:使用的数据。融化美元价值”是气馁。使用“价值”。