變異數(shù)據(jù)處理(3)

任意基因的任意分組比較

0.輸入數(shù)據(jù)

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

這里面的數(shù)據(jù):

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

1.比較任意miRNA在tumor和normal樣本中的表達(dá)量

以hsa-mir-143為例畫(huà)圖,可替換為其他任意miRNA。

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

2.任意miRNA在任意兩個(gè)分組中的表達(dá)量對(duì)比

只要是可以根據(jù)臨床信息查到或得到的分組,例如生死、人種、階段,都可以拿來(lái)做分組。

需要注意調(diào)整樣本順序,一一對(duì)應(yīng)。

#按照生死、人種、分期分組看看
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")
p2 = ggbetweenstats(data = dat, x = stage,  y = gene,title = "hsa-mir-143")
p3 = ggbetweenstats(data = dat, x = race,  y = gene,title = "hsa-mir-143")
library(patchwork)
p1/p2/p3
image.png

3.根據(jù)某個(gè)基因是否突變分組比較某miRNA的表達(dá)量

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個(gè)樣本中,有331個(gè)有突變信息記錄,將這些樣本對(duì)應(yīng)的表達(dá)矩陣取出來(lái)。
expm = exprSet[,k];

#挑選VHL突變了的病人ID
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

#可以計(jì)算每個(gè)基因的p值,找找是不是有顯著的。
res.aov <- t.test(gene ~ as.factor(mut), data = dat)
res.aov$p.value
#> [1] 0.9086252
#自己試試能不能寫(xiě)出來(lái)這個(gè)循環(huán)?
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容