################################################################################
# 1. TCGA 表达数据与导入
## https://xenabrowser.net/ 首先从xena上选好癌症类型,下载表达数据, download as "expr.tsv", 去除无表达值的样品
################################################################################
rm(list = ls())
library (stringr)
library (tidyverse)
## 读取表达信息
expr <- read.table("expr.tsv",header = T, stringsAsFactors = F, quote = "",check.names = F)
##查看数据结构
expr[1:3,1:4]
## 查看肿瘤、正常样品: FALSE=Normal, TRUE=Tumor
table(str_sub(expr$sample,14,15)<10)
################################################################################
# 2. 从TCGA表达矩阵里拆出配对样本
################################################################################
##配对样本的共同点是病人ID(前12位)一致,根据这个来匹配即可。
##先拆分成tumor和normal两个矩阵,根据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 函数
################################################################################
## 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 单基因多癌症种-成对分析(待补充)
### 同上下载不同癌症的成对样品所有基因的表达数据,整理好数据
### 批量做图、组图
TCGA癌症成对样品分析(待补充)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...