TimiGP细胞互作算法

news2025/1/16 19:51:48

介绍:

通过推断细胞间相互作用和免疫细胞预后价值来研究时间的计算方法。我们的方法将存活统计数据与批量转录组学图谱相结合,以构建免疫细胞-细胞相互作用网络,其中边缘(例如,X → Y)表明高 X/Y 比值与良好的预后相关。

TimiGP代表了一个广泛适用的框架,用于剖析浸润细胞的细胞间相互作用和预后关联。该策略可用于研究不同尺度的临床相关肿瘤微环境,并借助 scRNA-seq 标记物从低分辨率的批量图谱中进行高分辨率分析。该框架可以扩展到其他有表达谱和临床统计数据的疾病。它通过网络分析系统地确定细胞环境与临床结果之间的关联。因此,基于这些见解,TimiGP可以用于生物学发现和预测。

示例:

TimiGP/data at master · CSkylarL/TimiGP (github.com)

步骤1:输入input
rm(list = ls())
library(TimiGP)

#1. Load SCKCM06 data ----
data("SKCM06info")
head(SKCM06info)
data("SKCM06rna")
#2. Load cell type and marker annotation ----
data("CellType_Bindea2013_cancer")
geneset <- CellType_Bindea2013_cancer
marker <- unique(geneset$Gene)
#3. Preprocess: TimiCheckEvent & TimiPrePropress ----
info <- TimiCheckEvent(SKCM06info)
rna <- TimiPrePropress(marker = marker,rna = SKCM06rna,cohort = rownames(info))

注意:考虑到生存分析的统计功效,该分析的最小建议队列规模为 30。

临床数据编码:(例如,死亡、复发等)编码为“1”;当由于受试者在研究结束时未经历该事件或失访而导致数据不完整时,出现删截,编码为“0”(感兴趣的事件没有发生)。

步骤2:定义和选择标记基因对矩阵

默认情况下,TimiGenePair将捕获任意两个标记对的逻辑关系,并生成标记对得分矩阵(MPS):

  • 1 or TRUE = the expression of gene A > that of gene B,

  • 0 or FALSE = the expression of gene A < that of gene B.

#4. Generate marker pair score: TimiGenePair  ----
mps <- TimiGenePair(rna)
步骤3:定向IMGP选择

TimiCOX将执行单变量COX回归,将每个标记对作为变量进行拟合。Cox回归的结果作为第一个列表返回。如果一对A_B与不良预后(HR > 1)相关,即使不显著,也会将其更改为B_A,并在该对的矩阵中反转其值。新的标记对得分矩阵(MPS)作为第二个列表返回。 这个步骤大约需要5-10分钟,这取决于基因对的数量。

#5. Perform univariate Cox regression to find the association between marker pair and survival: TimiCOX ----
res <- TimiCOX(mps = mps,info = info,p.adj = "BH")
mps <- res[[1]]
cox_res <- res[[2]]
#mps <- res$mps
#cox_res <- res$ cox_res

#“cox_res”已重命名为“Bindea2013c_COX_MP_SKCM06”并保存为示例数据
data(Bindea2013c_COX_MP_SKCM06)
cox_res <- Bindea2013c_COX_MP_SKCM06
步骤4:确定条件和临界值以选择预后对
# Count the number of marker pairs with Adjusted P-value (QV) less than 0.05
sum(cox_res$QV < 0.05) # Returns 2773

# Calculate the percentage of significant marker pairs relative to the total number of marker pairs
round(sum(cox_res$QV < 0.05)/ nrow(cox_res) * 100, 2) # Returns 2.52

# Set up a variable to define the condition for selecting marker pairs based on the Adjusted P-value.
GPcondition <- "QV"
# Set up a variable to define the cutoff value for the Adjusted P-value.
GPcutoff <- 0.05
# GP represents Gene Pair

注意:默认情况下,条件为调整后的P值,截止值为0.05。它受到生存信息质量的影响。高质量的生存信息,包括大规模的队列(如> 200)和合理的事件数量,是确保生存分析的统计功效的首选。我们建议预后基因对的百分比在1%–5%的范围内。如果您的目标是更保守的结果,您可以选择更严格的临界值,例如,通过设置“gp condition <--“QV”和“GPcutoff <- 0.01”来调整P值< 0.01。否则,如果您想要更敏感的结果和保守的结果,您可以选择一个宽松的临界值,例如,通过设置“gp condition <--“PV””和“GPcutoff <- 0.05”,P值< 0.05。

步骤5:构建定向基因-基因网络
GeneNET <- TimiGeneNetwork( resdata = cox_res, 
                            select = NULL,
                            dataset = "Bindea2013_Cancer",
                            geneset = NULL,
                            condition = GPcondition,
                            cutoff = GPcutoff,
                            export = TRUE,
                            path = "./")

# Display the first few rows of the 'network' component in the NET object
head(GeneNET$network)
# Display the first few rows of the 'node' component in the NET object
head(GeneNET$node)
# Display the first few rows of the 'edge' component in the NET object
head(GeneNET$edge)

步骤6:通过富集分析鉴定细胞间相互作用
GP <- rownames(cox_res)[which(cox_res[,GPcondition] < GPcutoff)]
background <- TimiBG(marker.pair = row.names(cox_res))
cell_pair <- TimiCellPair(geneset = geneset, core = 6)
res <- TimiEnrich( gene = GP,
                   background = background,
                   geneset = cell_pair,
                   p.adj = "BH",
                   core = 6,
                   pair=TRUE)

绘图:

p <- TimiDotplot(resdata = res,select = c(1:10))
p

步骤7:确定条件和截止值以定义细胞间相互作用。
# Count the number of marker pairs with an Adjusted P-value less than 0.05
sum(res$Adjust.P.Value < 0.05) # Returns 54
# Calculate the percentage of cell-cell interaction defined by the above condition and the cutoff
round(sum(res$Adjust.P.Value < 0.05)/nrow(res) * 100, 2) # Returns 11.69
# Set up a variable to define the condition for cell-cell interaction based on the Adjusted P-value.
CIcondition <- "Adjust.P.Value"
# Set up a variable to define the cutoff value for the Adjusted P-value.
CIcutoff <- 0.05
# CI represents Cell-cell Interaction
res <- TimiPermFDR( resdata = res,
                    geneset = geneset,
                    gene = GP,
                    background = background,
                    niter = 100,
                    core = 6)

未完待续。。。。。

参考:

1:TimiGP: Inferring cell-cell interactions and prognostic associations in the tumor immune microenvironment through gene pairs

2:TimiGP: An R package to depict the tumor microenvironment from bulk transcriptomics

3:细胞互作新算法:TimiGP! - 知乎 (zhihu.com)

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

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

相关文章

unity学习笔记17

一、动画组件 Animation Animation组件是一种更传统的动画系统&#xff0c;它使用关键帧动画。你可以通过手动录制物体在时间轴上的变换来创建动画。 一些重要的属性&#xff1a; 1. 动画&#xff08;Animation&#xff09;&#xff1a; 类型&#xff1a; Animation组件允许…

React如何检查组件性能

可以使用Profiler来查看组件的渲染速度 Profiler的基本使用 需要将<Profiler>标签包裹在需要检查渲染速度的组件外部需要绑定id属性&#xff0c;该属性是唯一标识&#xff0c;用于区分其他Profiler需要onRender函数&#xff0c;该函数一共有六个参数&#xff0c;分别为…

海德汉(HEIDENHAIN)CNC数据采集(可免授权)

一&#xff0c;概述 海德汉 常见的系统一般有530、640系统&#xff0c;采集一般有两种方法&#xff1a; &#xff08;1&#xff09;购买海德汉官方的SDK&#xff0c;HeidenhainDNC COM Component&#xff0c;安装之后有相应的demo&#xff0c;支持的语言有C#、C/C。此方法还需…

蓝桥杯物联网竞赛_STM32L071_8_ADC扩展模块

原理图&#xff1a; 扩展模块原理图&#xff1a; RP1和RP2分别对应着AIN1和AIN2&#xff0c;扭动它们&#xff0c;其对应滑动变阻器阻值也会变化 实验板接口原理图&#xff1a; 对应实验板接口PB1和PB0 即AN1对应PB1, AN2对应PB0 CubMx配置&#xff1a; ADC通道IN8和IN9才对…

牛客在线编程(SQL大厂面试真题)

1.各个视频的平均完播率_牛客题霸_牛客网 ROP TABLE IF EXISTS tb_user_video_log, tb_video_info; CREATE TABLE tb_user_video_log (id INT PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID,uid INT NOT NULL COMMENT 用户ID,video_id INT NOT NULL COMMENT 视频ID,start_time d…

leetcode 142.环形链表2

我来更新 leetcode 题目了&#xff0c;接着上一次&#xff0c;这一次是上一道题目的提升&#xff08;有点数学题的感觉&#xff09; 142.环形链表2 题目 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表…

物奇平台电容触摸功能调试

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 物奇平台电容触摸功能调试 1 修改按键驱动宏 2 编译生成wpk 文件,import 导入烧录文件。…

【Vulnhub靶机】w1r3s.v1.0.1-CuppaCMS

文档说明&#xff1a;https://www.vulnhub.com/entry/w1r3s-101,220/ 靶机下载&#xff1a;Download (Mirror): 信息收集 主机发现 -sn 扫描整个C段&#xff0c;不进行端口扫描&#xff0c;只打印可用主机&#xff0c;n代表not port scan sudo nmap -sn 10.9.75.0/24 -oA su…

关于安科瑞预付费系统在转供电情况下的应用-安科瑞 蒋静

1 前言 国家从2018年开始对转供电加价开展规范清理以来&#xff0c;已经出来了一系列政策&#xff0c;不仅包括专门针对转供电问题的政策&#xff0c;18-20年间还在每次降电价政策中突出强调了转供电主体不得截留降价红利的要求。从具体内容看&#xff0c;各地政策都鼓励一户一…

MATLAB 自抗扰控制 - Active Disturbance Rejection Control

系列文章目录 MATLAB 模型参考自适应控制 - Model Reference Adaptive Control 文章目录 系列文章目录前言一、控制器结构1.1 一阶逼近1.2 二阶逼近 二、指定控制器参数参考 前言 自抗扰控制 (ADRC) 是一种无模型控制方法&#xff0c;适用于为具有未知动态特性以及内部和外部…

React使用TailwindCSS

React中使用TailwindCSS TailwindCSS是 下载及初始化 可以查看官网对照自己使用的框架进行配置 npm install -D tailwindcss postcss autoprefixer下载完毕后执行如下命令 npx tailwindcss init -p可以发现项目中多了两个文件 其中默认已经进行了配置&#xff0c;我们需要将…

AR助推制造业智能转型:实时远程协作与可视化引领生产创新

制造商面临着多方面的变革&#xff0c;技术的兴起催生了工业物联网&#xff08;IIoT&#xff09;&#xff0c;改变了现代工厂的外貌、系统和流程。同时&#xff0c;全球竞争压力和不断变化的员工队伍要求采用新的员工培训方法&#xff0c;并重新审视工人在工厂中的角色。尽管如…

C# Spire操作Excel数据透视表

一、概述 数据透视表&#xff08;Pivot Table&#xff09;是一种交互式的表&#xff0c;可以进行某些计算&#xff0c;如求和与计数等&#xff0c;可动态地改变透视表版面布置&#xff0c;也可以重新安排行号、列标和页字段。当改变版面布置时&#xff0c;数据透视表也会按照新…

Matter学习笔记(3)——交互模型

一、简介 1.1 交互方式 交互模型层定义了客户端和服务器设备之间可以执行哪些交互。发起交互的节点称为发起者&#xff08;通常为客户端设备&#xff09;&#xff0c;作为交互的接收者的节点称为目标&#xff08;通常为服务器设备&#xff09;。 节点通过以下方式进行交互&a…

短线买入卖出有哪些交易技巧?

前面两节课&#xff0c;我们认识了短线交易&#xff0c;知道了短线交易常见的买入卖出时机&#xff0c;这节课&#xff0c;我们来讲解一下短线买入卖出的一些交易技巧。话不多时&#xff0c;直接进入重点&#xff01; 一、短线交易要果断 短线波动快&#xff0c;在出现买卖信号…

pytorch 中的dim 的作用范围

1. 二维矩阵时 不同的运算&#xff0c; dim 的作用域都是一样的思想&#xff1b; 当数据是二维矩阵时&#xff0c; 可以按照下面的思想理解&#xff1a; 对于矩阵&#xff1a; dim0 按列操作&#xff08;沿列向下&#xff09;。 dim1 按行操作&#xff08;跨行&#xff09;。 …

6-15 复制字符串

#include<stdio.h> #include<string.h> int main(){int i;char s1[80],s2[80];printf("输入的s2是&#xff1a;");scanf("%s",s2);for(i0;i<strlen(s2);i)s1[i]s2[i];printf("复制后的s1是&#xff1a;%s\n",s1); return 0;}

计算机组成原理-指令格式

文章目录 现代计算机的结构回忆&#xff1a;计算机的工作过程总览指令的定义指令格式零地址指令一地址指令二三地址指令四地址指令小结 指令-按指令长度分类指令-按操作码长度分类指令-按操作类型分类总结 现代计算机的结构 回忆&#xff1a;计算机的工作过程 总览 指令的定义 …

【专题】【数列极限】

【整体思路】 【常用不等式】

【并发编程】CountDownLatch详解与原理

&#x1f4eb;作者简介&#xff1a;小明Java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化&#xff0c;文章内容兼具广度、深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于…