TCGA數據挖掘入門---任意基因的任意分組比較

任意基因的任意分組比較是生信技能樹[生信爆款入門課程]TCGA數據挖掘部分提到的一個重點。為拓展課堂所學知識,現在對其做下練習鞏固和總結。

1.加載并查看輸入數據

> rm(list=ls())
> load("for_boxplot.Rdata")

數據包含信息如下

image.png

數據解讀
exp是tumor-normal都有的表達矩陣,exprSet是只有tumor樣本的表達矩陣。meta是臨床信息表格,Group是tumor-normal分組信息。mut是突變信息,由maf文件讀取并取子集得到。

2.比較任意miRNA在tumor和normal樣本中的表達量

>以hsa-mir-143為例
> table(Group)
Group
normal  tumor 
    71    522 
> library(ggstatsplot)
> dat = data.frame(gene = exp["hsa-mir-143",],
+                  group = Group)
> ggbetweenstats(data = dat, x = group,  y = gene,title = "hsa-mir-143")
> 
image.png

3.任意miRNA在任意兩個分組中的表達量對比

只要是可以根據臨床信息查到或得到的分組,例如生死、人種、階段,都可以拿來做分組,需要注意的是需要調整樣本順序,使一一對應。

按照生死、人種、分期分組查看
 table(meta$patient.vital_status)

alive  dead 
  358   158 
> table(meta$patient.stage_event.pathologic_stage)

  i  ii iii  iv 
254  55 124  83 
> table(meta$patient.race)

                    asian black or african american                     white 
                        8                        56                       445 

> dat = data.frame(gene = exprSet["hsa-mir-143",],
+                  vital_status = meta$patient.vital_status,
+                  stage = meta$patient.stage_event.pathologic_stage,
+                  race = meta$patient.race)
> p1 = ggbetweenstats(data = dat, x = vital_status,  y = gene,title = "hsa-mir-143")
p1
image.png
> p2 = ggbetweenstats(data = dat, x = stage,  y = gene,title = "hsa-mir-143")
> p2

image.png
> p3 = ggbetweenstats(data = dat, x = race,  y = gene,title = "hsa-mir-143")
> p3
image.png

4.根據某個基因是否突變分組比較某miRNA的表達量

> dim(exprSet)
[1] 552 516
> head(mut)
   Hugo_Symbol Chromosome Start_Position         Tumor_Sample_Barcode     t_vaf
1:    HNRNPCL2       chr1       13115853 TCGA-G6-A8L7-01A-11D-A36X-10 0.2148148
2:       ERMAP       chr1       42842993 TCGA-G6-A8L7-01A-11D-A36X-10 0.1650165
3:        FAAH       chr1       46394349 TCGA-G6-A8L7-01A-11D-A36X-10 0.3114754
4:       EPS15       chr1       51448116 TCGA-G6-A8L7-01A-11D-A36X-10 0.1677852
5:      HMGCS2       chr1      119764248 TCGA-G6-A8L7-01A-11D-A36X-10 0.2539683
6:      NOS1AP       chr1      162367063 TCGA-G6-A8L7-01A-11D-A36X-10 0.2098765
              pos
1:  chr1:13115853
2:  chr1:42842993
3:  chr1:46394349
4:  chr1:51448116
5: chr1:119764248
6: chr1:162367063
> library(stringr)
> length(unique(str_sub(mut$Tumor_Sample_Barcode,1,12)))
[1] 336
> k = str_sub(colnames(exprSet),1,12) %in% unique(str_sub(mut$Tumor_Sample_Barcode,1,12));table(k)
k
FALSE  TRUE 
  185   331 
> 
> #516個樣本中,有331個有突變信息記錄,將這些樣本對應的表達矩陣取出來。
> expm = exprSet[,k]
> 
> VHL_mut=str_sub(as.character(
+   as.data.frame( mut[mut$Hugo_Symbol=='VHL','Tumor_Sample_Barcode'])[,1] ),
+   1,12)
> 
> library(dplyr)
> VHL_mut = mut  %>% 
+   filter(Hugo_Symbol=='VHL')  %>%   
+   as.data.frame()  %>% 
+   pull(Tumor_Sample_Barcode)   %>%  
+   as.character()   %>%   
+   str_sub(1,12)
> 
> #false 是未突變樣本,true是突變樣本
> 
> tail(rownames(expm))
[1] "hsa-mir-944" "hsa-mir-95"  "hsa-mir-96"  "hsa-mir-98"  "hsa-mir-99a"
[6] "hsa-mir-99b"
> dat=data.frame(gene=expm['hsa-mir-98',],
+                mut= str_sub(colnames(expm),1,12) %in% VHL_mut)
> 
> ggbetweenstats(data = dat, x = mut,  y = gene)
image.png

5.計算每個基因的p值

看看差異是不是顯著。

> res.aov <- t.test(gene ~ as.factor(mut), data = dat)
> res.aov$p.value
[1] 0.9086252
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。