oncoPredict:根据细胞系筛选数据预测体内或癌症患者药物反应和生物标志物

在14年的时候,oncoPredict函数的开发团队在Genome Biology上发了一篇文章。

这篇文章的核心目的是阐释了使用治疗前基线肿瘤基因表达数据去预测患者化疗反应。开发团队发现使用细胞系去预测临床样本的药物反应是可行的。

鉴于之前的理论,该研究团队首先提出了pRRophetic算法用于评价不同药物治疗临床样本的敏感性。

之后再原有的基础之上,该研究团队提出了R包oncoPredict。

该R包的优势主要有两个,分别是预测患者的临床药物反应和将这些预测与临床特征关联起来从而发现有价值的生物标志物。

其中使用最多的就是去预测患者的临床药物反应,其中的函数是calcPhenotype,这个功能是使用基线肿瘤基因表达数据,实现了预测临床药物反应。该函数使用了大规模基因表达和药物筛选数据(训练数据集)来构建了Ridge regression模型,然后将其应用于新的基因表达数据集(测试数据集),以产生新的药物敏感性分析结果。

开发团队也提示使用者除了可以用他们预打包的GDSC或CTRP数据作为训练数据集,也可以使用自己的训练数据从而预测任何表达矩阵情况下的药物反应。

在使用该分析流程之前,需要去https://osf.io/c6tfx/ 下载DataFile文件夹下作者准备好的数据,用作药物预测的训练集。

这里边有两个重要的数据库的数据,分别是CTRP和GDSC。

CTRP全称是癌症治疗反应门户(https://portals.broadinstitute.org/ctrp/),其通过连接癌细胞系的基因、家族以及其他细胞特征与小分子药物敏感性信息进而加速与患者相匹配的癌症治疗药物的发现。

GDSC全称是癌症药物敏感性基因组学数据库(https://www.cancerrxgene.org/),该数据库时关于癌症细胞药物敏感性和分子标志物信息的最大公共数据库之一,该数据库整合了细胞、药物和分子的三个不同层次,阐述了不同肿瘤细胞对药物的敏感性。

分析步骤

1、加载R包和数据
rm(list = ls())
library(oncoPredict)
library(data.table)
library(gtools)
library(reshape2)
library(ggpubr)
library(openxlsx)dir.create("onco_drug")
setwd("onco_drug")dir='~/Training Data/'
dir(dir)# [1] "CTRP2_Expr (RPKM, not log transformed).rds"         
# [2] "CTRP2_Expr (TPM, not log transformed).rds"          
# [3] "CTRP2_Res.rds"                                      
# [4] "GDSC1_Expr (RMA Normalized and Log Transformed).rds"
# [5] "GDSC1_Res.rds"                                      
# [6] "GDSC2_Expr (RMA Normalized and Log Transformed).rds"
# [7] "GDSC2_Res.rds"
2、选择训练集数据
# GDSC2数据
#exp = readRDS(file=file.path(dir,'GDSC2_Expr (RMA Normalized and Log Transformed).rds'))
#exp[1:4,1:4]
#dim(exp)
#drug = readRDS(file = file.path(dir,"GDSC2_Res.rds"))
#drug <- exp(drug) #下载到的数据是被log转换过的,用这句代码逆转回去
#drug[1:4,1:4]
#dim(drug)
#identical(rownames(drug),colnames(exp))#CTRP2数据
exp <- readRDS(file = file.path(dir,"CTRP2_Expr (TPM, not log transformed).rds"))
exp[1:4,1:4]
dim(exp)
drug <- readRDS(file = file.path(dir,"CTRP2_Res.rds"))
drug[1:4,1:4]
identical(rownames(drug),colnames(exp))

两个数据库的数据都可以使用,CTRP2中的数据会多一点。

drug是药物IC50值,exp是对应细胞系基因的表达矩阵。

3、导入表达矩阵数据并进行分析-这一步会耗费很长时间
load("~/TCGA-LIHC_sur_model.Rdata")
test = exprSetcalcPhenotype(trainingExprData = exp,trainingPtype = drug,testExprData = test,batchCorrect = 'standardize',  #   "eb" for array,standardize  for rnaseqpowerTransformPhenotype = TRUE,removeLowVaryingGenes = 0.2,minNumSamples = 10, printOutput = TRUE, removeLowVaringGenesFrom = 'rawData' )
4、查看结果
# 运行之后的结果,被存在固定文件夹calcPhenotype_Output下。文件名也是固定的DrugPredictions.csv。
testPtype <- read.csv('./calcPhenotype_Output/DrugPredictions.csv', row.names = 1,check.names = F)
testPtype[1:4, 1:4]
dim(testPtype)
identical(colnames(testPtype),colnames(drug))
5、结合高低风险分组画图
# 需参照这个代码自行修改哦~ load("~/model_parameters.Rdata")
TCGA_LIHC <- rs[[1]]
identical(rownames(TCGA_LIHC),colnames(exprSet))
TCGA_LIHC$group <- ifelse(TCGA_LIHC$RS > median(TCGA_LIHC$RS),"high","low")
TCGA_LIHC$group <- factor(TCGA_LIHC$group,levels = c("low","high"))
rsurv <- TCGA_LIHCidentical(rownames(testPtype),rownames(rsurv))
a = apply(testPtype, 2, function(x){#x = testPtype[,1]wilcox.test(x~rsurv$group)$p.value
})
head(a)
#p值最小的10个药物
dg = names(head(sort(a),10))library(tinyarray)
library(tidyr)
library(dplyr)
library(ggplot2)
library(ggpubr)
library(ggsci)group <- rsurv$group
testPtype[,dg] %>% bind_cols(group = group) %>% pivot_longer(1:10,names_to = "drugs",values_to = "ic50")  %>% 
ggplot(., aes(group,ic50))+geom_boxplot(aes(fill=group))+scale_fill_jama()+theme(axis.text.x = element_text(angle = 45,hjust = 1),axis.title.x = element_blank(),legend.position = "none")+facet_wrap(vars(drugs),scales = "free_y",nrow = 2)+stat_compare_means()+theme_bw()
ggsave("box_drug.pdf",width = 14,height = 9)

致谢:感谢曾老师,小洁老师以及生信技能树团队全体成员。

:若对内容有疑惑或者有发现明确错误的朋友,请联系后台(欢迎交流)。更多内容可关注公众号:生信方舟

- END -

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

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

相关文章

C语言开关迷宫

目录 注意事项开头程序程序的流程图程序的效果结尾 注意事项 程序里有关字符’\033’的输出都关于Sunshine-Linux的其中一篇博客——《printf函数高级用法设置打印字体颜色和背景色等》 开头 大家好&#xff0c;我叫这是我58。今天&#xff0c;我们来看一下我用C语言编译的开…

昇思25天学习打卡营第23天|munger85

FCN图像语义分割 FCN-8s表示从8倍下采样的特征图通过上采样恢复到原图尺寸的网络结构。现在下载数据集&#xff0c;这种8倍的比较好。 from download import download url “https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/datasets/dataset_fcn8s.t…

2024年用户口碑超佳的硬U盘数据恢复工具榜

U盘一个体积小小却能携带大量文件、视频的日常存储好物&#xff0c;你肯定也有吧。不知道你有没有遇到过U盘里数据丢失的情况&#xff0c;这时候U盘数据恢复工具就能帮我们走出这种困境。 1.U盘F0XIT数据恢复大师 一键直达>>https://www.pdf365.cn/foxit-restore/ 这…

自动驾驶-机器人-slam-定位面经和面试知识系列05之常考公式推导(02)

这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新&#xff0c;基本涵盖了自己秋招历程被问过的面试内容&#xff08;除了实习和学校项目相关的具体细节&#xff09;。在知乎和牛客&#xff08;牛客上某些文章上会附上内推码&#xff09;也会同步…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《面向东北地区调频指标两段式火储联合调频策略》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

浅谈断言之XML断言

浅谈断言之XML断言 XML断言是JMeter的一个组件&#xff0c;用于验证请求的响应数据是否符合XML结构。这对于测试返回XML格式数据的Web服务特别有用。 如何添加XML断言&#xff1f; 要在JMeter测试计划中添加XML断言&#xff0c;遵循以下步骤&#xff1a; 打开测试计划&…

C#知识|账号管理系统:将修改账号信息提交到数据库

哈喽,你好啊,我是雷工! 昨天练习了账号管理系统-修改账号按钮功能的实现: 《修改账号按钮功能的实现》; 接下来继续学习,如何将修改完的信息提交到数据库, 以下为学习笔记。 01 实现功能 ①:当修改完信息,点击【提交修改】按钮时,将修改完的信息保存到SQLServer数…

Qt调用谷歌拼音输入插件

要在Qt中调用谷歌拼音输入插件 编译谷歌拼音输入法源码&#xff1a; 可以通过编译谷歌拼音输入法的源码来实现在Qt中的应用。以下是一些步骤&#xff1a; 下载QtInputMethod_GooglePinyin源码&#xff0c;例如从Gitee获取。 使用MinGW64或MSVC2019_64构建套件编译源码。 编译完…

Cyberchef基础概念之-循环语句操作-Jump/Label

在本专栏的前面的文章介绍了fork,merge,subsection,register等多种概念来解决实际场景的问题。本文将介绍的Jump/Label的操作类似于编程语言中的for和while的功能&#xff0c;相信在学会使用jump操作后&#xff0c;将有助于解决更为复杂的数据处理问题。 本文将详细的介绍该操…

小程序的运营方法:从入门到精通

随着科技的快速发展&#xff0c;小程序已成为我们日常生活和工作中不可或缺的一部分。小程序无需下载安装&#xff0c;即用即走的特点深受用户喜爱。那么&#xff0c;如何运营好一个小程序呢&#xff1f;下面就为大家分享一些小程序的运营方法。 一、明确目标用户 在运营小程序…

【计算机网络】单臂路由实现VLAN间路由实验

一&#xff1a;实验目的 1&#xff1a;掌握如何在路由器端口上划分子接口&#xff0c;封装dot1q协议&#xff0c;实现VLAN间的路由。 二&#xff1a;实验仪器设备及软件 硬件&#xff1a;RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。具体为&#xff1a;路由器…

集成千兆网口(Gigabit Ethernet Port)的作用主要是提供高速的有线网络连接,其工作原理涉及以下几个关键点:

传输速率&#xff1a; 千兆网口支持的最高传输速率达到1 Gbps&#xff08;即每秒10亿位&#xff09;&#xff0c;是传统百兆网口&#xff08;100 Mbps&#xff09;的十倍速度。这使得它能够处理更大量、更高质量的数据传输。 数据传输效率&#xff1a; 千兆网口能显著提高局域…

express连接mysql

一、 安装express npm install express --save二、express配置 //引入 const express require("express"); //创建实例 const app express(); //启动服务 app.listen(8081, () > {console.log("http://localhost:8081"); });三、安装mysql npm i m…

pip install albumentations安装下载超级细水管

albumentations 是一个用于图像增强的 Python 库&#xff0c;它提供了丰富的图像变换功能&#xff0c;可以用于数据增强&#xff0c;从而提高深度学习模型的泛化能力。 直接安装命令&#xff1a; pip install albumentations但是如果半夜遇到这种19kB/s的下载速度 为头发着想&…

《Milvus Cloud向量数据库指南》——Zilliz引领非结构化数据革命:北京Meetup圆满落幕,共绘AI新篇章

7月20日北京Unstructured Data Meetup圆满落幕:Zilliz引领非结构化数据革命,共绘AI新蓝图 随着数字时代的到来,数据已成为驱动社会进步与产业升级的关键要素。其中,非结构化数据以其形式多样、内容丰富、增长迅速的特点,在医疗、金融、教育、娱乐等多个领域展现出巨大的应…

Ruby、Python、Java 开发者必备:Codigger之软件项目体检

在编程的广阔天地里&#xff0c;Ruby、Python 和 Java 开发者们各自凭借着独特的语言特性&#xff0c;构建着精彩纷呈的应用世界。然而&#xff0c;无论使用哪种语言&#xff0c;确保项目的高质量始终是至关重要的目标。而 Codigger 项目体检则成为了实现这一目标的得力助手&am…

在线投稿小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;编辑管理&#xff0c;用户文章管理&#xff0c;文章分类管理&#xff0c;文章展示管理&#xff0c;文章稿酬管理&#xff0c;通知公告管理&#xff0c;系统管理 微信端账号功能包…

LabVIEW开发射频测试和测量系统

本文将介绍如何使用LabVIEW开发一个射频&#xff08;RF&#xff09;测试和测量系统。该系统的主要功能是对射频信号进行测量和控制&#xff0c;提供用户友好的界面来进行各种操作。 硬件组成 射频信号发生器&#xff1a;用于生成特定频率和功率的射频信号。 射频功率计&#…

Mistral新旗舰决战Llama 3.1,最强开源Large 2 123B,扛鼎多语言编程全能王

【新智元导读】紧跟着Meta的重磅发布&#xff0c;Mistral Large 2也带着权重一起上新了&#xff0c;而且参数量仅为Llama 3.1 405B的三分之一。不仅在编码、数学和多语言等专业领域可与SOTA模型直接竞争&#xff0c;还支持单节点部署。 昨天正式发布的Llama 3.1模型&#xff0…

paddle ocr 文字识别模型训练 svtr

训练模型方法参考&#xff1a;https://github.com/PaddlePaddle/PaddleOCR/blob/main/doc/doc_ch/recognition.md 实践&#xff1a;https://aistudio.baidu.com/projectdetail/4482681 SVTR 算法原理 SVTR: Scene Text Recognition with a Single Visual Model Yongkun Du a…