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

news2024/9/21 14:28:27

   

内容如下:

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-1

fpkmToTpm <- 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.coloradmin.cn/o/1481664.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【论文笔记】Improving Language Understanding by Generative Pre-Training

Improving Language Understanding by Generative Pre-Training 文章目录 Improving Language Understanding by Generative Pre-TrainingAbstract1 Introduction2 Related WorkSemi-supervised learning for NLPUnsupervised pre-trainingAuxiliary training objectives 3 Fra…

AttributeError: ‘list‘ object has no attribute ‘view‘

问题描述 训练yolov9的时候遇到了下面的问题。 In loss_tal.py: pred_distri, pred_scores torch.cat([xi.view(feats[0].shape[0], self.no, -1) for xi in feats], 2).split( (self.reg_max * 4, self.nc), 1) The error is as follows&#xff1a; AttributeError: list …

rtt的io设备框架面向对象学习-touch设备

目录 1.触摸设备基类2.触摸设备基类的子类3.初始化/构造流程3.1设备驱动层3.2 设备驱动框架层3.3 设备io管理层 4.总结5.使用5.1实例 1.触摸设备基类 此层处于设备驱动框架层。此层的类是抽象类。 在/ components / drivers / include / drivers /touch.h定义了如下touch设备…

unity 场景烘焙中植物叶片(单面网络)出现的白面

Unity版本 2021.3.3 平台 Windows 在场景烘焙中烘焙植物的模型的时候发现植物的叶面一面是合理的&#xff0c;背面是全白的&#xff0c;在材质球上勾选了双面烘焙&#xff0c;情况如下 这个问题可能是由于植物叶片的单面网格导致的。在场景烘焙中&#xff0c;单面网格只会在一…

nginx:rewrite重写指令及防盗链

目录 一、ngx_http_rewrite_module模块指令 1、if指令 1.1 if指令基本语法 1.2 if指令操作 1.2.1 案例一 1.2.2 案例二 2、return命令 3、set命令 4、break指令 5、rewrite指令 5.1 rewrite指令基本语法 5.1.1 regex正则表达式 5.1.2 flag可选标记 5.2 rewrite指…

【MySQL面试复习】发现了某个SQL语句执行很慢,如何进行分析?

系列文章目录 在MySQL中&#xff0c;如何定位慢查询&#xff1f; 系列文章目录发现了某个SQL语句执行很慢&#xff0c;如何进行分析&#xff1f; 发现了某个SQL语句执行很慢&#xff0c;如何进行分析&#xff1f; 一般SQL语句执行过慢的话需要考虑是否是聚合查询和多表查询&a…

第六节:Vben Admin权限-后端控制方式

系列文章目录 第一节:Vben Admin介绍和初次运行 第二节:Vben Admin 登录逻辑梳理和对接后端准备 第三节:Vben Admin登录对接后端login接口 第四节:Vben Admin登录对接后端getUserInfo接口 第五节:Vben Admin权限-前端控制方式 文章目录 系列文章目录前言一、角色权限(后端…

店匠科技颁布 Shoplazza Awards:品牌出海迎历史性机遇,赋能品牌腾飞

在全球化的今天&#xff0c;中国品牌在全球市场的地位日益显著&#xff0c;品牌意识的提升推动了企业出海战略的全新转型。以全球电商市场发展为例&#xff0c;根据 ecommerceBD 数据&#xff0c;2023 年全球零售电子商务销售额预计 6.3 万亿美元&#xff0c;到 2026 年&#x…

回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测

回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测 目录 回归预测 | Matlab实现BiTCN基于双向时间卷积网络的数据回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现BiTCN基于双向时间卷积网络的数据回归预测&#xff08;完整源码和数据&a…

AI大预言模型——ChatGPT在地学、GIS、气象、农业、生态、环境应用

原文链接&#xff1a;AI大预言模型——ChatGPT在地学、GIS、气象、农业、生态、环境应用 一开启大模型 1 开启大模型 1)大模型的发展历程与最新功能 2)大模型的强大功能与应用场景 3)国内外经典大模型&#xff08;ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diff…

蓝桥杯 信号覆盖

遍历每一个坐标轴上的点&#xff0c;带入圆的方程&#xff0c;看是否在圆内或圆上 #include<bits/stdc.h> using namespace std; int main() {int w,h,n,r,i,j,k,s,ans0;cin>>w>>h>>n>>r;int x[n1],y[n1];for(i0;i<n;i){cin>>x[i]>&…

Spring全面精简总结

Spring两大核心功能&#xff1a;IOC控制反转、AOP面向切面的编程 一、IOC控制反转 1.1、控制反转和依赖注入的概念&#xff1a; 控制反转(loC&#xff0c;Inversion of Control)&#xff0c;是一个概念&#xff0c;是一种思想。指将传统上由程序代码直接操控的对象调用权…

2326. 王者之剑(网络流,最小割,最大权独立集,最小点权覆盖)

活动 - AcWing 给出一个 nm 网格&#xff0c;每个格子上有一个价值 vi,j 的宝石。 Amber 可以自己决定起点&#xff0c;开始时刻为第 0 秒。 以下操作&#xff0c;在每秒内按顺序执行。 若第 i 秒开始时&#xff0c;Amber 在 (x,y)&#xff0c;则 Amber 可以拿走 (x,y) 上的…

spring.factories的常用配置项

概述 spring.factories 实现是依赖 spring-core 包里的 SpringFactoriesLoader 类&#xff0c;这个类实现了检索 META-INF/spring.factories 文件&#xff0c;并获取指定接口的配置的功能。 Spring Factories机制提供了一种解耦容器注入的方式&#xff0c;帮助外部包&am…

qsort函数 结构体比较(strcmp函数(比较字符串的大小))

strcmp函数应用于qsort函数&#xff0c;排序创建函数指针时比较字符串大小。 这里我创建了一个简单的学生结构体&#xff0c;这个结构体只包含名字跟年龄两个信息。 在创建函数指针cmp_stu_age后&#xff0c;进行年龄大小比较&#xff0c;强制类型转换成stu*。 int cmp_stu_ag…

报错问题解决django.db.utils.OperationalError: (1049, “Unknown database ‘ mxshop‘“)

开发环境&#xff1a;ubuntu22.04 pycharm 功能&#xff1a;django连接使用mysql数据库&#xff0c;各项配置看似正常 报错&#xff1a; django.db.utils.OperationalError: (1049, "Unknown database mxshop") 分析检查原因&#xff1a; Setting的配置文件内&…

【JavaEE】_HttpServletResponse类

目录 1. 核心方法 2. 关于setStatus(400)与sendError 2.1 setStatus(400) 2.2 sendError 3. setHeader方法 4. 构造重定向响应 4.1 使用setHeader和setStatus实现重定向 4.2 使用sendRedirect实现重定向 本专栏已有文章介绍HttpServlet和HttpServletRequest类&#…

使用Python语言实现一个基于动态数组的序列队列

一、动态数组的实现 首先&#xff0c;我们需要创建一个DynamicArray类&#xff0c;该类将管理我们的动态数组。 动态数组能够动态地调整其大小&#xff0c;以容纳更多的元素。 目录 一、动态数组的实现 代码示例&#xff1a; 二、序列队列的实现 接下来&#xff0c;我…

【rust】10 project、crate、mod、pub、use、项目目录层级组织、概念和实战

文章目录 一、项目目录层级组织概念1.1 cargo new 创建同名 的 Project 和 crate1.2 多 crate 的 package1.3 mod 模块1.3.1 创建嵌套 mod1.3.2 mod 树1.3.3 用路径引用 mod1.3.3.1 使用绝对还是相对? 1.3.4 代码可见性1.3.4.1 pub 关键字1.3.4.2 用 super 引用 mod1.3.4.3 用…

Mathtype安装时word启动显示“文件未找到:MathPage.WLL”

背景 由于老板布置的临时工作&#xff0c;需要安装Mathtype&#xff0c;但尝试了3个不同的版本后&#xff08;每次都卸载干净了&#xff09;&#xff0c;均未能成功安装&#xff0c;出现的报错3个版本各不相同&#xff1a; ①解压安装过程中失败&#xff08;这个版本不再尝试…