内容

1安装

如果(!quired(“ Biocmanager”))install.packages(“ Biocmanager”)Biocmanager :: install(“ Glmsparsenet”)

2所需的包装

库(dplyr)库(ggplot2)库(生存)库(loose.rock)库(futile.logger)库(策展tcgadata)库(tcgautils)#library(glmsparsenet)####futile.logger.logger.logger.logger。last.value <-flog.layout(layout.format('[〜l] 〜m')).last.value <-soled.rock :: show.message(false)#设置ggplot2 default主题为最小值themimal themimal them_set(ggplot22):: theme_minimal())

3加载数据

数据是从从TCGA下载的在线策划数据集加载的策展生物导体包装并处理。

为了加速过程,我们仅使用一个非常简化的数据集将其降至100个变量(基因),将其作为数据对象存储在此软件包中。但是,在以下块中描述了手动获取数据的过程。

prad <-CuratedTcgadata(diseAseCode =“ prad”,assays =“ rnaseq2genenorm”,false)

从临床柱中构建生存数据。

#仅保持实体肿瘤(代码:01)prad.primary.solid.solid.tumor <-tcgautils :: SplitAssays(prad,'01')xdata.raw <-t(assay(prad.primary.solid.tumor.tumor.tumor [[1]])]))#获取生存信息ydata.raw <-Coldata(prad.primary.solid.tumor)%>%as.data.frame%>%##在所有天数之间找到最大时间(忽略错过)rowwise%>%突变(time = max(days_to_last_followup,days_to_death,na.rm = true))%>%#仅保留生存变量和代码选择(atteryId,status = vital_status,time,time)%>%>%#丢弃生存时间或等于0滤镜的人(!is.na(时间)和时间> 0)%>%>%as.data.frame#将索引设置为耐心Id rownames(ydata.raw)<-ydata.raw $ derationId#peritageid#保持标准偏差> 0的功能xdata.raw <-xdata.raw [tcgabarcode(rownames(xdata.raw))%rownames(ydata.raw),] xdata.raw <-xdata.raw <-xdata.raw%>%>%>%{!= 0)}%>%{xdata.raw [,。]}%>%scale#corde ydata与assay ydata.raw <-ydata.raw [tcgabarcode(tcgabarcode(rownames(xdata.raw))相同]。种子(参数$种子)Small.subset <-c(genEnames(c('ensg00000103091','ensg0000000064787','ensg00000119915','ensg00000120158','ensg00000114491'),100))%>%unique%>%排序
## Ensembl网站无响应,尝试USWest Mirror
xData <-xdata.raw [,small.subset [small.subset%in%colnames(xdata.raw)]] ydata <-ydata.raw%>%select(时间,状态)

4适合模型

使用集线器使用交叉验证函数进行拟合模型模型惩罚cv.glmhub

set.seed(params $ seed)拟合<-cv.glmhub(xdata,surch(ydata $ time,ydata $ status),family ='cox',nlambda = 1000,network ='cornect ='corner ='corner ='cornections = network.options = networkOptions = networkOptions(cutoff = .6,min.degree = .2))

5交叉验证的结果

显示了100用于在10倍交叉验证中找到最佳值的不同参数。这两个垂直虚线代表了最佳模型和一个模型,其中选择了较少的变量(基因),但在最佳的标准误差距离内。

情节(合适)

5.1从交叉验证中选定模型的系数

采用最佳模型描述lambda.min

coefs.v <-coef(拟合,s ='lambda.min')[,1]%>%{。[。!= 0]} coefs.v%>%{data.frame(ensembl.id = names(。),gene.name = genEnames(names(。%安排(gene.name)%>%knitr :: kable()
## value [[3L]](cond)中的警告:查找基因名称时错误:## BMRequest中的错误(请求= request = request,verbose = verbose):内部服务器错误(http 500)。
emembl.id gene.name 系数
AKAP9 AKAP9 AKAP9 0.2616307
Alpk2 Alpk2 Alpk2 -0.0714527
ATP5G2 ATP5G2 ATP5G2 -0.2575987
C22orf32 C22orf32 C22orf32 -0.2119992
CSNK2A1P CSNK2A1P CSNK2A1P -1.4875518
myst3 myst3 myst3 -1.6177076
NBPF10 NBPF10 NBPF10 0.4507147
PFN1 PFN1 PFN1 0.4161846
SCGB2A2 SCGB2A2 SCGB2A2 0.0749064
SLC25A1 SLC25A1 SLC25A1 -0.8484827
STX4 STX4 STX4 -0.1690185
SYP SYP SYP 0.2425939
TMEM141 TMEM141 TMEM141 -0.8273147
UMP UMP UMP 0.2214068
ZBTB26 ZBTB26 ZBTB26 0.3696515

5.2癌症的标志

genenames(名称(coefs.v))%>%{标志(。$ external_gene_name)$ heatmap}
## Encembl网站无响应,尝试亚洲镜像
## Ensembl网站无响应,尝试使用useast镜子
## Ensembl网站无响应,尝试USWest Mirror

5.3生存曲线和对数等级测试

独立2GroupScox(AS.Vector(coefs.v),xdata [,names(coefs.v)],ydata,plot.title ='full dataSet',legend.outside = false)
## $ pvalue ## [1] 0.001155155 ## ## $ plot

## ## $ km ##呼叫:survfit(formula = restival :: surv(时间,状态)0 NA NA NA ##高风险248 10 3502 3467 NA