外泌体相关基因肝癌临床模型预测——2-3分纯生信文章复现——02.数据格式整理(2)

   

内容如下:

1.外泌体和肝癌TCGA数据下载

2.数据格式整理

3.差异表达基因筛选

4.预后相关外泌体基因确定

5.拷贝数变异及突变图谱

6.外泌体基因功能注释

7.LASSO回归筛选外泌体预后模型

8.预后模型验证

9.预后模型鲁棒性分析

10.独立预后因素分析及与临床的相关性分析

11.列线图,ROC曲线,校准曲线,DCA曲线

12.外部数据集验证

13.外泌体模型与免疫的关系

14.外泌体模型与单细胞测序

############################## 02.数据格式整理 ###############################

 下面进行数据格式整理,把TCGA肝癌数据进行基因去重复,并把肿瘤样本放在前面,正常样本放在后面,方便后续进行差异表达分析:

我们从网站上把FPKM格式的数据以及注释数据下载下来:

UCSC Xenaicon-default.png?t=N7T8https://xenabrowser.net/datapages/?host=https%3A%2F%2Fgdc.xenahubs.net&removeHub=https%3A%2F%2Fxena.treehouse.gi.ucsc.edu%3A443

 

 下面fpkm格式转换成TPM格式:

data <- read.csv("TCGA-LIHC.htseq_fpkm.tsv",header = T,sep = "\t")
data[1:5,1:5]
rownames(data) <- data$Ensembl_ID
data[1:5,1:5]
data <- data[,-1]
data <- 2^data-1fpkmToTpm <- function(fpkm)
{exp(log(fpkm) - log(sum(fpkm)) + log(1e6))
}tpms <- apply(data,2,fpkmToTpm)
tpms[1:5,1:5]
colSums(tpms)
tpms <- log2(tpms+1)
write.csv(tpms,"LIHC_TPM.csv")# > tpms[1:5,1:5]
#                   TCGA.DD.A4NG.01A TCGA.G3.AAV4.01A TCGA.2Y.A9H1.01A
#ENSG00000242268.2          0.000000       0.00000000        0.0000000
#ENSG00000270112.3          0.000000       0.03631085        0.0000000
#ENSG00000167578.15         1.549102       2.59344450        3.0610666
#ENSG00000273842.1          0.000000       0.00000000        0.0000000
#ENSG00000078237.5          2.058289       1.82597669        0.9323438
#                   TCGA.BC.A10Y.01A TCGA.K7.AAU7.01A
#ENSG00000242268.2          0.000000       0.48630273
#ENSG00000270112.3          0.000000       0.01992221
#ENSG00000167578.15         1.880890       3.07514645
#ENSG00000273842.1          0.000000       0.00000000
#ENSG00000078237.5          1.505011       2.55963800

 这里还是geneid,我们需要换成genesymbol,因此要用到注释文件对基因进行注释:

dir()
data <- read.csv("LIHC_TPM.csv",header = T,sep = ",")
data[1:5,1:5]
annotation <- read.csv("gencode.v22.annotation.gene.probeMap",header = T,sep = "\t")
head(annotation)
match <- match(data$X,annotation$id)
head(match)
annotation <- annotation[match,]
head(annotation)
data[1:5,1:5]
identical(data$X,annotation$id)
data$X <- annotation$gene
data[1:5,1:5]# > data[1:5,1:5]
#              X TCGA.DD.A4NG.01A TCGA.G3.AAV4.01A TCGA.2Y.A9H1.01A TCGA.BC.A10Y.01A
#1 RP11-368I23.2         0.000000       0.00000000        0.0000000         0.000000
#2 RP11-742D12.2         0.000000       0.03631085        0.0000000         0.000000
#3         RAB4B         1.549102       2.59344450        3.0610666         1.880890
#4    AC104183.2         0.000000       0.00000000        0.0000000         0.000000
#5       C12orf5         2.058289       1.82597669        0.9323438         1.505011

 下面将肿瘤数据放在前面,正常数据放在后面,我们使用的正则表达式,这里的正则表达式只适用与TCGA的样本,下一节会讲一个万金油的办法:

注意TCGA样本的命名规则:

这里是0,表示肿瘤样本,是1表示正常样本。 


rownames <- as.data.frame(data$X)
head(rownames)
names(rownames) <- "Symbol"grep <- grep("^TCGA[.]([a-zA-Z0-9]{2})[.]([a-zA-Z0-9]{4})[.]([0][0-9][A-Z])",colnames(data))
length(grep)
grep
tumor <- data[,grep]
tumor[1:4,1:4]grep1 <- grep("^TCGA[.]([a-zA-Z0-9]{2})[.]([a-zA-Z0-9]{4})[.]([1][0-9][A-Z])",colnames(data))
length(grep1)
grep1
normal <- data[,grep1]
normal[1:4,1:4]data <- cbind(rownames,tumor,normal)
data[1:5,1:5]
library(limma)
rt=as.matrix(data)
rownames(rt) <- data[,1]
exp=rt[,2:ncol(rt)]
dimnames=list(rownames(exp),colnames(exp))
data33=matrix(as.numeric(as.matrix(exp)),nrow=nrow(exp),dimnames=dimnames)
## View(data33)
## BiocManager::install("limma")
library(limma)
dim(data33)
data33=avereps(data33)
dim(data33)
data33=data33[rowMeans(data33)>0,]
data33[1:5,1:5]#> data33[1:5,1:5]
#              TCGA.DD.A4NG.01A TCGA.G3.AAV4.01A TCGA.2Y.A9H1.01A TCGA.BC.A10Y.01A #TCGA.K7.AAU7.01A
#RP11-368I23.2         0.000000       0.00000000        0.0000000         0.000000       #0.48630273
#RP11-742D12.2         0.000000       0.03631085        0.0000000         0.000000       #0.01992221
#RAB4B                 1.549102       2.59344450        3.0610666         1.880890       #3.07514645
#AC104183.2            0.000000       0.00000000        0.0000000         0.000000       #0.00000000
#C12orf5               2.058289       1.82597669        0.9323438         1.505011       #2.55963800

检查一下样本名字:

colnames(data33)# > colnames(data33)[1] "TCGA.DD.A4NG.01A" "TCGA.G3.AAV4.01A" "TCGA.2Y.A9H1.01A" "TCGA.BC.A10Y.01A"[5] "TCGA.K7.AAU7.01A" "TCGA.BC.A10W.01A" "TCGA.DD.AACV.01A" "TCGA.DD.AAD3.01A"[9] "TCGA.DD.A1EI.01A" "TCGA.DD.AAC9.01A" "TCGA.DD.AACT.01A" "TCGA.GJ.A6C0.01A"[13] "TCGA.CC.5258.01A" "TCGA.DD.AADP.01A" "TCGA.DD.AACW.01A" "TCGA.ZS.A9CD.01A"[17] "TCGA.UB.A7MF.01A" "TCGA.WX.AA46.01A" "TCGA.CC.A8HV.01A" "TCGA.DD.AADQ.01A"[21] "TCGA.DD.AADB.01A" "TCGA.DD.A1EA.01A" "TCGA.5R.AA1C.01A" "TCGA.DD.A113.01A"[25] "TCGA.2Y.A9H9.01A" "TCGA.CC.A7IE.01A" "TCGA.XR.A8TD.01A" "TCGA.DD.AAD2.01A"[29] "TCGA.DD.AACY.01A" "TCGA.CC.A7IF.01A" "TCGA.DD.AACD.01A" "TCGA.ED.A4XI.01A""
[185] "TCGA.WQ.AB4B.01A" "TCGA.CC.A123.01A" "TCGA.YA.A8S7.01A" "TCGA.2Y.A9H2.01A"
[189] "TCGA.5C.A9VG.01A" "TCGA.CC.A3M9.01A" "TCGA.EP.A2KA.01A" "TCGA.DD.AADW.01A"
[193] "TCGA.DD.AAED.01A" "TCGA.LG.A9QD.01A" "TCGA.DD.AADV.01A" "TCGA.G3.A3CH.01A"
[197] "TCGA.G3.AAV1.01A" "TCGA.ZS.A9CG.01A" "TCGA.DD.AAW3.01A" "TCGA.ED.A7PY.01A"
[201] "TCGA.ZP.A9D2.01A" "TCGA.G3.A25Y.01A" "TCGA.G3.A3CI.01A" "TCGA.K7.A5RG.01A"
[381] "TCGA.DD.A39V.11A" "TCGA.BC.A110.11A" "TCGA.DD.A3A1.11A" "TCGA.DD.A1EB.11A"
[385] "TCGA.DD.A1EI.11A" "TCGA.BC.A10R.11A" "TCGA.DD.A1EH.11A" "TCGA.DD.A11C.11A"
[389] "TCGA.DD.A1EJ.11A" "TCGA.DD.A3A4.11A" "TCGA.BC.A10Y.11A" "TCGA.DD.A113.11A"
[393] "TCGA.DD.A1EG.11A" "TCGA.G3.A3CH.11A" "TCGA.BC.A10X.11A" "TCGA.DD.A39Z.11A"
[397] "TCGA.BC.A10W.11A" "TCGA.BD.A3EP.11A" "TCGA.FV.A3I0.11A" "TCGA.DD.A3A8.11A"
[401] "TCGA.DD.A116.11A" "TCGA.FV.A23B.11A" "TCGA.FV.A3I1.11A" "TCGA.BC.A10Q.11A"
[405] "TCGA.DD.A11D.11A" "TCGA.FV.A2QR.11A" "TCGA.DD.A11A.11A" "TCGA.DD.A3A2.11A"
[409] "TCGA.BD.A2L6.11A" "TCGA.EP.A12J.11A" "TCGA.DD.A3A6.11A" "TCGA.EP.A26S.11A"
[413] "TCGA.DD.A118.11A" "TCGA.DD.A119.11A" "TCGA.DD.A1EE.11A" "TCGA.BC.A216.11A"
[417] "TCGA.BC.A10Z.11A" "TCGA.FV.A3R2.11A" "TCGA.ES.A2HT.11A" "TCGA.DD.A114.11A"
[421] "TCGA.BC.A10T.11A" "TCGA.EP.A3RK.11A" "TCGA.BC.A10U.11A" "TCGA.DD.A11B.11A"

可以看到,肿瘤样本在前面,正常样本在后面,读出数据以便下次使用:

write.csv(data33,"TCGA-LIHC.csv")

下一节进行差异表达分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/502049.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt 中Qwidget相关属性

文章目录 1. QWidget 核心属性1.1 enabled1.2 geometry1.2.1 window frame 的影响 1.3 windowTitle1.4 windowIcon1.4.1 qrc的使用 1.5 windowOpacity1.6 cursor1.7 focusPolicy1.8 styleSheet 1. QWidget 核心属性 在 Qt 中, 使⽤ QWidget 类表⽰ “控件”. 像按钮, 视图, 输…

算法 -【二叉搜索树的范围和】

二叉搜索树的范围和 题目示例1示例2 分析代码 题目 给定二叉搜索树的根结点 root&#xff0c;返回值位于范围 [low, high] 之间的所有结点的值的和。 示例1 输入&#xff1a;root [10,5,15,3,7,null,18], low 7, high 15 输出&#xff1a;32 示例2 输入&#xff1a;root …

7、Redis-事务、持久化、内存淘汰机制和过期key处理

目录 一、事务 二、持久化 三、内存淘汰机制 四、过期key处理 一、事务 Redis的事务本质上就是一个批量执行命令的操作。分为三个步骤&#xff1a; 开始事务&#xff1a;multi命令入队&#xff1a;正常输入命令即可执行事务&#xff08;依次执行命令&#xff09;&#xf…

【rust】11、所有权

文章目录 一、背景二、Stack 和 Heap2.1 Stack2.2 Heap2.3 性能区别2.4 所有权和堆栈 三、所有权原则3.1 变量作用域3.2 String 类型示例 四、变量绑定背后的数据交互4.1 所有权转移4.1.1 基本类型: 拷贝, 不转移所有权4.1.2 分配在 Heap 的类型: 转移所有权 4.2 Clone(深拷贝)…

仿牛客网项目---显示评论和添加评论功能的实现

这篇文章&#xff0c;我来介绍一下我的项目中的另外一个功能&#xff1a;显示评论和添加评论。 其实这两个功能都不怎么重要&#xff0c;我感觉最重要的应该是用户注册登录功能&#xff0c;这个也了解一下&#xff0c;知道这么一回事儿就好。 首先设计DAO层。 Mapper public …

模型选择与评估

&#x1f6a9; 机器学习的一般流程包括&#xff1a;数据集的准备与预处理、搭建模型、模型训练、模型评估与应用。 在现实任务中&#xff0c;我们往往有多种学习算法可供选择&#xff0c;甚至对同一个学习算法&#xff0c;当使用不同的参数配置时&#xff0c;也会产生不同的模型…

11.盛最多水的容器

题目&#xff1a;给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 解题思路&#xff1a;可以…

「算法」常见位运算总结

位运算符 异或 按位异或可以实现无进位相加&#xff0c;所谓无进位相加&#xff0c;就是在不考虑进位的情况下将两个数相加&#xff08;后面有道题需要用到这种操作&#xff09; 异或的运算律 ①a ^ 0 a ②a ^ a 0 ③a ^ b ^ c a ^ ( b ^ c ) 有符号右移>> 将一个…

基于java+springboot动物检疫信息管理系统设计和实现

基于java SSM springboot动物检疫信息管理系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文…

leetcode--接雨水(双指针法,动态规划,单调栈)

目录 方法一&#xff1a;双指针法 方法二&#xff1a;动态规划 方法三&#xff1a;单调栈 42. 接雨水 - 力扣&#xff08;LeetCode&#xff09; 黑色的是柱子&#xff0c;蓝色的是雨水&#xff0c;我们先来观察一下雨水的分布情况: 雨水落在凹槽之间&#xff0c;在一个凹槽的…

HotFix原理学习

原文链接&#xff1a;Unity 游戏用XLua的HotFix实现热更原理揭秘-CSDN博客 本文通过对XLua的HoxFix使用原理的研究揭示出来这样的一套方法。这个方法的 第一步&#xff1a;通过对C#的类与函数设置Hotfix标签。来标识需要支持热更的类和函数。第二步&#xff1a;生成函数连接器…

csv大数值不显示E科学计算法的解决方案

背景&#xff1a; 从其他系统获取到一个商品mid的大的数值的csv文件&#xff0c;然后使用excel打开的时候有各种问题&#xff0c;本文记录下怎么正确的展示这个大数值的csv文件 正确展示数值精度&#xff1a; 数值展示错误 正确展示的方法&#xff1a; 1使用文本编辑器比如…