您的位置:首页 > 其它

利用R实现乳腺癌样本的分子分型

2016-11-06 18:05 218 查看

1. 背景

癌症并不是一种疾病,而更多地是多种疾病的集合。不同癌症病人的疾病进展,对治疗的响应,包括复发的几率都有所不同。从这种意义上讲,每个癌症都是独特的,带有自己的基因背景和体突变的演化轨迹。所以癌症的多样性对癌症的治疗有着重要的影响。对癌症样本进行分类可以帮助我们更好地理解疾病的进程,并且有助于在将来开展个体化的医治。

乳腺癌的分子分型主要是从肿瘤样本的转录组测序数据出发,对肿瘤样本进行分类。目前普遍接受的分子分型主要有四种,分别是LumA,LumB,HER2和Basal。对应的预后和推荐疗法也有所不同(见下表)

TypeER/PRHER2Prolif Recommended treatment
Luminal A+- -E
Luminal B++/-+E+C(+H)
HER2 positive-+ C+H
Basal-like-- C
其中E是激素疗法,C是传统化疗,H是HER2抑制剂。

2.软件配置

注意使用R3.3.0以上版本。我原来的版本是R3.2.5,以至于吃了不少亏。多数package还是来自于bioconductor。分型需要直接使用的包是genefu。利用如下语句进行安装。

source("http://www.bioconductor.org/biocLite.R")
biocLite("genefu")

当然如果真用了上述语句,下载的速度会痛不欲生,推荐使用中科大的bioconductor镜像,在中间加入

options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")

这个包有很多dependency,反正就是报错要什么就装什么。R的package管理也是乱,我都是用biocLite,依次装的包有SuppDists, bootstrap, rmeta, survivalROC, mclust, iC10, AIMS, amap。安装好以上的包就可以正常使用genefu了。

3.分型

首先import data。这里采用的数据是著名的Wang dataset,包含286个乳腺癌样本。测序平台是Affy家的HGU133A。
pure_data <- read.delim(path, header=FALSE, stringsAsFactors=FALSE)
d<-data.matrix(pure_data)
gene <- read.delim(path_gene)
其中d是原始的探针数据,gene是不同探针(probe)对应的gene_id和gene name。然后使用genefu库并按要求准备数据。

library("genefu")
gene$probe = gene$PROBEID
gene$EntrezGene.ID = gene$ENTREZID
dimnames(d) <- gene$PROBEID
genefu要求annotation变量包含EntrezGene.ID列和probe列,用来map基因。接下来我们对表达谱数据做normalization。
d = log(d)
d = scale(d)
然后就可以进行分型了。
cc<- molecular.subtyping(sbt.model = "ssp2006",data = d, annot = gene,do.mapping = TRUE)
这里分型采用的是Hu et al 2006提出的SSP方法。

最后可以将结果进行输出。
csub<-apply(cc$subtype.proba, 1, function(t) colnames(cc$subtype.proba)[which.max(t)])
csub = data.frame(as.list(csub),stringsAsFactors=FALSE)
write.table(csub, "D:/SSP06_subtyping.txt", sep="\t")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  转化医学 癌症 R 分型