内容

1介绍

MethPed分类器的小儿脑瘤MethPed文章[1]中给出可以通过访问MethPed包中。这个包包括探针用于构建的分类算法,MethPed分类器和一个公布的数据集,我们作为一个例子。

2必要的包和安装指南

MethPed通过Bioconductor包可以安装

如果(!requireNamespace (“BiocManager”,悄悄地= TRUE)) install.packages (“BiocManager”) BiocManager::安装(“MethPed”)

MethPed分类器依赖于randomForest包随机森林算法。如果有必要从凹口可以安装。

install.packages (“randomForest”)

如果有缺失值的数据,嫁祸于包可以安装缺少的数据归责。然而这是可选的,用户可以使用任何缺失值算法归责。

如果(!requireNamespace (“BiocManager”,悄悄地= TRUE)) install.packages (“BiocManager”) BiocManager::安装(“转嫁”)

3输入数据的类型和格式MethPed分类器

3.1输入数据类型

生成的数据运行MethPed Illumina公司英飞纳姆HumanMethylation 450 BeadChip数组。MethPed假设输入数据是β值(β\ (\ \))。β值(β\ (\ \))是甲基化水平的估计使用强度甲基化和unmethylated等位基因之间的比率。

\[β~ = ~ \ \压裂强度{等位基因甲基化~ ~ ~ (M)}{(强度Unmethylated ~等位基因~ ~ (U) ~ + ~等位基因甲基化~ ~ ~ (M) ~ + ~强度抵消)}\]

“抵消”是选择避免与小值划分。Illumina公司使用一个默认的100。β\ (\ \)在0和1之间,0 unmethylated和1完全甲基化。

3.2输入数据格式

MethPed假设输入数据在3特定数据类(1)ExpressionSet类,2)矩阵类和3)data.frame类。

3.2.1之上ExpressionSet

ExpressionSet类是用来将不同来源的信息结合到一个方便的结构。这种类型的类可以操作(例如,子集,复制)方便,并且从许多Bioconductor输入或输出功能。输入数据ExpressionSet类是

# #数据结构
# # ExpressionSet (storageMode: lockedEnvironment) # # assayData: 6功能,2 # #样品元素名称:exprs # # protocolData: # # phenoData # # sampleNames:没有一个肿瘤。一个肿瘤。B # # varLabels: Patient_ID # # varMetadata: labelDescription # # featureData:没有# # experimentData:使用“experimentData(对象)# #注释:IlluminaHumanMethylation450k
# #数据类
# # [1]“ExpressionSet”# # attr(“包”)# # [1]“Biobase”

3.2.2矩阵

矩阵类格式的数据,所有的β值矩阵的值(β\ (\ \))。在矩阵中,探针在样品的行和列。输入数据在“矩阵“类

# #数据结构
# #肿瘤。一个肿瘤。B # # cg00000957 0.63605834 - 0.84604594 # # cg00001349 0.79438393 - 0.59826915 # # cg00001583 0.02574772 - 0.06137504 # # cg00002028 0.03303346 - 0.03328133 # # cg00002719 0.01361386 - 0.01655172 # # cg00002837 0.47871573 - 0.54919749
# #数据类
# #[1]“矩阵”“数组”

3.2.3data.frame

data.frame类格式的数据,一列的数据集是探针特异性本专栏的,没有订单。这一列可以在数据集的任何地方。其余的列将β值(β\ (\ \)),每一列代表一个单独的样品。数据帧的头对应的列的名称(探针列名即和样本列名即“TargetID肿瘤。”、“Tumor.B”)。输入数据data.frame类是

# #数据结构
# #肿瘤。一个肿瘤。B TargetID # # 1 # # 2 0.79438393 - 0.59826915 0.63605834 - 0.84604594 cg00000957 cg00001349 # # 3 # # 4 0.03303346 - 0.03328133 0.02574772 - 0.06137504 cg00001583 cg00002028 # # 5 0.01361386 - 0.01655172 cg00002719 # # 6 0.47871573 - 0.54919749 cg00002837
# #数据类
# # [1]“data.frame”

4工作流的MethPed分类器

MethPed分类器使用随机森林算法(RF)未知的小儿大脑肿瘤样本分类到子类型。分类所得的选择β值(β\ (\ \))所需的分类。

计算过程分两个阶段进行。第一阶段开始减少探针池或构建培训调查数据集分类。我们叫这个数据集“预测”。第二阶段是将RF算法应用到感兴趣的调查数据的基础上进行分类培训调查数据集(预测)。

的建设培训探针池(预测),甲基化数据生成的Illumina公司英飞纳姆HumanMethylation 450 BeadChip数组从基因表达综合下载(地理)。四百七十二例,占几个脑肿瘤的诊断(DIPG,胶质母细胞瘤,ETMR成神经管细胞瘤、室管膜瘤,pilocytic星形细胞瘤)和他们进一步的子组。加入相应的地理数字在下表中给出

数据集用于构建MethPed分类器
诊断 加入地理
DIPG GSE50022
胶质母细胞瘤 GSE55712, GSE36278
ETMR GSE52556
成神经管细胞瘤 GSE54880
室管膜瘤 GSE45353
Pilocytic星形细胞瘤 GSE44684

数据集是合并和探测器,未出现在所有的数据集都过滤掉了。此外,大约190000论文认定被由于snp,重复和多个地图网站。最终的数据集包含206823独特的探测和9肿瘤类包括成神经管细胞瘤子组。k近邻归罪是用于失踪的调查数据。

之后,大量的回归分析选择100探针/肿瘤类预测力最高(AUC值)。基于所确定的900个甲基化网站,九个小儿脑瘤类型使用多类分类算法可以准确地分类MethPed[1]。900年调查的完整列表可以观察到

# 900调查预测库列表(MethPed)数据(MethPed_900probes)头(MethPed_900probes)
# # cg00001930 TargetID # # 1 # # 2 cg00013409 # # 3 cg00015639 # # 4 cg00036119 # # 5 cg00061695 # # 6 cg00085790

5一个工作的例子MethPed

5.1没有丢失的探测值的数据集

一个示例数据集没有失踪调查β值(β\ (\ \)),是提供的MethPed包中ExpressionSet类。这个数据集包括2例和468821年的调查。首先我们可以看一下数据:

#加载包库(MethPed) #加载数据集数据(MethPed_sample)头(MethPed_sample)
# # ExpressionSet (storageMode: lockedEnvironment) # # assayData: 6功能,2 # #样品元素名称:exprs # # protocolData: # # phenoData # # sampleNames:没有一个肿瘤。一个肿瘤。B # # varLabels: Patient_ID # # varMetadata: labelDescription # # featureData:没有# # experimentData:使用“experimentData(对象)# #注释:IlluminaHumanMethylation450k
类(MethPed_sample)
# # [1]“ExpressionSet”# # attr(“包”)# # [1]“Biobase”

5.1.1检查数据中的缺失值

此外,最好检查如果有失踪的探测值。这将确定如果缺少任何值每一列/样本的调查数据集。我们可以使用这个操作checkNA命令的形式MethPed包中。运行这个大型数据集函数可能需要一些时间。

# #检查缺失值missingIndex < - checkNA missingIndex (MethPed_sample)
# #肿瘤。一个肿瘤。B probeName # # 0 0 0

在这个例子中,没有缺失值(探头名称或β值)的数据集。现在我们将运行MethPed算法。

5.1.2应用MethPed分类器

这个函数MethPed有争论概率这两个值吗真正的。的值真正的将返回的条件概率样本属于一个特定的群体。将返回二进制分类(0或1)的一个样本属于一个特定群体(基于最大条件概率)。默认情况下MethPed将考虑真正的概率论点。

在运行期间MethPed算法,数据附加信息和数据分析的进展。分析需要长时间依赖的数据量。

#运行MethPed分类器myClassification < - MethPed (MethPed_sample)
# # # #探针的列名数据:TargetID
# #探头名称的完整性数据预测:好的
# #数据中的缺失值:不丢失的数据点
# #资料汇总:468821探针和2个样品
# # # #初始数据分析……
# #分类是正在处理1000棵树
# # ntree OOB 1 2 3 4 5 6 7 8 9 # # 100: 1.95% 7.14% 2.08% 0.00% 2.25% 8.11% 0.00% 0.00% 0.00% 1.72% # # 200: 1.60% 7.14% 2.08% 0.00% 1.12% 8.11% 0.00% 0.00% 0.00% 1.72% # # 300: 1.78% 7.14% 2.08% 0.00% 1.69% 8.11% 0.00% 0.00% 0.00% 1.72% # # 400: 1.78% 10.71% 2.08% 0.00% 1.12% 8.11% 0.00% 0.00% 0.00% 1.72% # # 500: 1.78% 10.71% 2.08% 0.00% 1.12% 8.11% 0.00% 0.00% 0.00% 1.72% # # 600: 2.31% 10.71% 2.08% 0.00% 2.25% 8.11% 0.00% 0.00% 0.00% 3.45% # # 700: 1.78% 10.71% 2.08% 0.00% 1.12% 8.11% 0.00% 0.00% 0.00% 1.72% # # 800: 1.78% 10.71% 2.08% 0.00% 1.12% 8.11% 0.00% 0.00% 0.00% 1.72% # # 900: 1.78% 10.71% 2.08% 0.00% 1.12% 8.11% 0.00% 0.00% 0.00% 1.72% # # 1000: 1.95% 10.71% 2.08% 0.00% 1.12% 8.11% 0.00% 0.00% 0.00% 3.45%
# # # #失踪调查:1 900探针也失踪了
# #完成分析数据
  • 第一个消息将显示探测器的名字列在数据(默认值:“TargetID”)。
  • 第二消息将显示“OK”如果至少一个探针之间常见的输入数据集和预测(900探针用于预测[1]。看到工作流的MethPed分类器细节部分)。
  • 第三个消息将报告数据的缺失值。
  • 第四个消息将列出有多少探针和样品输入数据。
  • 第五将显示射频分析的进展。
  • 第六将显示有多少探测器失踪输入数据与预测的900调查。

算法的输出是分区6部分。可以通过输入完整的输出myClassification(变量名定义的用户)

myClassification
# # # # $ target_id [1]“TargetID”# # # # # # $调查[1]468821 # # # # # #样品[1]probes_missing美元2 # # # # # # [1]“cg14310162”# # # # oob_err美元。1.953819 # # OOB # # # # # # # # DIPG预测美元室管膜瘤ETMR GBM MB_Gr3 MB_Gr4 MB_SHH MB_WNT PiloAstro # #肿瘤。0.006 0.073 0.009 0.024 - 0.783 0.060 - 0.01 0.024 - 0.011 # #肿瘤。B 0.002 0.041 0.000 0.197 0.001 0.002 0.00 0.000 0.757## ## attr(,"class") ## [1] "methped"

第一部分包含探测器的名称列,第二部分包含探测器的数量和第三部分样品的总数在主数据。每个模型中提取信息

#第一部分myClassification target_id美元
# # [1]“TargetID”
#第二部分myClassification探针美元
# # 468821年[1]
#第三部分myClassification美元样本
# # 2 [1]

第四部分包含的名称包含在原分类器的探测但缺少数据(输入)。这可以通过命令访问:

#第四部分myClassification probes_missing美元
# # [1]“cg14310162”

在这个例子中,一个调查是包含在原始MethPed分类器,缺少从目前数据集。如果丢失了大量的调查,这可能会导致模型的预测精度下降。然而,我们可以看到第五部分的结果:

#第五部分myClassification oob_err.rate美元
# # OOB # # 1.953819

out-of-bag误差是1.95%;仅略高于1.7%的原始MethPed分类器。详情参见MethPed文章[1]。

最后输出包含预测。我们选择而不是肿瘤分配给一个或另一组给属于每个组的概率。

#第六部分myClassification预测美元
# # DIPG室管膜瘤ETMR GBM MB_Gr3 MB_Gr4 MB_SHH MB_WNT PiloAstro # #肿瘤。0.006 0.073 0.009 0.024 - 0.783 0.060 - 0.01 0.024 - 0.011 # #肿瘤。B 0.002 0.041 0.000 0.197 0.001 0.002 0.00 0.000 0.757

在这个例子中肿瘤。保持最高的预测概率,这是亚型MB_Gr3 0.796。这应该被视为一个条件概率。肿瘤的概率。一个属于亚型MB_Gr3给定数据是0.796。同样,肿瘤。0.771 B保持最高的预测概率,PiloAstro亚型。

5.1.3输出总结

或者,总结函数可以用来得到的结果MethPed输出。

总结(myClassification)
# # DIPG室管膜瘤ETMR GBM MB_Gr3 MB_Gr4 MB_SHH MB_WNT PiloAstro # #肿瘤。0.006 0.073 0.009 0.024 - 0.783 0.060 - 0.01 0.024 - 0.011 # #肿瘤。B 0.002 0.041 0.000 0.197 0.001 0.002 0.00 0.000 0.757

如果样品的最大条件概率是首选,这可以通过提供虚假的价值论证概率

myClassification_max < - MethPed (MethPed_sample概率= FALSE)总结(myClassification_max)
# # DIPG室管膜瘤ETMR GBM MB_Gr3 MB_Gr4 MB_SHH MB_WNT PiloAstro # #肿瘤。0 0 0 0 0 0 0 0.783 0.000 # #肿瘤。0.000 B 0 0 0 0 0 0 0 0.757

5.1.4输出可视化

分类的输出也可以可视化在酒吧里的情节

par(麦= c (1, 1, 1, 2), xpd = TRUE)垫< - t (myClassification预测美元)mycols < - c(“绿色”,彩虹(nrow(垫),= 0开始,结束= 1)[nrow(垫):1],“红色”)barplot(垫、坳= mycols旁边= FALSE, axisnames = TRUE, ylim = c (0, 1), xlab =“Sample”, ylab =“概率”)传说(ncol(垫)+ 0.5,1,传说= rownames(垫),填补= mycols xpd = TRUE cex = 0.6)

或者是情节命令用于获取同样的酒吧阴谋

myClassification < - MethPed (MethPed_sample概率= TRUE)情节(myClassification)

如果样品的最大条件概率是首选,这可以通过提供虚假的价值论证概率

myClassification_max < - MethPed (MethPed_sample概率= FALSE)情节(myClassification_max)

是5.1.5计数丢失的探针

的名称包含在原始调查MethPed分类器(900探针)但缺少数据,可以访问的命令probeMis

probeMis (myClassification)
# # [1]“cg14310162”

5.2数据集与失踪的探测值

在前一节中MethPed分类显示没有缺失值的数据集。在本节中,MethPed分类在数据缺失值。

5.2.1失踪的β值的数据集

提供的数据集“MethPed_sample”包是一个non-missing价值的数据集。作为一个例子,我们现在将生成一个数据集与失踪的探测值。

#加载数据集数据(MethPed_sample)类(MethPed_sample)
# # [1]“ExpressionSet”# # attr(“包”)# # [1]“Biobase”

中提供的数据集ExpressionSet类,我们必须进一步提取β值的矩阵的过程

#加载库库(Biobase) # exprs函数从包加载Biobase MethPed_sample_matrix < -Biobase: exprs (MethPed_sample)头(MethPed_sample_matrix)
# #肿瘤。一个肿瘤。B # # cg00000957 0.63605834 - 0.84604594 # # cg00001349 0.79438393 - 0.59826915 # # cg00001583 0.02574772 - 0.06137504 # # cg00002028 0.03303346 - 0.03328133 # # cg00002719 0.01361386 - 0.01655172 # # cg00002837 0.47871573 - 0.54919749
类(MethPed_sample_matrix)
# #[1]“矩阵”“数组”

我们可以检查缺失值的矩阵中提取β值

checkNA (MethPed_sample_matrix)
# #肿瘤。一个肿瘤。B probeName # # 0 0 0

没有缺失值的矩阵中提取β值。现在我们将删除一些β值(替换为NA)从这个矩阵丢失有价值的数据集。

MethPed_sample_missing < -MethPed_sample_matrix MethPed_sample_missing (c (10200), 2) < na MethPed_sample_missing [c (4600500、1000), 1] < na头(MethPed_sample_missing, 10)
# #肿瘤。一个肿瘤。B 0.63605834 NA # # # # cg00000957 cg00001349 0.79438393 - 0.59826915 # # cg00001583 0.02574772 - 0.06137504 # # cg00002028 NA 0.03328133 # # cg00002719 0.01361386 - 0.01655172 # # cg00002837 0.47871573 - 0.54919749 # # cg00003202 0.01878770 - 0.01040884 # # cg00003287 0.39978051 - 0.12231161 # 0.94417774 # cg00004121 0.54321178 - 0.51326286 # # cg00007036 NA

这个数据集已经准备好了MethPed分类。

5.2.2缺失值归责

MethPed不能应用与缺失值的数据集。在应用之前MethPed分类器,重要的是要检查是否有缺失值的探测数据。检查缺失值,可以使用´checkNA´函数

checkNA (MethPed_sample_missing)
# #肿瘤。一个肿瘤。B probeName # # 4 3 0

在这个例子中有两个肿瘤总共7失踪β值的数据。的分类器要求所有探针用于训练模型存在的预测。如果不满足此条件,没有预测会返回的肿瘤与失踪的探针。一个可能的解决方案是丢弃探针缺失的数据。这可能不是有效的,如果大量的探测值是失踪的一个或多个样本。

一个更为可行的方法可以推导出缺失值。这里我们说明归责的再邻居。相关技术细节和我们读者参考文档的引用嫁祸于包中。应该注意的是,这个包是基因表达数据开发的,而不是为甲基化数据。然而,最可能的方法执行甲基化数据[3]。

嫁祸于包取决于起始的随机值。因此,为了保证随机性,随机种子的最终设置应该被删除。

如果存在(“.Random.seed”)) rm (.Random.seed)

如前所述,数据集包含2肿瘤。因此归咎将运行在两个列的甲基化数据。

#加载库库(转嫁)#适用归责imputedData < - impute.knn (MethPed_sample_missing) #提取估算矩阵对象“数据”imputedData < - imputedData $ data #检查缺失值checkNA (imputedData)
# #肿瘤。一个肿瘤。B probeName # # 0 0 0

现在我们将运行MethPed imputated矩阵算法。

myClassification < - MethPed (imputedData)总结(myClassification)
# # DIPG室管膜瘤ETMR GBM MB_Gr3 MB_Gr4 MB_SHH MB_WNT PiloAstro # #肿瘤。0.006 0.073 0.009 0.024 - 0.783 0.060 - 0.01 0.024 - 0.011 # #肿瘤。B 0.002 0.041 0.000 0.197 0.001 0.002 0.00 0.000 0.757

6接触和引用

6.1联系

对缺陷报告,评论和特性请求请写

6.2引用

当使用MethPed在你的工作,请列举:

引用(“MethPed”)
# # # #包引用“MethPed”出版物使用:# # # #艾哈迈德穆罕默德·坦维尔——安娜Danielsson西拉德所和海伦娜# #卡伦(2021)。MethPed: DNA甲基化分类器工具# #儿童脑部肿瘤亚型的识别。# # 1.22.0 R包版本。# # # #助理条目为乳胶用户是# # # # @Manual{# #标题= {MethPed: DNA甲基化分类器的识别工具# #小儿脑瘤亚型},# #作者={艾哈迈德穆罕默德·坦维尔和安娜Danielsson西拉德所和海伦娜卡伦},={2021},# #年# #注意= {R包版本1.22.0},# #}

7作者信息

穆罕默德·艾哈迈德坦维尔——安娜Danielsson西拉德所和海伦娜卡伦,瑞典哥德堡大学。

8会话信息

sessionInfo ()
# # R版本以下4.4.1(2021-08-10)# #平台:x86_64-pc-linux-gnu(64位)# #下运行:Ubuntu 20.04.3 LTS # # # #矩阵产品:默认# #布拉斯特区:/home/biocbuild/bbs - 3.14 - bioc / R / lib / libRblas。所以# # LAPACK: /home/biocbuild/bbs - 3.14 - bioc / R / lib / libRlapack。# # # #语言环境:# # [1]LC_CTYPE = en_US。utf - 8 LC_NUMERIC = C # #[3]而= 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 = C LC_TELEPHONE = # # [11] LC_MEASUREMENT = en_US。utf - 8 LC_IDENTIFICATION = C附加基本包:# # # # # #[1]统计图形grDevices跑龙套数据集方法基础# # # #其他附加包:# # [1]impute_1.68.0 MethPed_1.22.0 Biobase_2.54.0 # # [4] BiocGenerics_0.40.0 BiocStyle_2.22.0 # # # #通过加载一个名称空间(而不是附加):# # [1]Rcpp_1.0.7 knitr_1.36 magrittr_2.0.1 # # [4] R6_2.5.1 rlang_0.4.12 fastmap_1.1.0 # # [7] stringr_1.4.0 highr_0.9 tools_4.1.1 # # [10] xfun_0.27 jquerylib_0.1.4 htmltools_0.5.2 # # [13] yaml_2.2.1 digest_0.6.28 randomForest_4.6-14 # # [16] bookdown_0.24 BiocManager_1.30.16 sass_0.4.0 # # [19] evaluate_0.14 rmarkdown_2.11 stringi_1.7.5 # # [22] compiler_4.1.1 bslib_0.3.1 magick_2.7.3 # # [25] jsonlite_1.7.2

9引用

[1]安娜Danielsson西拉德所,马格努斯Tisell, Birgitta兰纳,克拉斯Nordborg,马格努斯Sabel,海伦娜卡伦。“MethPed: DNA甲基化儿童脑部肿瘤亚型的识别分类器工具”。7:62临床实验胚胎学2015年,2015年

[2]Breiman,利奥(2001)。“随机森林”。机器学习45 (1):5-32。doi: 10.1023 /: 1010933404324

[3]Troyanskaya, O。m·康托尔g .夏洛克,p .布朗,t . Hastie r . Tibshirani d Botstein和r·b·奥特曼。DNA微阵列”缺失值估计方法。“生物信息学17.6 (2001):520 - 25。