今天正好是祖国生日,看阅兵式,我类的心呐,激动啊......
360行,做好自己的那一行才是最好的。做好自己的专业,莫羡慕别人的专业。
我写这个帖子的初衷是整理一下这三天的辛苦劳作。
好,言归正传,今日讲的内容是:在TCGA中下载自己专业的或感兴趣的疾病数据,并做感兴趣基因的生存分析图。
开篇
做某基因在某种疾病中的生存分析,首先有基因,然后找到该基因在该疾病中的表达数据,然后有该基因的样本及临床信息,下面一步步写。
一:基因
自己感兴趣的基因,来源1.文献;2.国自然项目;3.生信分析;4.自己的芯片分析等
此处假设为B基因;
二:疾病
本帖以sarcoma为例子,基因为B
三:TCGA数据下载
UCSC Xenaxena.ucsc.eduUCSC Xena下载TCGA数据的网站
1.临床数据下载
---launch xena
--选择感兴趣的,点击进去,此处选择SARC
--上面的红圈内下载基因表达数据,下面红圈内下载临床数据
得到后复制到R的工作路径内,然后就开始进行代码
四:
rm(list = ls())
##获得基因B在各个样本中的表达数据
gene_exp=read.table(file="HiSeqV2",sep = "t",header = T)
rownames(gene_exp)=gene_exp[,1]
gene_exp=gene_exp[,-1]
GENE=t(gene_exp[which(row.names(gene_exp)=="B"),])
#得到B在各个样本中的表达数据,计算中位数,根据中位数将各样本分为高表达组和低表达组
med=median(GENE)
GENE=data.frame(B)
GENE[GENE$B>med,"B"]<-"High"
GENE[B$B<=med,"B"]<-"Low"
##以上代码已经获得了基因B在各样本中的表达数据
##下面取获得临床数据
clinical=read.table(file="SARC_clinicalMatrix",sep = "t",header = T)
Clinical=Clinical[,c(1:8,10:13)]
##将中间的连接“-”转换成“.”
t=clincal
T=data.frame(gsub("-",".",t$sampleID),t)
colnames(T)[1]="SampleID"
T=T[,-2]
Clinical=T
##匹配并合并之,得到的数据既有临床数据,又有某个基因的表达数据
gene_clinical=data.frame(Clinical[match(rownames(GENE),Clinical$SampleID),],GENE)
##
##B低表达的改为1,高表达的改为2
gene_clinical$B<- ifelse((gene_clinical$B =="High"), 1,2)
GC=gene_clinical
##目前的数据后,就可以进行生存分析作图了
library(survival)
fit.surv <-Surv(GC$OS.time,GC$OS)
km<-survfit(fit.surv~1,data = GC)
km_2<- survfit(fit.surv~B,data=GC)
library(survminer)
ggsurvplot (km)
ggsurvplot (km_2)
ggsurvplot(km_2,
legend = "bottom", #将图例移动到下方
legend.title = "B",#改变图例名称
legend.labs = c("High", "Low"),
linetype = "strata"# 改变线条类型
)
ggsurvplot(km_2, main = "Survival curve",
pval=TRUE #添加P值
)
ggsurvplot(km_2,
legend = "top", #将图例移动到下方
legend.title = "B",#改变图例名称
legend.labs = c("High", "Low"),
linetype = "strata",# 改变线条类型
xlab="Days",
ylab="OS",
pval=TRUE
)