内容如下:
1.外泌体和肝癌TCGA数据下载
2.数据格式整理
3.差异表达基因筛选
4.预后相关外泌体基因确定
5.拷贝数变异及突变图谱
6.外泌体基因功能注释
7.LASSO回归筛选外泌体预后模型
8.预后模型验证
9.预后模型鲁棒性分析
10.独立预后因素分析及与临床的相关性分析
11.列线图,ROC曲线,校准曲线,DCA曲线
12.外部数据集验证
13.外泌体模型与免疫的关系
14.外泌体模型与单细胞测序
############################## 02.数据格式整理 ###############################
下面进行数据格式整理,把外泌体肝癌数据和正常数据合并,基因去重复,代码如下:
setwd("E:\\blog外泌体相关预测模型\\Figure 1")
dir()
tumor <- read.csv("HCC_longRNAs.txt",header = T,sep = "\t",row.names = 1)
tumor
normal <- read.csv("Healthy_longRNAs.txt",header = T,sep = "\t",row.names = 1)
normal
tumor[1:5,1:5]
# > tumor[1:5,1:5]
# HCC001 HCC002 HCC003 HCC004 HCC005
#TSPAN6 2.164 4.998 11.937 0.637 0.493
#TNMD 0.000 8.281 4.719 0.000 0.278
#DPM1 47.537 44.734 76.324 56.452 87.807
#SCYL3 9.543 8.619 10.142 18.599 7.082
#C1orf112 9.869 15.751 4.138 4.983 8.319
注意这里用了代码row.name = 1,也就是第一列基因名读取直接为行名,如果有重复的基因的话是会报错的,这里没有报错,说明基因已经是唯一的了。下面我们判断肿瘤和正常外泌体数据行名是否相等,如果相等就可以合并在一起:
identical(rownames(tumor),rownames(normal))
data <- cbind(tumor,normal)
data[1:5,1:5]
max(data)
# > data[1:5,1:5]
# HCC001 HCC002 HCC003 HCC004 HCC005
#TSPAN6 2.164 4.998 11.937 0.637 0.493
#TNMD 0.000 8.281 4.719 0.000 0.278
#DPM1 47.537 44.734 76.324 56.452 87.807
#SCYL3 9.543 8.619 10.142 18.599 7.082
#C1orf112 9.869 15.751 4.138 4.983 8.319
#> max(data)
#[1] 109279.6
行名相等,说明可以直接合并,这里看了一下max(data),最大值为109279.6,说明这个数据还是TPM格式,在后续分析中我们最好将他变成log2(TPM+1)的格式,方便作图:
data <- log2(data+1)
data[1:5,1:5]
min(data)
max(data)
#> data[1:5,1:5]
# HCC001 HCC002 HCC003 HCC004 HCC005
#TSPAN6 1.661750 2.584482 3.693431 0.7110543 0.5782142
#TNMD 0.000000 3.214280 2.515763 0.0000000 0.3538878
#DPM1 5.601013 5.515195 6.272844 5.8442852 6.4726015
#SCYL3 3.398214 3.265887 3.477936 4.2927081 3.0147124
#C1orf112 3.442147 4.066175 2.361207 2.5808691 3.2201752
#> min(data)
#[1] 0
#> max(data)
#[1] 16.73768
log2加权以后,最大值和最小值不会差的太多,后期作图会比较好看。
然后我们将外泌体数据读出来保存:
write.csv(data,"HCC_exosome.csv")
下一节是TCGA数据的处理。