scDrug:从scRNA-seq到药物反应预测

scRNA-seq技术允许在转录组水平上对数千个细胞进行测量。scRNA-seq正在成为研究肿瘤微环境中细胞成分及其相互作用的重要工具。scRNA-seq也被用于揭示肿瘤微环境模式与临床结果之间的关联,并在复杂组织中剖析药物治疗的细胞特异性效应。scRNA-seq的最新进展推动了疾病和治疗靶点生物标志物的发现。虽然已经提出了利用scRNA-seq数据的基因表达来预测药物反应的方法,但还需要一个从scRNA-seq分析到药物发现的集成工具。scDrug作为一个完整pipeline,包括生成scRNA-seq聚类和预测药物治疗方法。scDrug管道由三个主要模块组成:用于鉴定肿瘤细胞亚群的scRNA-seq分析、细胞亚群的功能注释和药物反应预测。

来自:scDrug: From single-cell RNA-seq to drug response prediction
项目:https://github.com/ailabstw/scDrug

目录

  • 背景概述
  • 数据和方法
    • scRNA-seq数据预处理
    • 自动分辨率聚类
    • 差异基因分析,细胞注释,功能富集
    • 生存分析
    • 药物反应预测
      • 药物反应训练数据
      • GEP作为特征
      • 预测模型的框架
      • 模型训练和验证
  • 肝细胞癌病例分析

背景概述

scRNA-seq被用于分析高分辨率细胞组成,从而发现肿瘤异质性,并为定制化生物学任务提供了前所未有的机会。恶性肿瘤细胞表达特征的细节为药物治疗提供了靶点依据。药物重利用是基于已批准或正在研究的药物,开发针对不同疾病的治疗策略。为了连接药物发现和scRNA-seq分析两个领域,开发了scDrug。

scDrug可以从scRNA-seq分析到药物反应预测。在scDrug中,首先构建了scRNA-seq分析管道,用于对scRNA-seq数据进行全面分析。实现了在Python环境下对肿瘤细胞进行亚群聚类。

接下来,整合了两种不同的方法来预测针对癌细胞亚群的药物治疗,使用包括LINCS, GDSC和PRISM在内的公共数据集来全面表征癌细胞系的分子特征。具体来说,一种方法预测药物对特定肿瘤簇的敏感性,另一种方法预测药物对肿瘤簇的综合作用。scDrug提供预测结果,供领域专家对所选药物进行评价。实验结果表明,scDrug可以成功捕获细胞对药物治疗的反应。总之,scDrug允许研究人员探索肿瘤细胞的异质性,并找到有效治疗的候选药物。

数据和方法

scRNA-seq数据预处理

第一步是scRNA-seq数据分析,包括Scanpy的数据预处理、MAGIC对输入进行插补、Harmony进行批次校正、Louvain进行聚类、Scanpy差异表达基因DEG鉴定、GSEAPY功能富集注释,scMatch细胞类型注释。

在数据预处理中,过滤掉表达少于200个基因的细胞和表达少于3个细胞的基因,将线粒体基因占比的细胞保持在30%以下。剩余的数据进行归一化到每细胞10000个总数,再进行自然对数变换,高变基因搜索,缩放到单位方差和零均值。一旦需要数据输入,scDrug还集成了MAGIC来输入缺失值。接下来,应用主成分分析(PCA),并根据需要使用Harmony消除批次效应。然后,计算前20个主成分的邻居图,并使用Louvain算法将细胞聚类成组。

自动分辨率聚类

为了确定聚类的分辨率,用户可以选择手动或自动分配。在自动模式下,对间隔为0.2的[0.4,1.4]区间内的分辨率值计算了chooseR中描述的基于次抽样的鲁棒性评分。对于给定的分辨率,使用定义为1.0的距离矩阵减去5次聚类的共聚类频率来计算平均轮廓分数,每次聚类在数据集的80%的随机子集上执行,不进行替换。将得分最高的分辨率作为最优聚类分辨率。

差异基因分析,细胞注释,功能富集

聚类后,scDrug使用默认参数的scanpy函数rank_genes_groups对每个聚类的基因进行排序,以识别DEGs。然后,scDrug用GSEAPY进行功能富集。此外,使用human GO_Biological_Process_2021库对log2倍变化大于2且p值和调整后的p值均低于0.01的DEG执行enrichment。对于细胞类型注释,使用所有基因表达,并计算其细胞的平均表达量作为每个簇的基因表达谱(GEP,gene expression profile)。接下来,应用scMatch,根据参考数据集的GEP对簇进行注释。

基于scRNA-seq数据分析的输出,包括一个AnnData对象,一个基因表达谱GEP,批校正、聚类和细胞类型注释结果的UMAPs,以及DEGs和GSEA文件。

生存分析

为了预测每个聚类对患者生存的影响,首先选择每个簇的前20个差异表达基因作为簇的特异性基因签名。然后,从TCGA数据库中下载不同癌症患者的bluk RNA profiles和相应的临床信息。为了评估每个患者的肿瘤簇活性,为每个患者构建了一个expression table,每个列代表一个簇的基因特征。对于每一簇及其所选的20个基因中的某一个,如果该患者的该基因表达高于所有患者的中位数表达,则赋值为1;否则,该值设置为0。按列求和(以下称为“activity score”)表示患者中每个簇的激活水平。对于每一簇,如果患者的活动得分在最高或最低四分位数,则将其分为“高表达”簇和“低表达”簇。最后,用Kaplan-Meier曲线和log-rank分析的p值比较两组的生存率(图S1)。下面示例中以A类型细胞为例,对比了A簇激活高低的两组患者,然后结合临床信息得到生存曲线。这里的生存分析是为了找到疾病相关的簇。
figs1

  • 图S1:从 TCGA 中评估了 scRNA-seq 数据识别的每种细胞类型特异性特征的表达水平。 对于每个簇(细胞类型),将患者分为两组,一组为高表达,另一组为低表达。最后,用 Kaplan-Meier 曲线和 log rank p 值分析比较了这两组的生存情况。

药物反应预测

在scDrug管道中,使用第一步生成的AnnData对象,并应用CaDRReS-Sc(Predicting heterogeneity in clone-specific therapeutic vulnerabilities using single-cell transcriptomic signatures)进行药物反应预测。CaDRReS-Sc是一个基于scRNA-seq数据的强大的癌症药物反应预测的机器学习框架,它估计细胞簇的halfmaximal inhibitory concentration(IC50)。基于CaDRReSSc框架,提供了两种预训练的预测模型GDSC和PRISM,用于预测细胞簇的药物反应。

这两个模型是使用GDSC和PRISM数据集的基因表达和药物反应数据,通过无样本偏差的目标函数进行训练的。通过计算实际药物反应值和预测药物反应值的Spearman相关系数来评估预测性能。按照升序排列,scDrug剔除了drug-wise系数低于第一个四分位数系数的药物。


“IC50”(半数最大抑制浓度):表示在一定浓度下,化合物能够抑制蛋白质活性的程度


药物反应训练数据

对于GDSC模型,scDrug使用了226种药物在1074种癌细胞系中的反应数据(测量的IC50),数据来源于CaDRReS-Sc的GDSC数据集,GDSC数据集作为训练数据集。对于PRISM模型,scDrug使用PRISM Repurposing数据集(19Q4版本)作为训练数据,该数据集包含1448种药物对480种细胞系的反应。PRISM数据集以剂量-反应曲线下的面积(AUC)提供药物反应(不是来自IC50)。

GEP作为特征

对于GDSC模型,我们使用GDSC数据库中CaDRReS-Sc提供的1018个癌细胞系的基因表达数据,选择所有细胞系中共有的17419个基因作为特征基因进行模型训练。对于PRISM模型,从DepMap Portal(https://depmap.org/portal/)下载CCLE(Cancer Cell Line Encyclopedia)表达数据(21Q3版本),包含1,379个细胞系和19,177个基因。选择表达与PRISM AUC相关且绝对Pearson相关系数至少为0.2的8087个基因作为特征基因。scDrug计算了每个特征基因在细胞系间平均表达量的log2表达倍数变化。

预测模型的框架

为了预测细胞簇的IC50,scDrug计算了相对于AnnData的平均基因表达值的log2倍变化,并预测了每个细胞的IC50值。然后,平均IC50预测值确定每个簇的IC50。或者利用簇和其他簇之间的log2倍变化,直接预测簇的IC50。

模型从转录组学和药物反应中学习了潜在的药物-基因组学关系。CaDRReS-Sc中提出的模型定义为: s ^ i u = μ + b i Q + b u P + q i ⋅ p u = μ + b i Q + b u P + q i ( x u W P ) T \widehat{s}_{iu}=\mu+b_{i}^{Q}+b_{u}^{P}+q_{i}\cdot p_{u}=\mu+b_{i}^{Q}+b_{u}^{P}+q_{i}(x_u W_{P})^{T} s iu=μ+biQ+buP+qipu=μ+biQ+buP+qi(xuWP)T其中, s i u s_{iu} siu是药物 i i i对细胞系 u u u的观测药物反应(IC50), s ^ i u \widehat{s}_{iu} s iu表示预测的药物反应, μ \mu μ为总体平均药物反应, b i Q b_{i}^{Q} biQ b u P b_{u}^{P} buP分别是药物 i i i和细胞系 u u u的偏置项, q i , p u ∈ R f q_{i},p_{u}\in R^{f} qi,puRf表示药物 i i i和细胞系 u u u在latent space下的f-dim表征。 W P ∈ R d × f W_{P}\in R^{d\times f} WPRd×f是将基因表达水平 x u ∈ R d x_u\in R^{d} xuRd投影到latent space的变换矩阵, d d d为基因数。也有简化的: s ^ i u = b i Q + q i ⋅ p u \widehat{s}_{iu}=b_{i}^{Q}+q_{i}\cdot p_{u} s iu=biQ+qipu,目标函数定义为: L ( θ ) = 1 2 K [ ∑ i ∑ u ( s i u − s ^ i u ) 2 + λ ∑ d ∣ ∣ w d ∣ ∣ 2 + λ ∑ i ∣ ∣ q i ∣ ∣ 2 ] L(\theta)=\frac{1}{2K}[\sum_{i}\sum_{u}(s_{iu}-\widehat{s}_{iu})^{2}+\lambda\sum_{d}||w_{d}||^{2}+\lambda\sum_{i}||q_{i}||^{2}] L(θ)=2K1[iu(sius iu)2+λd∣∣wd2+λi∣∣qi2]其中, K K K是drug-cell pairs的总数, λ \lambda λ是L2正则化系数, w d w_d wd W P W_{P} WP中的向量。模型预测流程见图S2。
figs2

  • 图S2:该图显示了训练 PRISM 药物反应模型并将其用于下游应用。对于训练任务,目标是最小化预测药物反应值和真实药物反应值(IC50)之间的损失。 对于应用任务,使用训练表达谱计算特征并用于预测药物反应。CCLE:Cancer Cell Line Encyclopedia。

模型训练和验证

PRISM和GDSC模型分别使用140维和10维潜在空间进行训练,学习率为0.01,最大epoch设置为100,000。为了评估unseen细胞系的性能,scDrug将24个细胞系作为验证集,并计算它们的中位数绝对误差,以及实际和预测药物反应之间的Pearson相关系数。


基于CaDRReS-Sc预测药物反应是一种候选药物预测方式,还有另一种是基于Premnas计算框架,结合LINCS L1000实现联合药物治疗的方案。两者分别有以下思想指导:

  • 基于CaDRReS-Sc预测药物反应:学习药物与细胞系的IC50数据,所以在搜索候选药物时,是根据IC50来筛选的。
  • Premnas:基于LINCS L1000学习扰动,扰动结果体现在施加药物扰动后,各个细胞系中细胞数量的变化,肿瘤细胞系的数量变少,说明该扰动是有利的。

总体而言,scDrug搜索药物是基于生存分析确定癌细胞系,基于药物和细胞系的统计数据来学习的,没有涉及到具体基因,蛋白层面,不能与现在的CPI模型相结合


肝细胞癌病例分析

fig3

  • 图3:scDrug工作流程。scDrug的第一部分分析scRNA-seq以生成细胞簇(蓝色)。scDrug的第二部分执行细胞类型和功能注释(黄色)。scDrug的第三部分运行生存分析,以帮助识别恶性肿瘤细胞簇(绿色),最后用两种不同的方法预测候选药物(红色)。

fig4

  • 图4:肝细胞癌病例分析。
  • A 肝细胞癌的scrna序列来自Sharma,2020;
  • B Harmony批次校正后patientID分配的UMAP;
  • C UMAP用于细胞聚类
  • D scDrug自动计算分辨率;
  • E 来自C的潜在肿瘤细胞亚聚类
  • F 细胞簇gene ontology annotation的基因集富集分析
  • G 用于生存分析的KM曲线示例
  • H 热图显示PRISM数据库中通过CaDRReS-Sc预测抑制细胞生长的潜在药物。每个单元格代表肿瘤细胞簇对药物的预测敏感性评分值
  • I 根据Premnas预测,LINCS L1000数据库中六种药物的最佳联合治疗方案的热图,以杀死最多数量的细胞簇。

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

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

相关文章

广告业展示服务预约小程序的效果如何

虽然不少人不会与广告业直接接触,但各种形式的广告却是充斥在人们生活中,线下的传单展板、线上的视频、音频、图文等都是广告很好的传播通道,同时广告业能扩展的客户属性也非常广,下到超市小摊,上到企业公司都有大小相…

从0到0.01入门React | 006.精选 React 面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

地面沉降监测站可以监测什么?

随着城市化的飞速发展,地面沉降问题日益凸显。为了及时掌握土地沉降情况,确保人们安全,就需要借助地面沉降监测站的力量。 一、实时监测土地沉降 地面沉降监测站的核心功能是实时监测土地沉降。通过高精度GNSS位移监测站和先进的数据分析技术…

【rl-agents代码学习】01——总体框架

文章目录 rl-agent Get startInstallationUsageMonitoring 具体代码 学习一下rl-agents的项目结构以及代码实现思路。 source: https://github.com/eleurent/rl-agents rl-agent Get start Installation pip install --user githttps://github.com/eleurent/rl-agentsUsage…

性能压测工具:Locust详解

一、Locust介绍 开源性能测试工具https://www.locust.io/,基于Python的性能压测工具,使用Python代码来定义用户行为,模拟百万计的并发用户访问。每个测试用户的行为由您定义,并且通过Web UI实时监控聚集过程。 压力发生器作为性…

【面试经典150 | 】颠倒二进制位

文章目录 写在前面Tag题目来源题目解读解题思路方法一:逐位颠倒方法二:分治 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于…

javaSE的发展历史以及openjdk和oracleJdk

1 JavaSE 的发展历史 1.1 Java 语言的介绍 SUN 公司在 1991 年成立了一个称为绿色计划(Green Project)的项目,由 James Gosling(高斯林)博士领导,绿色计划的目的是开发一种能够在各种消费性电子产品&…

【可解释AI】Alibi explain: 解释机器学习模型的算法

Alibi explain: 解释机器学习模型的算法 可解释人工智能简介Alibi特点算法Library设计展望参考资料 今天介绍Alibi Explain,一个开源Python库,用于解释机器学习模型的预测(https://github.com/SeldonIO/alibi)。该库具有最先进的分类和回归模型可解释性算…

Java --- JVM的执行引擎

目录 一、执行引擎概述 1.1、执行引擎的工作过程 二、Java代码编译和执行的过程 三、解释器 3.1、解释器工作机制 3.2、解释器分类 3.3、解释器现状 四、JIT编译器 五、热点代码及探测方式 六、方法调用计数器 6.1、热点衰减 七、回边计数器 八、HotSpot VM设置程序…

axios1.5取消请求,中断请求的方法

给input的onchange绑定事件 引入axios,使用axios.CancelToken.source()创建标记 实例中,把cancelToken的值填上

CSS常用示例100+ 【目录】

目前已有文章 11 篇 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS相关…

Python参数传递,从入门到精通

Python是一种非常灵活的编程语言,以多种方式定义和调用函数。其中一个关键方面是参数传递的灵活性。在Python中,可以通过位置、关键字、默认值和可变长度参数等多种方式来传递参数。 1. 位置参数 位置参数是最常见的参数传递方式。当调用一个函数时&am…

node插件express(路由)的插件使用(二)——cookie 和 session的基本使用区别

文章目录 前言一、express 框架中的 cookie0、cookie的介绍和作用1. 设置cookie2.删除cookie3.获取cookie(1)安装cookie-parser(2)导入cookie-parser(3)注册中间件(4)获取cookie&…

使用Python分析时序数据集中的缺失数据

大家好,时间序列数据几乎每秒都会从多种来源收集,因此经常会出现一些数据质量问题,其中之一是缺失数据。 在序列数据的背景下,缺失信息可能由多种原因引起,包括采集系统的错误(例如传感器故障)…

Intel® DevCloud for oneAPI SYCL编程项目实践

问题陈述 实验所用的硬件环境和软件环境 本次实验使用oneAPI中支持SYCL编程模型的C编译器,使用英特尔oneAPI Developer Cloud服务,可以免安装额外环境,利用CPU作为主机(Host),同时利用GPU作为设备&#xf…

LCA

定义 最近公共祖先简称 LCA(Lowest Common Ancestor)。两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。 性质 如果 不为 的祖先并且 不为 的祖先,那么 分别处于 的两棵不同子树中&#…

【机试题】LazyIterator迭代器懒加载问题

将下面这个未完成的Java工具类补充完成,实现懒加载的功能,该类需要实现Iterable接口,能够遍历所有数据。具体要求如下: 工具类提供了一个ValueLoader接口,用于获取数据,其中ValueLoader的接口定义为&#x…

修改django开发环境runserver命令默认的端口

runserver默认8000端口 虽然python manage.py runserver 8080 可以指定端口,但不想每次runserver都添加8080这个参数 可以通过修改manage.py进行修改,只需要加三行: from django.core.management.commands.runserver import Command as Ru…

二十四、W5100S/W5500+RP2040树莓派Pico<PHY的状态模式控制>

文章目录 1. 前言2. 相关简介2.1 简述2.2 原理2.3 优点&应用 3. WIZnet以太网芯片4. PHY模式配置测试4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 测试现象 5. 注意事项6. 相关链接 1. 前言 W5100S/W5500不仅支持自动PHY自动协商,而且支持用户自定义…

自动生成Form表单提交在苹果浏览器中的注意事项

以下是本人在公司旧系统中看到的该段代码 function Post(URL, PARAMTERS) {//创建form表单var temp_form document.createElement("form");temp_form.action URL;//如需打开新窗口,form的target属性要设置为_blanktemp_form.target "_blank"…