预后模型模块化代码分享(1):数据读取与整理

预后模型这一类型的生信文章在前几年非常火,近几年热度略有下降。笔者整理了一份模块化的预后模型代码,包括Lasso-COX回归分析,riskScore的计算和可视化,KM生存分析,nomogram、ROC曲线及决策曲线的绘制,现和大家分享。
所有脚本和测试数据可在下述链接下载:
链接:https://pan.baidu.com/s/1HXCSOarJSSSI7qBWO_ZbEQ?pwd=xg77
提取码:xg77
传送门:
预后模型模块化代码分享(2):Lasso-COX回归分析
预后模型模块化代码分享(3):riskScore可视化
预后模型模块化代码分享(4):nomogram-ROC曲线-DCA决策曲线
注:由于本项目使用tiff()函数保存图像,直接运行source()可能出现部分图像无法保存的问题,此时可打开相应R script运行代码
打开Auto_script_model.R,首先是设置目录、加载所需的包及读取数据:

setwd("E:/Rdata/CSDN/Model_1")

#Library necessary packages
if (T){
  library(survival)
  library(survminer)
  library(dplyr)
  library(grid)
  library(ggpubr)
  library(ggpmisc)
  library(pheatmap)
  library(timeROC)
  library(BiocManager)
  library(stringr) 
  library(plyr)
  library(limma)
  library(RColorBrewer)
  library(scales)
}

#read data
RBP <- read.xlsx("Autophage gene list.xlsx")
data <- read.csv("fpkm.csv",header = T)
sur <- read_xls("clinical.xls")
deg <- read.csv("DEGs.csv",header = T)
trait_list <- c("Age","M","N","T","Treatment")

所需数据分为4部分,RBP为感兴趣的基因集,这里是一个自噬相关的基因集,源自HADb数据库。
在这里插入图片描述
data为表达矩阵,如果是TCGA数据集,推荐使用count数据,本测试集为TCGA网站下载的乳腺浸润癌数据集
在这里插入图片描述
sur为样本临床信息,其中样本名为Sample,生存时间为days_to_death,生存结局为status
在这里插入图片描述
deg为差异基因表达
在这里插入图片描述
随后进行数据处理,大致流程为:
1.筛选deg,并与RBP取交集,获得gene_list
2.筛选data,仅保留gene_list中包含的基因,并将因R读取不了“-”而变成的“.”转换回去,方便与sur匹配
后续代码主要输入参数:

  • data_cox:输入的矩阵数据
  • sur_cox:样本的信息,应包括生存时间,生存状态等
  • gene_list:感兴趣的基因列表,这里是自噬相关基因集
  • time_type:生存时间的单位,这里是天
  • time_seq:输入3个数字组成的向量,用于指定nomogram及ROC曲线的时间截断点,这里单位是年
deg <- deg[abs(deg$logFC) >= 1 & deg$adj.P.Val < 0.05,]
gene_RBP <- RBP$V1
index <- duplicated(as.character(gene_RBP))
RBP <- RBP[!index,]
RBP <- RBP[RBP$Sample %in% deg$X]

sur <- dplyr::arrange(sur,Sample)
row.names(data) <- data$X
data <- data[,-1]
colnames(data) <- gsub("\\.","-",substr(colnames(data),0,12))

data <- subset(data,select=sur$Sample)
data <- data[row.names(data) %in% RBP$Sample,] 
data <- as.data.frame(t(data))
k <- length(data)
data$name <- row.names(data)
data <- arrange(data,name)
row.names(data) <- data$name
data <- data[,1:k]
data <- as.data.frame(t(data))

data_cox <- data
sur_cox <- sur

gene_list <- RBP$Sample

time_type <- "days"
time_seq <- c(1,2,3)

source("D:/Rcode/Auto_Lasso_cox.R")

source("D:/Rcode/Auto_riskScore_plot.R")

source("D:/Rcode/Auto_nomo_roc.R")
write.csv(cli,"E:/Rdata/CSDN/Model_1/clinical.csv")

最后检查一下数据情况,data_cox行名为基因Symbol,列名为样本名
在这里插入图片描述
sur_cox样本名为Sample,生存时间为days_to_death,生存结局为status在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啥都会一点的DJX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值