的MethPed分类器的小儿脑瘤MethPed文章[1]中给出可以通过访问MethPed包中。这个包包括探针用于构建的分类算法,MethPed分类器和一个公布的数据集,我们作为一个例子。
的MethPed通过Bioconductor包可以安装
如果(!requireNamespace (“BiocManager”,悄悄地= TRUE)) install.packages (“BiocManager”) BiocManager::安装(“MethPed”)
的MethPed分类器依赖于randomForest包随机森林算法。如果有必要从凹口可以安装。
install.packages (“randomForest”)
如果有缺失值的数据,嫁祸于包可以安装缺少的数据归责。然而这是可选的,用户可以使用任何缺失值算法归责。
如果(!requireNamespace (“BiocManager”,悄悄地= TRUE)) install.packages (“BiocManager”) BiocManager::安装(“转嫁”)
生成的数据运行MethPed Illumina公司英飞纳姆HumanMethylation 450 BeadChip数组。MethPed假设输入数据是β值(β\ (\ \))。β值(β\ (\ \))是甲基化水平的估计使用强度甲基化和unmethylated等位基因之间的比率。
\[β~ = ~ \ \压裂强度{等位基因甲基化~ ~ ~ (M)}{(强度Unmethylated ~等位基因~ ~ (U) ~ + ~等位基因甲基化~ ~ ~ (M) ~ + ~强度抵消)}\]
“抵消”是选择避免与小值划分。Illumina公司使用一个默认的100。β\ (\ \)在0和1之间,0 unmethylated和1完全甲基化。
MethPed假设输入数据在3特定数据类(1)ExpressionSet类,2)矩阵类和3)data.frame类。
的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”
在矩阵类格式的数据,所有的β值矩阵的值(β\ (\ \))。在矩阵中,探针在样品的行和列。输入数据在“矩阵“类
# #数据结构
# #肿瘤。一个肿瘤。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]“矩阵”“数组”
在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”
的MethPed分类器使用随机森林算法(RF)未知的小儿大脑肿瘤样本分类到子类型。分类所得的选择β值(β\ (\ \))所需的分类。
计算过程分两个阶段进行。第一阶段开始减少探针池或构建培训调查数据集分类。我们叫这个数据集“预测”。第二阶段是将RF算法应用到感兴趣的调查数据的基础上进行分类培训调查数据集(预测)。
的建设培训探针池(预测),甲基化数据生成的Illumina公司英飞纳姆HumanMethylation 450 BeadChip数组从基因表达综合下载(地理)。四百七十二例,占几个脑肿瘤的诊断(DIPG,胶质母细胞瘤,ETMR成神经管细胞瘤、室管膜瘤,pilocytic星形细胞瘤)和他们进一步的子组。加入相应的地理数字在下表中给出
诊断 | 加入地理 |
---|---|
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
一个示例数据集没有失踪调查β值(β\ (\ \)),是提供的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”
此外,最好检查如果有失踪的探测值。这将确定如果缺少任何值每一列/样本的调查数据集。我们可以使用这个操作checkNA
命令的形式MethPed包中。运行这个大型数据集函数可能需要一些时间。
# #检查缺失值missingIndex < - checkNA missingIndex (MethPed_sample)
# #肿瘤。一个肿瘤。B probeName # # 0 0 0
在这个例子中,没有缺失值(探头名称或β值)的数据集。现在我们将运行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探针也失踪了
# #完成分析数据
算法的输出是分区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亚型。
或者,总结
函数可以用来得到的结果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
分类的输出也可以可视化在酒吧里的情节
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)
的名称包含在原始调查MethPed分类器(900探针)但缺少数据,可以访问的命令probeMis
。
probeMis (myClassification)
# # [1]“cg14310162”
在前一节中MethPed分类显示没有缺失值的数据集。在本节中,MethPed分类在数据缺失值。
提供的数据集“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分类。
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
对缺陷报告,评论和特性请求请写helenacarenlab + methped@gmail.com。
当使用MethPed在你的工作,请列举:
引用(“MethPed”)
# # # #包引用“MethPed”出版物使用:# # # #艾哈迈德穆罕默德·坦维尔——安娜Danielsson西拉德所和海伦娜# #卡伦(2021)。MethPed: DNA甲基化分类器工具# #儿童脑部肿瘤亚型的识别。# # 1.22.0 R包版本。# # # #助理条目为乳胶用户是# # # # @Manual{# #标题= {MethPed: DNA甲基化分类器的识别工具# #小儿脑瘤亚型},# #作者={艾哈迈德穆罕默德·坦维尔和安娜Danielsson西拉德所和海伦娜卡伦},={2021},# #年# #注意= {R包版本1.22.0},# #}
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
[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。