TCGA癌癥成對樣品分析(待補充)

################################################################################
# 1. TCGA 表達數(shù)據(jù)與導(dǎo)入
## https://xenabrowser.net/ 首先從xena上選好癌癥類型,下載表達數(shù)據(jù), download as "expr.tsv", 去除無表達值的樣品
################################################################################

rm(list = ls())
library (stringr)
library (tidyverse)

## 讀取表達信息
expr <- read.table("expr.tsv",header = T, stringsAsFactors = F, quote = "",check.names = F)

##查看數(shù)據(jù)結(jié)構(gòu)
expr[1:3,1:4]

## 查看腫瘤、正常樣品: FALSE=Normal, TRUE=Tumor
table(str_sub(expr$sample,14,15)<10)

################################################################################
# 2. 從TCGA表達矩陣?yán)锊鸪雠鋵颖?################################################################################
##配對樣本的共同點是病人ID(前12位)一致,根據(jù)這個來匹配即可。

##先拆分成tumor和normal兩個矩陣,根據(jù)ID的14和15位來拆, 14-15>10: Normal, 414-15<=10: Tumor 
expr_nor = expr[str_sub(expr$sample,14,15) > 10,]
expr_tum = expr[str_sub(expr$sample,14,15)<=10,]

## 有normal樣本的病人的ID,是normal組樣本ID的前12位,也是expr_nor的行名。

## 然后將tumor矩陣中與patient相匹配的樣本名選出來,能匹配到的就會被挑出來。%in% or match 都是R語言里的神技能:match 更好,排序一致。
k<- match(str_sub(expr_nor$sample,1,12),str_sub(expr_tum$sample,1,12))
expr_tum_paired <- expr_tum[k,]

##可以把表達矩陣拼回去:
expr_paired <- rbind(expr_nor,expr_tum_paired)
expr_paired$Type <-ifelse(str_sub(expr_paired$sample,14,15) > 10, "Normal", "Tumor")

#dim(expr_paired)
save(expr_paired,file="expr_paired.Rdata")

################################################################################
# 3. 成對樣本表達差異分析:ggpaired 函數(shù)
################################################################################

## 3.1 單基因分析
rm(list = ls())
load("expr_paired.Rdata")

library(ggpubr)
library(ggstatsplot)
library(ggsci)
gene="YTHDF1" ## 選擇要查看的基因
ggpaired(expr_paired, x="Type", y=gene, color = "Type", line.color = "lightblue", point.size = 1.5,
         font.label = list(size = 16, color = "black"),
         ggtheme=theme_bw(),repel = TRUE,
         Tile=gene,
         ylab= "Expression(Log2(nCount+1))",
         xlab=" Tissue Type",
         line.size = 0.5, palette = "aaas")+ stat_compare_means(paired = TRUE)

ggsave(file=paste0(gene,".png"),width = 300,height = 450)

## 3.2 多基因批量基因分析、組圖

library(ggplotify)

p=list()

gene_nb <- length(colnames(expr_paired))-2
for ( i in 1:gene_nb){
  gene<-colnames(expr_paired)[i+1]
  p[[i]] <-ggpaired(expr_paired, x="Type", y=gene, color = "Type", 
                    line.color = "lightblue", point.size = 1.5,
                    font.label = list(size = 16, color = "black"),
                    ggtheme=theme_bw(), repel = TRUE,
                    title=gene,
                    ylab= "Expression(Log2(nCount+1))",
                    xlab=" Tissue Type",
                    line.size = 0.5, palette = "aaas")
    + stat_compare_means(paired = TRUE)
  ggsave( p[[i]], file=paste0(gene,".png"),width = 300,height = 450)
  
}

### 組圖
cowplot::plot_grid(plotlist = p,
                   labels =LETTERS[1:gene_nb],
                   ncol=2)

## 3.3 單基因多癌癥種-成對分析(待補充)
### 同上下載不同癌癥的成對樣品所有基因的表達數(shù)據(jù),整理好數(shù)據(jù)
### 批量做圖、組圖
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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