一篇數(shù)據(jù)挖掘文章的復現(xiàn)-2

書接上回:http://www.reibang.com/p/c7597357a915

ER相關(guān)的基因

endoplasmic reticulum stress

gs = rio::import("GeneCards-SearchResults.csv")
k = gs$`Relevance score`>=7;table(k)
## k
## FALSE  TRUE 
##  6267   802
gs = gs[k,]

兩種算法計算每個基因的p值肢藐,并取交集

4個數(shù)據(jù)需要循環(huán)流译,先拿其中一個數(shù)據(jù)跑通豁陆,再把代碼寫入循環(huán)

library(tinyarray)
load("../1_data_pre/exp_surv1.Rdata")
exp1 = exp1[rownames(exp1) %in% gs$`Gene Symbol`,]
c1 = surv_cox(exp1,surv1,continuous = T)
head(c1)
##             coef         se         z            p       HR      HRse      HRz
## UBE2J2 1.4404365 0.13446765 10.712141 0.000000e+00 4.222539 0.5677949 5.675533
## RER1   1.8780151 0.11813991 15.896534 0.000000e+00 6.540509 0.7726952 7.170369
## ICMT   1.0621919 0.11658641  9.110770 0.000000e+00 2.892705 0.3372500 5.612170
## PARK7  0.6545554 0.13911446  4.705157 2.536705e-06 1.924287 0.2676961 3.452746
## H6PD   0.8217466 0.10642461  7.721396 1.154632e-14 2.274469 0.2420595 5.265107
## FBXO6  0.9195681 0.08969749 10.251882 0.000000e+00 2.508207 0.2249799 6.703741
##                 HRp   HRCILL   HRCIUL
## UBE2J2 1.382573e-08 3.244252 5.495823
## RER1   7.479573e-13 5.188606 8.244654
## ICMT   1.998047e-08 2.301789 3.635320
## PARK7  5.549107e-04 1.465060 2.527460
## H6PD   1.401079e-07 1.846253 2.802004
## FBXO6  2.031497e-11 2.103840 2.990295
nrow(c1)
## [1] 653
k1 = surv_KM(exp1,surv1)
head(k1) #p值實在太小,逼近0
##  UBE2J2    RER1   FBXO6   DDOST   CDC42 SELENON 
##       0       0       0       0       0       0
length(k1)
## [1] 642
g1 = intersect(rownames(c1),names(k1))
head(g1)
## [1] "UBE2J2" "RER1"   "ICMT"   "PARK7"  "H6PD"   "FBXO6"
length(g1)
## [1] 615

循環(huán)

load("../1_data_pre/exp_surv2.Rdata")
load("../1_data_pre/exp_surv3.Rdata")
load("../1_data_pre/exp_surv4.Rdata")
exp = list(exp1,exp2,exp3,exp4)
surv = list(surv1,surv2,surv3,surv4)
g = list()
for(i in 1:4){
  exp[[i]] = exp[[i]][rownames(exp[[i]]) %in% gs$`Gene Symbol`,]
  c1 = surv_cox(exp[[i]],surv[[i]],continuous = T)
  k = surv_KM(exp[[i]],surv[[i]])
  g[[i]] = intersect(rownames(c1),names(k))
}
names(g) = c("TCGA","CGGA_array","CGGA","GSE16011")
sapply(g, length)
##       TCGA CGGA_array       CGGA   GSE16011 
##        615        413        551        335
v_plot = draw_venn(g,"")
ggplot2::ggsave(v_plot,filename = "venn.png")

4個數(shù)據(jù),兩種算法p<0.05的基因取交集,得到195個基因付翁,用于lasso回歸

g = intersect_all(g)
length(g)
## [1] 195

lasso回歸

使用TCGA的數(shù)據(jù)構(gòu)建模型

library(survival)
x = t(exp1[g,])
y = data.matrix(Surv(surv1$time,surv1$event)) 
library(glmnet)
set.seed(10210)
cvfit = cv.glmnet(x, y, family="cox") 
fit=glmnet(x, y, family = "cox") 

coef = coef(fit, s = cvfit$lambda.min) 
index = which(coef != 0) 
actCoef = coef[index] 
lassoGene = row.names(coef)[index] 
lassoGene
##  [1] "GPX7"     "MR1"      "SHISA5"   "CP"       "PPM1L"    "DNAJB11" 
##  [7] "SNCA"     "ANXA5"    "HFE"      "EPM2A"    "FKBP14"   "BET1"    
## [13] "SERPINE1" "CASP2"    "BAG1"     "SIRT1"    "DNAJB12"  "ERLIN1"  
## [19] "CYP2E1"   "CASP4"    "SLN"      "ERP27"    "DDIT3"    "ATP2A2"  
## [25] "ERP29"    "MYH7"     "CDKN3"    "MAPK3"    "MMP2"     "NOL3"    
## [31] "BRCA1"    "PRNP"     "MX1"      "RNF185"   "SREBF2"   "GLA"
par(mfrow = c(1,2))
plot(cvfit) 
plot(fit,xvar="lambda",label = F)

逐步回歸法

library(My.stepwise)
vl <- lassoGene
dat = cbind(surv1,t(exp1[lassoGene,]))
# My.stepwise.coxph(Time = "time",
#                   Status = "event",
#                   variable.list = vl,
#                   data = dat)

model = coxph(formula = Surv(time, event) ~ HFE + SHISA5 + BRCA1 + EPM2A + 
    ERLIN1 + GPX7 + SLN + DNAJB11 + MMP2 + NOL3 + CP + ATP2A2 + 
    GLA + MAPK3 + SREBF2 + CASP2 + SNCA + DDIT3 + BAG1 + ANXA5, 
    data = dat)

summary(model)$concordance
##           C       se(C) 
## 0.865988496 0.009754695
genes = names(model$coefficients);length(genes)
## [1] 20
library(survminer)
ggforest(model,data = dat)
ggsave("forest.png",width = 10,height = 8)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末筛欢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子战秋,更是在濱河造成了極大的恐慌璧亚,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脂信,死亡現(xiàn)場離奇詭異癣蟋,居然都是意外死亡透硝,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門疯搅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來濒生,“玉大人,你說我怎么就攤上這事幔欧∽镏危” “怎么了?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵礁蔗,是天一觀的道長规阀。 經(jīng)常有香客問我,道長瘦麸,這世上最難降的妖魔是什么谁撼? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮滋饲,結(jié)果婚禮上厉碟,老公的妹妹穿的比我還像新娘。我一直安慰自己屠缭,他們只是感情好箍鼓,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著呵曹,像睡著了一般款咖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奄喂,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天铐殃,我揣著相機與錄音,去河邊找鬼跨新。 笑死富腊,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的域帐。 我是一名探鬼主播赘被,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼肖揣!你這毒婦竟也來了民假?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤龙优,失蹤者是張志新(化名)和其女友劉穎羊异,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡球化,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓦糟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筒愚。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖菩浙,靈堂內(nèi)的尸體忽然破棺而出巢掺,到底是詐尸還是另有隱情,我是刑警寧澤劲蜻,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布陆淀,位于F島的核電站,受9級特大地震影響先嬉,放射性物質(zhì)發(fā)生泄漏轧苫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一疫蔓、第九天 我趴在偏房一處隱蔽的房頂上張望含懊。 院中可真熱鬧,春花似錦衅胀、人聲如沸岔乔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雏门。三九已至,卻和暖如春掸掏,著一層夾襖步出監(jiān)牢的瞬間茁影,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工丧凤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留呼胚,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓息裸,卻偏偏與公主長得像蝇更,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子呼盆,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容