AIMS包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理)

AIMS包的介绍(根据生信技能树Jimmy老师分享的乳腺癌分子分型包资料整理,感谢Jimmy老师!)

  • 1.在 McGill数据集上分配 AIMS 亚型
  • 2.仅给一个样本分配亚型
  • 3.在 vdx 数据集上分配 AIMS 亚型

期刊: Journal of the National Cancer Institute
论文:Absolute Assignment of Breast Cancer Intrinsic Molecular Subtype
Bioconductor link: https://www.bioconductor.org/packages/release/bioc/html/AIMS.html
亮点:几种生物信息学工具可用于从基因表达谱中推断患者亚型,包括经过充分研究的PAM50。 这些工具中使用的特定算法方法需要访问大量的患者数据集。 个体的亚型选择是相对于整个小组中所有其他患者的确定的,这使得亚型严重依赖于数据集的组成。 我们的目标是开发一种生物信息学方法,独立于数据集组成,分配绝对乳腺癌亚型。曾老师:这个包用起来很方便,一个矩阵和其基因id,单个函数就解决了问题,很棒。

在这个案例研究中,我们将使用论文中描述的McGill数据集的一小部分,以及BreastCancerVDX。

1.在 McGill数据集上分配 AIMS 亚型

#我们首先需要加载AIMS包和我们的示例数据集。
# if (!require("BiocManager", quietly = TRUE))
#   install.packages("BiocManager")
# BiocManager::install("AIMS")
# BiocManager::install("breastCancerVDX")
# BiocManager::install("hgu133a.db")

library(AIMS)
#为了获得数据集的乳腺癌亚型,需要提供没有经过基因中心技术处理过的基因表达值。这意味着所有的表达式值都是正的。在双色阵列的情况下,用户应该只选择包含肿瘤样本的通道(通常是Cy5通道)。
# AIMS 要求使用 Entrez id 以防与易变的gene symbols产生混淆。
data(mcgillExample)

#applyAIMS 是用于将 AIMS 分配给单个样本和基因表达数据集的函数。第一个参数应该是由正值组成的数值矩阵。行代表基因和列样本。第二个参数代表第一个参数中基因对应的EntrezId。 AIMS 将处理重复的 EntrezId,因此你可以将它们留在那里。
#applyAIMS 返回参数列表。cl 表示 (Basal、Her2、LumA (Luminal A)、LumB (Luminal B) 和 Normal) 中的分子亚型分配。变量 prob 对应于一个矩阵,该矩阵具有五列,行数对应于 D 中的样本数。该矩阵包含从朴素贝叶斯分类器返回的后验概率。
mcgill.subtypes <- applyAIMS(mcgillExample$D,mcgillExample$EntrezID)
names(mcgill.subtypes)
# [1] "cl"            "prob"          "all.probs"     "rules.matrix"
# [5] "data.used"     "EntrezID.used"

head(mcgill.subtypes$cl)
#   20
# 1 "Normal"
# 2 "LumA"
# 3 "LumB"
# 4 "Her2"
# 5 "LumA"
# 6 "LumB"

head(mcgill.subtypes$prob)
#   20
# 1 0.7784899
# 2 1.0000000
# 3 0.9929477
# 4 0.9722196
# 5 0.9998480
# 6 0.9533438

table(mcgill.subtypes$cl)
# Basal   Her2   LumA   LumB Normal
# 52       65     98     54     52

2.仅给一个样本分配亚型

# 这与之前的示例相同,只是现在我们仅给一个样本分配亚型。
mcgill.first.sample.subtype <- applyAIMS(mcgillExample$D[,1,drop=FALSE],mcgillExample$EntrezID)
names(mcgill.first.sample.subtype)
# [1] "cl"            "prob"          "all.probs"     "rules.matrix"
# [5] "data.used"     "EntrezID.used"

head(mcgill.first.sample.subtype$cl)
#   20
# 1 "Normal"

head(mcgill.first.sample.subtype$prob)
#   20
# 1 0.7784899

table(mcgill.first.sample.subtype$cl)
# Normal
# 1

3.在 vdx 数据集上分配 AIMS 亚型

# 使用 (hgu133a.db) 来获取与 HG-133A 阵列的探针相对应的 EntrezId。 AIMS适用于该平台。
library(breastCancerVDX)
library(hgu133a.db)
data(vdx)

hgu133a.entrez <- as.character(as.list(hgu133aENTREZID)[featureNames(vdx)])
vdx.subtypes <- applyAIMS(vdx,hgu133a.entrez)
names(vdx.subtypes)
# [1] "cl"            "prob"          "all.probs"     "rules.matrix"
# [5] "data.used"     "EntrezID.used"

head(vdx.subtypes$cl)
#       20
# VDX_3 "Normal"
# VDX_5 "Her2"
# VDX_6 "Basal"
# VDX_7 "Basal"
# VDX_8 "LumB"
# VDX_9 "Her2"

head(vdx.subtypes$prob)
#       20
# VDX_3 1.0000000
# VDX_5 0.6131510
# VDX_6 1.0000000
# VDX_7 1.0000000
# VDX_8 1.0000000
# VDX_9 0.5376401

table(vdx.subtypes$cl)
# Basal Her2 LumA LumB Normal
# 97    67   67   86   27

你可能感兴趣的:(r语言,聚类)