前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >细胞通讯-iTALK使用方法

细胞通讯-iTALK使用方法

作者头像
生信技能树jimmy
发布2020-07-02 16:18:40
5.2K0
发布2020-07-02 16:18:40
举报
文章被收录于专栏:单细胞天地

什么是细胞通讯?

多细胞生物由不同类型的细胞组成,单个细胞之间的行为协调需要建立通讯网络。例如生物体的生长发育、分化、各种组织器官的形成、维持以及各种生理活动的协调,都需要高效和高精度的细胞通讯机制。

信号转导(signal transduction)强调信号的接收与接收后信号转换的方式和结果,包括配体与受体结合、第二信使的产生及其后的级联反应等,即信号的识别、转移与转换。

单细胞转录组分析中的细胞通讯分析主要指的就是:通过比较不同样品组的细胞在各细胞类型之间的配体与受体基因表达差异

单细胞“配体-受体”分析工具

CellPhoneDB

iTALK_1.png

CellPhoneDB[1]包含一个配体-受体数据库,考虑了配体和受体的亚基结构,能够准确地表示异质复合体。

可在线提交基因列表分析,CellPhoneDB会返回提交的基因列表中的配体-受体基因配对。

celltalker

celltalker[2]我们在《举一反三 | 总结单细胞文章分析框架及软件》中有提到。

iTALK

iTALK[3]这个包的应用比较简单,可以自定义定制的配体-受体数据库。默认数据库分析物种为人,如果我们做的事其他物种,可以匹配人的同源基因。本篇将对iTALK的使用做一个详细介绍。

iTALK的使用方法

iTALK为R包,可通过以下方式安装

代码语言:javascript
复制
devtools::install_github("Coolgenome/iTALK", build_vignettes = TRUE)

数据读入

我们以Seurat的对象文件为例展示iTALK的数据载入

代码语言:javascript
复制
library(iTALK)
library(Seurat)
library(Matrix)
library(dplyr)

sdata <- readRDS(file = "~/Desktop/Seurat.rds")
# iTALK 要求的矩阵: 行为细胞,列为基因
iTalk_data <- as.data.frame(t(sdata@assays$RNA@counts))
# iTALK 要求包含cell_type列,我的细胞分群存储在seurat_cluster
iTalk_data$cell_type <- sdata@meta.data$seurat_cluster
# iTALK 要求包含compare_group列(多样本),表示每个细胞的生物学分组/样本,我的细胞分组存放在Group
iTalk_data$compare_group <- sdata@meta.data$Group

unique(iTalk_data$cell_type)
# "cd56_nk" "cd14_monocytes" "b_cells" "cytotoxic_t" "regulatory_t" "memory_t" "naive_t"
unique(iTalk_data$compare_group)
# "group1" "group2" "group3"

配体-受体概览

通过所有细胞的高表达基因分析其中包含的配体-受体

代码语言:javascript
复制
my10colors <-c('#E5D2DD', '#53A85F', '#F1BB72', '#F3B1A0', '#D6E7A3', '#57C3F3', '#476D87', '#E95C59', '#E59CC4', '#AB3282')

highly_exprs_genes <- rawParse(iTalk_data, top_genes=50, stats="mean")
# 通讯类型
comm_list<-c('growth factor','other','cytokine','checkpoint')
cell_types <- unique(iTalk_data$cell_type)
cell_col <- structure(my10colors[1:length(cell_types)], names=cell_types)

iTalk_res <- NULL
for(comm_type in comm_list){
  res_cat <- FindLR(highly_exprs_genes, datatype='mean count', comm_type=comm_type)
  iTalk_res <- rbind(iTalk_res, res_cat)
}

iTalk_res <- iTalk_res[order(iTalk_res$cell_from_mean_exprs*iTalk_res$cell_to_mean_exprs,decreasing=T),][1:20,]
代码语言:javascript
复制
NetView(iTalk_res,col=cell_col,vertex.label.cex=1,arrow.width=1,edge.max.width=5)

iTALK_2.png

代码语言:javascript
复制
LRPlot(iTalk_res[1:20,],datatype='mean count',cell_col=cell_col,link.arr.lwd=iTalk_res$cell_from_mean_exprs[1:20],link.arr.width=iTalk_res$cell_to_mean_exprs[1:20])

样本组之间的差异基因相关的配体-受体

代码语言:javascript
复制
deg_t<-DEG(iTalk_data %>% filter(cell_type=='regulatory_t'),method='DESeq2',contrast=c('group1', 'group2'))
deg_nk<-DEG(iTalk_data %>% filter(cell_type=='cd56_nk'),method='DESeq2',contrast=c('group1', 'group2'))

res<-NULL
for(comm_type in comm_list){
  res_cat<-FindLR(deg_nk, deg_t,  datatype='DEG',comm_type=comm_type)
  #res_cat<-FindLR(deg_t,  datatype='DEG',comm_type=comm_type)
  res<-rbind(res,res_cat)
}
# FindLR DEG类型的数据,可以输入一个基因集合,结果为相应基因内的配体-受体列表
# 如果有超过20组配体-受体结果,取前20进行展示
res<-res[order(res$cell_from_logFC*res$cell_to_logFC,decreasing=T),][1:20,]

LRPlot(res,datatype='DEG',cell_col=cell_col,link.arr.lwd=res$cell_from_logFC,link.arr.width=res$cell_to_logFC)

<<< 左右滑动见更多 >>>

为了展示常用的Seurat对象文件作为iTALK的载入数据,我们把作者提供的测试数据[4]转换成了seurat对象。

链接:https://pan.baidu.com/s/1qM3pZwI_mXPZT3Cj9etWug 密码:0rvp

可能由于测试数据集的原因,我并未找到样本组不同亚群之间差异基因涉及到的受体配体,iTALK github issue[5]有人遇到了相同的问题,作者暂未回应。

References

[1] CellPhoneDB: https://www.cellphonedb.org/ [2] celltalker: https://github.com/arc85/celltalker [3] iTALK: https://github.com/Coolgenome/iTALK [4] 作者提供的测试数据: https://github.com/Coolgenome/iTALK/blob/master/example/example_data.txt [5] iTALK github issue: https://github.com/Coolgenome/iTALK/issues/19

[6] https://github.com/Coolgenome/iTALK/blob/master/example/example_code.r

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单细胞天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是细胞通讯?
  • 单细胞“配体-受体”分析工具
    • CellPhoneDB
      • celltalker
        • iTALK
        • iTALK的使用方法
          • 数据读入
            • 配体-受体概览
              • 样本组之间的差异基因相关的配体-受体
                • References
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档