TCGA數(shù)據(jù)下載以及生存分析

0你画、R包準備
先加載所需要的R包(提前下載好)

# 加載R包
library(TCGAbiolinks)
library(tibble)
library(SummarizedExperiment)
library("stringr")
library(dplyr)
library(stats4)
library(BiocGenerics)
library(parallel)
library("AnnotationDbi")
library("org.Hs.eg.db")
library(survival)
library(survminer)

檢查下TCGAbiolinks版本(如果版本過低可能會導致TCGA數(shù)據(jù)讀取失敗)

packageVersion("TCGAbiolinks")
‘2.29.6’

1拍棕、數(shù)據(jù)下載
以TCGA中肝癌的RNA數(shù)據(jù)為示例(可直接將數(shù)據(jù)下載到本地)

TCGAbiolinks:::getGDCprojects()$project_id
cancer_type="TCGA-LIHC"
clinical=GDCquery_clinic(project=cancer_type,type="clinical")
dim(clinical)
clinical[1:4,1:4]
head(colnames(clinical))
query <- GDCquery(project =cancer_type,
                   data.category = "Transcriptome Profiling",
                  data.type = "Gene Expression Quantification",
                  workflow.type = "STAR - Counts"
                    )

GDCdownload(query, method = "api", files.per.chunk = 50)
expdat <- GDCprepare(query)###讀取下載好的數(shù)據(jù)

2祷舀、數(shù)據(jù)整理

counts <- as.data.frame(assay(expdat))#默認提取counts數(shù)據(jù)
head(counts)###矩陣預覽
counts數(shù)據(jù)
group_list=ifelse(as.numeric(substr(colnames(counts),14,15)) < 10,'tumor','normal')
table(group_list)
#僅取tumor樣本
exp_tumor=counts[,group_list=='tumor']

為什么小于10的是tumor吟宦,大于10的是normal呢疫衩,因為Sample號從01-29的钮呀,其中01-09是tumor扛邑,也就是癌癥樣本怜浅;其中10-29是normal,也就是癌旁

TCGA編號
meta = clinical
#第一列作為行名
meta <- column_to_rownames(meta,var = "submitter_id")
colnames(meta)
#篩選我們感興趣的臨床信息
meta=meta[,colnames(meta) %in% c("vital_status",
                                 "days_to_last_follow_up",
                                 "days_to_death",
                                 "race",
                                 "gender",
                                 "age_at_index",
                                 "tumor_stage")]

#調(diào)整蔬崩、篩選臨床樣本信息數(shù)量與順序與表達矩陣相同
meta=meta[match(substr(colnames(exp_tumor),1,12),rownames(meta)),]

計算生存時間

#
#days_to_last_follow_up:距離死亡的時間
#day_to_last_follow_up:最后一個隨訪時間到開始時間
meta$days_to_death[is.na(meta$days_to_death)] <- 0   #缺失值標記為0
meta$days_to_last_follow_up[is.na(meta$days_to_last_follow_up)] <- 0
head(meta)
mata數(shù)據(jù)預覽
#時間以月份記恶座,保留兩位小數(shù)
meta$time=round(meta$days/30,2)
meta$time = as.numeric(meta$time)
#2、根據(jù)生死定義活著是0沥阳,死的是1
meta$event=ifelse(meta$vital_status=='Alive',0,1)
table(meta$event)

#3 年齡分組(部分樣本缺失跨琳,考慮可能的影響應該不大)
meta$age_at_index[is.na(meta$age_at_index)] <- 0
meta$age_at_index=as.numeric(meta$age_at_index)
meta$age_group=ifelse(meta$age_at_index>median(meta$age_at_index),'older','younger')

3鹅经、將ENS號轉(zhuǎn)換為基因名

#####將ENS號轉(zhuǎn)換為基因名
ENSEMBL=unlist(str_split(rownames(exprSet),"[.]",simplify=T))[,1]####去除ENS的版本號
df<-as.data.frame(ENSEMBL)
df$symbol <- mapIds(org.Hs.eg.db,

                     keys=ENSEMBL,

                     column="SYMBOL",

                     keytype="ENSEMBL")
轉(zhuǎn)換完成

將基因名添加到exprSet數(shù)據(jù)中并作為行名

exprSet$symbol<-df$symbol
exprSet <- exprSet[!duplicated(exprSet$symbol)& !is.na(exprSet$symbol), ]####去除重復并且刪掉NA
rownames(exprSet)<-exprSet$symbol
exprSet <- dplyr::select(exprSet,-symbol)
將基因名作為數(shù)據(jù)行名

接下來選擇目標基因進行生存分析即可

exprSet2<-as.matrix(exprSet)###不轉(zhuǎn)矩陣無法進行后續(xù)的計算
#######選擇目標基因進行生存分析 
meta$gene = ifelse(exprSet2["MS4A1",]>median(exprSet2["MS4A1",]),'high','low')
sfit1=survfit(Surv(time, event)~gene, data=meta)
ggsurvplot(sfit1,pval =TRUE, data = meta, risk.table = TRUE)
生存分析
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末夺蛇,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子跷睦,更是在濱河造成了極大的恐慌功炮,老刑警劉巖溅潜,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異薪伏,居然都是意外死亡滚澜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門嫁怀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來博秫,“玉大人潦牛,你說我怎么就攤上這事〉灿” “怎么了巴碗?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長即寒。 經(jīng)常有香客問我橡淆,道長,這世上最難降的妖魔是什么母赵? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任逸爵,我火速辦了婚禮,結果婚禮上凹嘲,老公的妹妹穿的比我還像新娘师倔。我一直安慰自己,他們只是感情好周蹭,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布趋艘。 她就那樣靜靜地躺著,像睡著了一般凶朗。 火紅的嫁衣襯著肌膚如雪瓷胧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天棚愤,我揣著相機與錄音搓萧,去河邊找鬼。 笑死宛畦,一個胖子當著我的面吹牛瘸洛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播次和,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼反肋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了斯够?” 一聲冷哼從身側(cè)響起囚玫,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤喧锦,失蹤者是張志新(化名)和其女友劉穎读规,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體燃少,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡束亏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了阵具。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碍遍。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡定铜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出怕敬,到底是詐尸還是另有隱情揣炕,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布东跪,位于F島的核電站畸陡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏虽填。R本人自食惡果不足惜丁恭,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望斋日。 院中可真熱鬧牲览,春花似錦、人聲如沸恶守。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽熬的。三九已至痊硕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間押框,已是汗流浹背岔绸。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留橡伞,地道東北人盒揉。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像兑徘,于是被迫代替她去往敵國和親刚盈。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

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