RNA 37. SCI 文章中基于转录组计算肿瘤免疫浸润得分

304580e0f4d25c677a3ff75d6a07543f.png

这期推荐软件包 xCell:数字化描绘组织细胞异质性景观,通过它可以计算bulk 转录组的免疫浸润得分,下面我们就看看怎么来实现吧!


简     介

组织是由许多细胞类型组成的复杂环境。在癌症领域,了解肿瘤微环境中的细胞异质性是一个新兴的研究领域。近年来已经发表了许多方法,用于从组织表达谱中推断细胞亚群。然而,现有的方法存在三个主要问题:

  1. 基于从有限来源学习和验证的基因集推断细胞子集;

  2. 仅显示完整细胞异质性的部分描述;

  3. 在混合组织中验证不足。

xCell是一种基于基因签名的方法,从各种来源的数千种纯细胞类型中学习。xCell应用了一种新的技术来减少密切相关的细胞类型之间的关联。通过大量的计算机模拟和细胞术免疫分型验证了xCell标记,并证明其优于以前的方法。xCell允许研究人员可靠地描绘组织表达谱的细胞异质性景观。

xCell是一个从64种免疫细胞和基质细胞类型的基因表达数据中执行细胞类型富集分析的工具。

3eb6bdfad62aa0f92261e2662f15e47f.png

xCell软件包的工作流程如下:

9e5cc624ea1039e92179deabea648b34.png

软件包安装

安装很简单直接安装即可:

devtools::install_github('dviraran/xCell')

数据读取

要使用xCell,只需加载一个人类基因表达数据矩阵。如果数据包含非唯一的基因符号,则将具有相同基因符号的行取平均值。

输入数据有两种类型的矩阵,一类是NGS数据(Sequencing-based),一类是芯片数据(Array-based)。

159a43c9dff80e51f2290661cc53ddb1.png

从import门户网站下载了SDY311和SDY420的研究文件。每个import研究都有一个名为fcs_analyzed_result.txt的文件,其中包含细胞计数。我们从所有活细胞中提取细胞数量,以创建每个样本的细胞比例矩阵。

读入数据,需要准备两个矩阵,一个是表达矩阵如下:

library(knitr)
sdy311 = readRDS("sdy311.rds")
kable(sdy311$expr[1:5, 1:5])

SUB134264SUB134282SUB134283SUB134259SUB134285
7A56.83596.68356.71946.77516.7426
A1BG6.74836.75496.74876.77137.0461
A1CF6.80256.87566.94536.62306.7186
A26C36.63316.67176.70146.63106.7012
A2BP16.55386.64116.58546.48396.6191
sdy420 = readRDS("sdy420.rds")
kable(sdy420$expr[1:5, 1:5])

SUB137169SUB137172SUB137208SUB137209SUB137220
A1CF6.34806.18075.95566.36786.2681
A2LD16.81778.63547.27446.87247.0361
A2M6.71696.91597.36866.70546.8898
A2ML17.89069.887410.59709.01208.4623
A3GALT26.17895.87637.61756.19466.1529

一个是通过单样本免疫浸润分析即ssGSEA的结果,矩阵如下:

kable(sdy311$fcs[1:5, 1:5])

SUB116449SUB134237SUB134238SUB134239SUB134240
B-cells0.13100.06850.09140.09910.2921
CD16- monocytes0.13390.04760.17710.04670.1618
CD16+ monocytes0.00320.00100.00610.00100.0045
CD4+ T-cells0.31870.30850.33290.45730.1489
CD8+ T-cells0.04910.18220.06130.10240.0421
kable(sdy420$fcs[1:5, 1:5])

SUB137169SUB137172SUB137208SUB137209SUB137220
B-cells0.07100.13420.13440.08580.0493
CD16- monocytes0.14300.16950.23240.20060.1600
CD16+ monocytes0.00800.01550.01010.01140.0089
CD4+ T-cells0.41380.20140.23010.27180.2618
CD8+ T-cells0.18950.13040.08660.16130.2549

计算 xCell scores

我们对SDY311数据集进行了两次数据过滤。首先,基因表达数据中有10例患者存在重复。我们使用'rawEnrichmentAnalysis'函数创建xCell分数,然后对每个有重复的患者取原始分数的平均值。

其次,SDY311中有两个样本被怀疑为异常值,因此我们从分析中删除了。

为了得到最好的结果,最好只对相关细胞类型进行溢出补偿(例如,如果我们知道混合物中没有巨噬细胞,最好将其从分析中移除)。因此,我们将分数矩阵子集为仅在CyTOF数据集中也测量的细胞类型。

注意,我们使用了xCell.data$spill。数组数据,因为表达式数据是用微阵列生成的。

get.xCell.scores = function(sdy) {raw.scores = rawEnrichmentAnalysis(as.matrix(sdy$expr), xCell.data$signatures,xCell.data$genes)colnames(raw.scores) = gsub("\\.1", "", colnames(raw.scores))raw.scores = aggregate(t(raw.scores) ~ colnames(raw.scores), FUN = mean)rownames(raw.scores) = raw.scores[, 1]raw.scores = raw.scores[, -1]raw.scores = t(raw.scores)cell.types = rownames(sdy$fcs)cell.types.use = intersect(rownames(raw.scores), rownames(sdy$fcs))transformed.scores = transformScores(raw.scores[cell.types.use, ], xCell.data$spill.array$fv)scores = spillOver(transformed.scores, xCell.data$spill.array$K)# s = yA = intersect(colnames(sdy$fcs), colnames(scores))scores = scores[, A]scores
}library(xCell)sdy311$fcs = sdy311$fcs[, -which(colnames(sdy311$fcs) %in% c("SUB134240", "SUB134283"))]scores311 = get.xCell.scores(sdy311)
scores420 = get.xCell.scores(sdy420)

关联xCell评分和CyTOF免疫谱

使用这些分数,我们现在可以发现xCell分数与CyTOF免疫谱中的细胞类型分数之间的相关性:

library(psych)
library(ggplot2)correlateScoresFCS = function(scores, fcs, tit) {fcs = fcs[rownames(scores), colnames(scores)]res = corr.test(t(scores), t(fcs), adjust = "none")df = data.frame(R = diag(res$r), p.value = diag(res$p), Cell.Types = rownames(res$r))ggplot(df) + geom_col(aes(y = df$R, x = Cell.Types, fill = p.value < 0.05)) +theme_classic() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) +ylab("Pearson R") + ggtitle(tit)
}
correlateScoresFCS(scores311, sdy311$fcs, "SDY311")

bff8a7e22ae6a11cf3b72115ac6dda83.png

correlateScoresFCS(scores420, sdy420$fcs, "SDY420")

2f369e1bd99d3914d3a34c0f7f3ba99e.png

Reference

  1. Aran D, Hu Z, Butte AJ. xCell: digitally portraying the tissue cellular heterogeneity landscape. Genome Biol. 2017;18(1):220. Published 2017 Nov 15. doi:10.1186/s13059-017-1349-1

这个工具是不是非常好用?

学会了轻松拿捏数据分析,顿时觉得自己也行了,关注桓峰基因公众号,轻松学生信,高效写文章!


转录组生信分析教程

桓峰基因公众号推出转录组分析教程,有需要生信的老师可以联系我们!转录分析教程整理如下:

RNA 1. 基因表达那些事--基于 GEO

RNA 2. SCI文章中基于GEO的差异表达基因之 limma

RNA 3. SCI 文章中基于T CGA 差异表达基因之 DESeq2

RNA 4. SCI 文章中基于TCGA 差异表达之 edgeR

RNA 5. SCI 文章中差异基因表达之 MA 图

RNA 6. 差异基因表达之-- 火山图 (volcano)

RNA 7. SCI 文章中的基因表达——主成分分析 (PCA)

RNA 8. SCI文章中差异基因表达--热图 (heatmap)

RNA 9. SCI 文章中基因表达之 GO 注释

RNA 10. SCI 文章中基因表达富集之--KEGG

RNA 11. SCI 文章中基因表达富集之 GSEA

RNA 12. SCI 文章中肿瘤免疫浸润计算方法之 CIBERSORT

RNA 13. SCI 文章中差异表达基因之 WGCNA

RNA 14. SCI 文章中差异表达基因之 蛋白互作网络 (PPI)

RNA 15. SCI 文章中的融合基因之 FusionGDB2

RNA 16. SCI 文章中的融合基因之可视化

RNA 17. SCI 文章中的筛选 Hub 基因 (Hub genes)

RNA 18. SCI 文章中基因集变异分析 GSVA

RNA 19. SCI 文章中无监督聚类法 (ConsensusClusterPlus)

RNA 20. SCI 文章中单样本免疫浸润分析 (ssGSEA)

RNA 21. SCI 文章中单基因富集分析

RNA 22. SCI 文章中基于表达估计恶性肿瘤组织的基质细胞和免疫细胞(ESTIMATE)

RNA 23. SCI文章中表达基因模型的风险因子关联图(ggrisk)

RNA 24. SCI文章中基于TCGA的免疫浸润细胞分析 (TIMER)

RNA 25. SCI文章中估计组织浸润免疫细胞和基质细胞群的群体丰度(MCP-counter)

RNA 25. SCI文章中只有生信没有实验该怎么办?

RNA 26. SCI文章中基于转录组数据的基因调控网络推断 (GENIE3)

RNA 27 SCI文章中转录因子结合motif富集到调控网络 (RcisTarget)

RNA 28 SCI 文章中基于RNA-seq数据反褶积揭示肿瘤免疫结构的分子和药理学 (quanTIseq)

RNA 29. SCI文章中基于TCGA的免疫浸润细胞分析 (TIMER2.0)

RNA 30. SCI文章中基于TCGA和GTEx数据挖掘神器(GEPIA2)

RNA 31. SCI文章临床蛋白质组肿瘤在线数据挖掘神器(CPTAC)

RNA 32. SCI文章临床多组学肿瘤在线数据挖掘神器(UALCAN)

RNA 33. SCI文章肿瘤在线数据挖掘神器(cBioportal)

RNA 34. SCI 文章基因蛋白表达时间趋势分析及划分聚类群 (Mfuzz)

RNA 35. SCI 文章基于RNA-seq推断CNVs (RNAseqCNV)

RNA 36. SCI 文基于转录组数据识别CNV并可视化 (CaSpER)

桓峰基因,铸造成功的您!

未来桓峰基因公众号将不间断的推出单细胞系列生信分析教程,

敬请期待!!

桓峰基因官网正式上线,请大家多多关注,还有很多不足之处,大家多多指正!

http://www.kyohogene.com/

桓峰基因和投必得合作,文章润色优惠85折,需要文章润色的老师可以直接到网站输入领取桓峰基因专属优惠券码:KYOHOGENE,然后上传,付款时选择桓峰基因优惠券即可享受85折优惠哦!https://www.topeditsci.com/

5b66a42a1ba93fdfc6f773fbc9b49ef8.png

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

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

相关文章

【css | loading】好看的loading特效

示例&#xff1a; https://code.juejin.cn/pen/7277764394618978365 html <div class"pl"><div class"pl__dot"></div><div class"pl__dot"></div><div class"pl__dot"></div><div c…

第51节:cesium 范围查询(含源码+视频)

结果示例: 完整源码: <template><div class="viewer"><el-button-group class="top_item"><el-button type=

Axure RP 10汉化版下载 Axure RP 10 mac授权码

Axure RP10汉化版是最强大的计划&#xff0c;原型设计和交付给开发人员的方法&#xff0c;而无需编写代码。能够制作逼真的&#xff0c;动态形式的原型。 Axure RP 10汉化版下载 Axure RP 10 mac授权码 RP 10有什么新功能&#xff1f; 1.显示动态面板 使用Axure RP 10&…

docker 镜像内执行命令显示:You requested GPUs: [0] But your machine only has: []

目录 问题描述&#xff1a; 问题解决&#xff1a; 问题描述&#xff1a; 在docker 镜像环境中&#xff0c;执行“docker exec -it container_name /bin/bash “进入容器之后&#xff0c;执行对应的python命令&#xff0c;显示You requested GPUs: [0] But your machine only…

【深度学习】P1 单层神经网络 - 线性回归(待完成)

单层神经网络 - 线性回归 线性回归基本要素1. 模型2. 模型训练3. 训练数据4. 损失函数5. 优化算法6. 模型预测 线性回归与神经网络1. 神经网络图 以一个简单的房屋价格预测为例&#xff0c;介绍解释线性回归这一单层神经网络。无需纠结于什么是单层神经网络&#xff0c;在本文的…

Hadoop_02

hadoop相比于传统文件系统的优点&#xff1a; 1.无限扩展 2.传统文件元数据分布在不同的机器上难以寻找&#xff0c;通过将元数据统一存放在一个服务器上解决 3.传统文件太大导致上传下载慢&#xff0c;通过分块并行上传到服务器解决 4.副本机制数据不容易丢失&#xff0c;解决…

python代码笔记230910

1.解释错误&#xff1a;TypeError: only integer scalar arrays can be converted to a scalar index 抱歉给出的解释有误。要返回列表中最小值的索引&#xff0c;可以使用index()方法。然而&#xff0c;当你尝试在列表中包含多个相同最小值时&#xff0c;index()方法可能会引…

JavaScript里面的二进制

概述 最近在做IOT设备配网开发的时候&#xff0c;处理了很多跟二进制、字节相关的事情&#xff0c;总结了一下JavaScript中有关二进制方面的一些知识点。 二进制和字节 首先&#xff0c;现代计算机是基于二进制的&#xff0c;从现代计算机电路来说&#xff0c;只有高电平/低电平…

Sql语句大全--查询

今天抽空整理下项目中的Sql语句* 项目中用到的Sql语句大全 Selcet 语句&#xff0c;有简有难 Selcet 语句&#xff0c;有简有难 基本的查询语句 select * from OLASCS.LLDC where CAPOLselect CATAX,CASU from OLASCS.LLDC where CAPOL IN (122345)SELECT EO,EANT, EAUS, sub…

TypeScript 中的 any、unknown、never 和 void

any any 表示 任意类型。 它是任意类型的父类&#xff0c;任意类型的值都可以赋予给 any 类型&#xff1a; // 编译不会报错 let anything: any 前端西瓜哥;let flag: boolean true; anything flag;anything { num: 2 };它可以表示任何类型&#xff0c;并使用它们的语法…

AIGC参数量节节攀升,对存储带来的挑战如何解决?

引言 近期&#xff0c;AIGC 相关产品如同雨后春笋一般不断涌现。但在技术层面&#xff0c;大家普遍的关注点更多集中在性能方面&#xff0c;却经常忽略了存储对推理和训练效率的影响&#xff0c;以及 AIGC 内容可能带来的合规风险。我们特邀腾讯云存储的产品负责人 崔剑老师和…

C++ QT qml 学习之 做个登录界面

最近在学习QT,也初探到qml 做ui 的灵活性与强大,于是手痒痒,做个demo 记录下学习成果 主要内容是如何自己编写一个按钮以及qml多窗口。 参考WX桌面版,做一个登录界面,这里面按钮是写的一个组合控件,有 按下,释放,以及正常 三种状态。 import QtQuick 2.0 import QtQ…

数据在内存中的存储——练习3

题目&#xff1a; 3.1 #include <stdio.h> int main() {char a -128;printf("%u\n",a);return 0; }3.2 #include <stdio.h> int main() {char a 128;printf("%u\n",a);return 0; }思路分析&#xff1a; 首先二者极其相似%u是无符号格式进行…

【Linux】—— 在Linux上进行读写文件操作

前言&#xff1a; 在之前&#xff0c;我已经对进程的相关知识进行了详细的介绍。本期开始&#xff0c;我们将要学习的是关于 “基础I/O”的知识&#xff01;&#xff01;&#xff01; 目录 &#xff08;一&#xff09;C文件接口 &#xff08;二&#xff09;系统文件I/O 1、接…

WebDAV之π-Disk派盘 + BubbleUPnP

BubbleUPnP是一款功能强大的Android播放器,支持UPnP/DLNA多屏互动。它可以将手机内容投屏到电视大屏上,与家人和朋友一起共享。此外,BubbleUPnP还提供了丰富的音乐和影视资源,您可以在线搜索并播放喜欢的内容。 以下是BubbleUPnP的一些主要特点: 1. 支持Chromecast和转码…

android java读写yaml文件

目录 申请读写权限&#xff1a; build.gradle中添加库引用&#xff1a; android java读写yaml文件 java修改yaml文件 YamlFile&#xff1a; 修改yaml文件方法2 Yaml&#xff1a; 删除值&#xff1a; 申请读写权限&#xff1a; <uses-permission android:name"and…

WebGL 绘制矩形

上一节绘制了圆点&#xff0c;调用的绘制方法如下&#xff1a;gl.drawArrays(gl.POINTS, 0, 1); 第一个参数明显是个枚举类型&#xff0c;肯定还有其他值&#xff0c;如下所示&#xff1a; POINTS 可视的点LINES 单独线段LINE_STRIP 线条LINE_LOOP 闭合线条TRIANGLES 单独三…

计算机网络篇之域名

计算机网络篇之域名 介绍 一个域名是一个由点分割的字符串序列&#xff0c;用于标识一组IP地址或互联网上的计算机&#xff0c;域名用于在因特网上标识和定位特定的网站或服务 组成 域名由两个主要部分组成&#xff1a;顶级域和二级域&#xff0c;顶级域是域名的最高级别&a…

Codeforces Round 895 (Div. 3) (A~G)

A. Two Vessels 题意&#xff1a;你有两个无限容量杯子A,B&#xff0c;分别装了a&#xff0c;b升的水&#xff0c;此外你还有一个容量为c的杯子C&#xff0c;你可以将一杯的水先倒入C中&#xff0c;再倒入另一个杯子&#xff0c;问你最少需要操作几次能使得A B杯的水量相同。 …

【题解】2596. 检查骑士巡视方案

题解&#xff1a; class Solution {int n,m;bool st[100][100];int flag;int dx[8]{-1,-2,-2,-1,1,2,2,1};int dy[8]{-2,-1,1,2,2,1,-1,-2}; public:bool checkValidGrid(vector<vector<int>>& grid) {m grid.size();n grid[0].size();dfs(grid,0,0,0);ret…