外泌体相关基因肝癌临床模型预测——2-3分纯生信文章复现——03.差异表达基因筛选(2)

    

内容如下:

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

2.数据格式整理

3.差异表达基因筛选

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

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

6.外泌体基因功能注释

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

8.预后模型验证

9.预后模型鲁棒性分析

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

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

12.外部数据集验证

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

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

############################## 03.差异表达基因筛选 #############################

 上次讲了差异表达基因,通过正则表达式将肿瘤组和正常组提取出来,然后肿瘤组放前面,正常组放后面进行差异表达分析,下面讲一个万能的办法,不用正则表达式,就是自己生成一个表达,对样本ID进行分组。

如我们肝癌的样本,我们复制到一个新的表格里面,然后对每个样本进行分组标记:

 

生成这个表格以后,然后存成csv格式。

 

下面读取代码:


setwd("E:\\blog外泌体相关预测模型\\Figure 1")
dir()
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

然后读取刚才生成的样本数据,匹配肿瘤和正常样本,进行差异表达分析:


rownames <- as.data.frame(data$X)
head(rownames)
names(rownames) <- "Symbol"sample <- read.csv("Sample_LIHC.csv",header = T,sep = ",")
head(sample)
tumorsample <- sample[sample$Type %in% "Tumor",] ### 提取肿瘤样本名
head(tumorsample)
normalsample <- sample[sample$Type %in% "Normal",]  ### 提取正常样本名
head(normalsample)
tumor <- data[,colnames(data) %in% tumorsample$SampleID]
dim(tumor)[2]## 记住肿瘤样本数量
normal <- data[,colnames(data) %in% normalsample$SampleID]
dim(normal)[2]## 记住正常样本数量
## 合并数据
data <- cbind(rownames,tumor,normal)
data[1:5,1:5]###  然后就可以进行后续的差异表达分析colnames(data)
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)library(limma)
dim(data33)
library(limma)
dim(data33)
data33=avereps(data33)
dim(data33)
data33=data33[rowMeans(data33)>0,]
data33[1:5,1:5]data <- normalizeBetweenArrays(data33)data <- as.data.frame(data)
data[1:5,1:5]
colnames(data)tumorNum <- dim(tumor)[2]
NormalNum <- dim(normal)[2]modType=c(rep("tumor",tumorNum),rep("normal",NormalNum))### 样本量需要改
design <- model.matrix(~0+factor(modType))
design
colnames(design) <- c("con","treat")
fit <- lmFit(data,design)
cont.matrix<-makeContrasts(treat-con,levels=design)
fit2 <- contrasts.fit(fit, cont.matrix)
fit2 <- eBayes(fit2)allDiff=topTable(fit2,adjust='fdr',number=200000)write.csv(allDiff,file="TCGA_LIHC_diff_expression2.csv")

下一节讲预后相关外泌体基因确定。

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

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

相关文章

力扣199. 二叉树的右视图(DFS,BFS)

Problem: 199. 二叉树的右视图 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 无论是DFS还是BFS我们都要思考到达二叉树的每一层&#xff08;或者每一层中的每一个节点&#xff09;时&#xff0c;我们都该如何按题目要求做出对应得处理!!!在本体中我们主要是&#x…

Solidity攻击合约:重入攻击与危害分析

以太坊智能合约开发中&#xff0c;重入攻击是一种常见的安全漏洞。这种攻击通常发生在合约的递归调用中&#xff0c;攻击者通过构造恶意交易&#xff0c;使得原本合约在执行过程中不断调用自身或其他合约&#xff0c;从而耗尽合约的Gas&#xff08;交易费用&#xff09;&#x…

Oracle LeetCode 高频 SQL 50 题(进阶版)

https://leetcode.cn/studyplan/sql-premium-50/ 一、查询 1821. 寻找今年具有正收入的客户 selectcustomer_id from Customers where year 2021 group by customer_id having sum(revenue) > 0183. 从不订购的客户 select c.name as Customers from Customers c left j…

【蓝牙协议栈】【经典蓝牙】【BLE蓝牙】蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)

目录 1. 蓝牙协议规范&#xff08;HCI、L2CAP、SDP、RFOCMM&#xff09; 1.1 主机控制接口协议 HCI 1.2 逻辑链路控制与适配协议 L2CAP 1.3 服务发现协议SDP 1.4 串口仿真协议 RFCOMM 1. 蓝牙协议规范&#xff08;HCI、L2CAP、SDP、RFOCMM&#xff09; 1.1 主机控制接口协…

七、软考-系统架构设计师笔记-数据库设计基础知识

1、数据库基础概念 数据库基本概念 数据(Data)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS) 1.数据(Data) 是数据库中存储的基本对象&#xff0c;是描述事物的符号记录。 数据的种类&#xff1a; 文本、图形、图像、音频、视频等。 2.数据库(Database, DB) 数据库…

基于机器学习的网络入侵检测与特征选择及随机森林分类器性能评估(NSL-KDD数据集)

简介 本文将详细介绍如何利用Python和相关机器学习库对NSL-KDD数据集进行预处理&#xff0c;特征选择&#xff0c;并通过随机森林算法构建网络入侵检测模型。同时&#xff0c;还将展示如何计算并可视化模型的ROC曲线以评估其性能。 首先&#xff0c;我们导入了必要的库&#…

Unity 让角色动起来(动画控制器)

下载素材&#xff1a; 导入后&#xff0c;找到预制体和动画。 新建动画控制器&#xff0c;拖动到预制体的新版动画组件上。 建立动画关系 创建脚本&#xff0c;挂载到预制体上。 using System.Collections; using System.Collections.Generic; using UnityEngine;public c…

Swift SwiftUI 学习笔记 2024

Swift SwiftUI 学习笔记 2024 一、资源 视频资源 StanfordUnivercity 公开课 2023: https://cs193p.sites.stanford.edu/2023 教程 Swift 初识&#xff1a;基础语法&#xff1a;https://docs.swift.org/swift-book/documentation/the-swift-programming-language/guidedtour/…

工地安全反光衣穿戴监测报警摄像机

工地安全反光衣穿戴监测报警摄像机是为了提高工地施工人员的安全意识和监管效率而设计的。这种设备结合了反光衣、监测系统和报警摄像机的功能&#xff0c;可以有效减少工地事故的发生。 首先&#xff0c;工地安全反光衣是一种具有高度可见度的服装&#xff0c;能够使穿戴者在夜…

程序如何知道mqtt设备是否在线

在做物联网设备的时候经常会碰到设备的在线与掉线 问题&#xff1a;emqx如何来实现这个在线与掉线 实现&#xff1a;添加一个规则&#xff0c;程序监控这个规则 1、SELECT * FROM "$events/client_connected", "$events/client_disconnected" 2、添加一…

离散数学——(4)

目录 1.主析取范式 2.大项 3.主合区范式 4.范式的求法 真值表法 5.推理理论 直接证法 1.主析取范式 2.大项 3.主合区范式 4.范式的求法 真值表法 5.推理理论 直接证法

【C++】手把手教你模拟实现 vector

目录 一、构造/析构/拷贝 1、构造函数 1️⃣无参的构造函数 2️⃣带参的构造函数 3️⃣类模板的构造函数 2、析构函数 3、拷贝构造 二、修改操作 1、reserve 【错误版本】 &#x1f31f;【解答】正确版本 2、resize 3、push_back 4、pop_back 5、insert 6、era…

pytorch(六、七)多维特征数据的输入、加载数据集的类

文章目录 多维特征数据的输入代码 加载数据集概念np.loadtxt()读取数据dataloadertorchvision获取数据集代码 三种梯度下降批量梯度下降BGD随机梯度下降SGD小批量随机梯度下降MBGD代码 多维特征数据的输入 对于一个多维数据&#xff0c;其行表示一个样本&#xff0c;列表示样本…

基于Java的社区买菜系统(Vue.js+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 数据中心模块2.1.2 菜品分类模块2.1.3 菜品档案模块2.1.4 菜品订单模块2.1.5 菜品收藏模块2.1.6 收货地址模块 2.2 可行性分析2.3 用例分析2.4 实体类设计2.4.1 菜品分类模块2.4.2 菜品档案模块2.4.3…

Linux内存映射

目录 背景 一、什么是内存映射&#xff1f; 二、mman函数 1.权限问题 2.总线错误 3.内存权限 4.读文件内容 5.映射与文件 6.非法参数错误 7.偏移量大小 8.映射内存大小 8.1 申请6k,访问5k 8.2 申请2k&#xff0c;访问3k 8.3 返回值检查 三、内存映射实现 四…

SSH移植到BusyBox

手动编译SSH安装挺麻烦的&#xff0c;本文主要是我大量借鉴和实践总结出来的流程&#xff0c;一步一按照做不会有太大问题。 移植平台&#xff1a;IMX6UL(迅为开发板) 根文件系统&#xff1a;BusyBox 所有操作都建议不要在root账户下运行&#xff0c;并且make install的安装路…

【Python】专栏文章索引

为了方便 快速定位 和 便于文章间的相互引用等 作为一个快速准确的导航工具 Python 目录&#xff1a; &#xff08;一&#xff09;装饰器函数 &#xff08;二&#xff09;牛客网—软件开发-Python专项练习 &#xff08;三&#xff09;装饰器函数 &#xff08;四&#xff0…

【深度学习】自动求导中有时为什么要先sum()再backward()

创作日志&#xff1a; 在看李沐学深度学习&#xff0c;“深度学习中&#xff0c;我们的目的不是计算微分矩阵&#xff0c;而是批量中每个样本单独计算的偏导数之和”&#xff0c;对这句话一知半解&#xff0c;自己动手推导一下。 一、理解 在深度学习中&#xff0c;被求导的对…

CSS的盒子模型:掌握网页设计的基石!

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Linux的进程调度实现

经常被问到进程的调度算法有哪些&#xff0c;什么先进先出、短进程优先、时间片轮转、多级反馈多列等等算法能说一大堆&#xff1f;那具体的&#xff0c;linux内核使用了什么样的算法&#xff0c;且来探究一下。 本文所引用源码基于linux内核2.6.34版本。 目录 调度器类 从 s…