r语言中which的使用_在TCGA中下载数据并做生存分析图-R语言实现

今天正好是祖国生日,看阅兵式,我类的心呐,激动啊......

360行,做好自己的那一行才是最好的。做好自己的专业,莫羡慕别人的专业。

我写这个帖子的初衷是整理一下这三天的辛苦劳作。

好,言归正传,今日讲的内容是:在TCGA中下载自己专业的或感兴趣的疾病数据,并做感兴趣基因的生存分析图。

开篇

做某基因在某种疾病中的生存分析,首先有基因,然后找到该基因在该疾病中的表达数据,然后有该基因的样本及临床信息,下面一步步写。

一:基因

自己感兴趣的基因,来源1.文献;2.国自然项目;3.生信分析;4.自己的芯片分析等

此处假设为B基因;

二:疾病

本帖以sarcoma为例子,基因为B

三:TCGA数据下载

UCSC Xena​xena.ucsc.edu
v2-64081622ed6311fbc8f47cc97041caf5_180x120.jpg

UCSC Xena下载TCGA数据的网站

1.临床数据下载

v2-aee8eeb66f9edb0e8e21f7af95284fe7_b.jpg

---launch xena

v2-3d890c3027f5f91f4855844593e003de_b.jpg

--选择感兴趣的,点击进去,此处选择SARC

v2-64b8a802d8bcd9980fd34754d9dbb4b3_b.jpg

--上面的红圈内下载基因表达数据,下面红圈内下载临床数据

v2-dafbbe4f8f0ddc02f3110404557642fb_b.jpg

v2-cbe5504861f57749487f9a519b0c7481_b.jpg

得到后复制到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
)     

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值