首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >🤩 miRTalk | 单细胞miRNA推断及细胞间通讯!~

🤩 miRTalk | 单细胞miRNA推断及细胞间通讯!~

作者头像
生信漫卷
发布2025-05-19 11:35:56
发布2025-05-19 11:35:56
11200
代码可运行
举报
运行总次数:0
代码可运行

写在前面

今天是miRTalk包,嘿嘿!~😁

miRTalk 由三个部分组成:👇

1️⃣ 第一部分是推断EV来源的跨细胞miRNA高变靶基因

2️⃣ 第二部分是推断EV来源的miRNAs介导的细胞间通讯及其下游靶点;

3️⃣ 第三部分是可视化miRNA介导的细胞间通讯网络和miRNA-靶点相互作用网络。

用到的包

代码语言:javascript
代码运行次数:0
运行
复制
rm(list = ls())
#devtools::install_github("multitalk/miRTalk")
library(miRTalk)
library(tidyverse)

示例数据

代码语言:javascript
代码运行次数:0
运行
复制
load(paste0(system.file(package = "miRTalk"), "/extdata/example.rda"))

代码语言:javascript
代码运行次数:0
运行
复制
# demo_geneinfo
demo_geneinfo()

代码语言:javascript
代码运行次数:0
运行
复制
# demo_sc_data
demo_sc_data()

构建miRTalk对象

代码语言:javascript
代码运行次数:0
运行
复制
obj <- create_miRTalk(sc_data = sc_data,
                      sc_celltype = sc_celltype,
                      species = "Human",
                      condition = rep("condition",length(sc_celltype)),
                      evbiog = evbiog,
                      risc = risc,
                      ritac = ritac)

识别DEGs和HVG的靶基因

代码语言:javascript
代码运行次数:0
运行
复制
# find highly variable target genes
obj <- find_hvtg(object = obj)

# the result is a character
var_genes <- obj@data$var_genes
str(var_genes)

识别miRNA

这里我们可以选择不同的数据库进行识别miRNA。😘

由于大多数miRNA都是负向调控的,这里默认是negative,如果你需要正向调控就改成positive吧。😜

代码语言:javascript
代码运行次数:0
运行
复制
# find MiTIs with negative regulation by default using risc
obj <- find_miRNA(object = obj,
                  mir_info = mir_info,
                  mir2tar = mir2tar)

# find MiTIs with positive regulation by default using ritac
# obj <- find_miRNA(object = obj,
#                   mir_info = mir_info,
#                   mir2tar = mir2tar,
#                   regulation = "positive")

# Use different databases
# obj <- find_miRNA(object = obj,
#                   mir_info = mir_info,
#                   mir2tar = mir2tar,
#                   database = c("miRTarBase", "TarBase"))

# Use EXOmotif to refine EV-derived miRNAs
# obj <- find_miRNA(object = obj,
#                   mir_info = mir_info,
#                   mir2tar = mir2tar,
#                   EXOmotif = "CAUG")

# Correct to precursor miRNAs
# obj <- find_miRNA(object = obj,
#                   mir_info = mir_info,
#                   mir2tar = mir2tar,
#                   resolution = "precursor")

# Use human database (mir_info and mir2tar) for mouse or rat scRNA-seq data
# obj <- find_miRNA(object = obj,
#                   mir_info = mir_info,
#                   mir2tar = mir2tar,
#                   if_use_human_data = TRUE,
#                   gene2gene = gene2gene)

推断EVs源miRNA介导的细胞间通讯

代码语言:javascript
代码运行次数:0
运行
复制
# infer cell-cell communications mediated by EV-derived miRNAs from senders to receivers
obj <- find_miRTalk(object = obj)

obj

代码语言:javascript
代码运行次数:0
运行
复制
# the result is a data.frame
cci <- obj@cci
str(cci)

代码语言:javascript
代码运行次数:0
运行
复制
# get simple results of miRNA-target interactions
obj_cci <- get_miRTalk_cci(obj)
str(obj_cci)

可视化

chord图

代码语言:javascript
代码运行次数:0
运行
复制
plot_miRTalk_chord(object = obj)

circle图

代码语言:javascript
代码运行次数:0
运行
复制
plot_miRTalk_circle(object = obj)

简化一下!~

只显示sender。👀

代码语言:javascript
代码运行次数:0
运行
复制
# as sender
plot_miRTalk_circle_simple(object = obj, celltype = "Tumor", celltype_dir = "sender")

只显示receiver。😏

代码语言:javascript
代码运行次数:0
运行
复制
# as receiver
plot_miRTalk_circle_simple(object = obj, celltype = "Tumor", celltype_dir = "reciver")

heatmap图

代码语言:javascript
代码运行次数:0
运行
复制
plot_miRTalk_heatmap(object = obj)

sankey图

代码语言:javascript
代码运行次数:0
运行
复制
plot_miRTalk_sankey(object = obj)

miR热图可视化

代码语言:javascript
代码运行次数:0
运行
复制
plot_miR_heatmap(object = obj)

miR-靶基因热图可视化

代码语言:javascript
代码运行次数:0
运行
复制
plot_target_heatmap(object = obj, celltype = "Bcell",
                    height = 1000,
                    width = 4000)

miR气泡图可视化

代码语言:javascript
代码运行次数:0
运行
复制
plot_miR_bubble(object = obj)

miR-靶基因chord图可视化

代码语言:javascript
代码运行次数:0
运行
复制
plot_miR2tar_chord(obj, celltype_sender = "Tumor", celltype_receiver = "Bcell")

miR-靶基因circle图可视化

代码语言:javascript
代码运行次数:0
运行
复制
plot_miR2tar_circle(obj, celltype_sender = "Tumor", celltype_receiver = "Bcell")

代码语言:javascript
代码运行次数:0
运行
复制
plot_miR2tar_circle(obj, celltype_sender = "Tumor", celltype_receiver = "Bcell", celltype_color = "NO")

miR-靶基因热图可视化

代码语言:javascript
代码运行次数:0
运行
复制
plot_miR2tar_heatmap(obj, celltype_sender = "Tumor", celltype_receiver = "Bcell", grid_color = "black",
                     height = 2000, width = 4000
                     )

下游通路分析

代码语言:javascript
代码运行次数:0
运行
复制
# get pathways
res_pathway <- get_miRTalk_pathway(object = obj,
                                     gene2path = gene2path,
                                     mir2path = mir2path,
                                     miRNA = "hsa-miR-133a-3p",
                                     targetgenes = "ANXA2")

代码语言:javascript
代码运行次数:0
运行
复制
str(res_pathway[[1]]$miRNA_term) # pathways for hsa-miR-133a-3p

代码语言:javascript
代码运行次数:0
运行
复制
str(res_pathway[[2]]$target_gene_term) # pathways for ANXA2

代码语言:javascript
代码运行次数:0
运行
复制
res_pathway[[3]]$miRNA_term # overlapped/shared pathways

循环miRNA和器官-器官通讯潜能预测

代码语言:javascript
代码运行次数:0
运行
复制
# get circulating miRNAs
res_circulating <- get_miRTalk_circulating_score(obj)
str(res_circulating)

代码语言:javascript
代码运行次数:0
运行
复制
#plotting
res_circulating$celltype_receiver <- paste0(res_circulating$condition,"_",res_circulating$celltype_receiver)
res_circulating <- unique(res_circulating[,c("miRNA","score","celltype_receiver")])
res_cir_plot <- reshape2::dcast(data = res_circulating, formula = miRNA ~ celltype_receiver, value.var = "score", fun.aggregate = mean, fill = 0)
rownames(res_cir_plot) <- res_cir_plot$miRNA
res_cir_plot <- res_cir_plot[,-1]
heat_col <- viridis::viridis(n = 256, alpha = 1, begin = 0, end = 1, option = "D")
heatmaply::heatmaply(x = as.matrix(res_cir_plot), colors = heat_col, limits = c(0,1),dendrogram = "none",  margins = c(60,100,40,20), titleX = FALSE, main = "Circulating potential", branches_lwd = 0.1, fontsize_row = 10, fontsize_col = 10, labCol = colnames(res_cir_plot), labRow = rownames(res_cir_plot), heatmap_layers = theme(axis.line=element_blank()))

文章出处

Shao X, Yu L, Li C, Qian J, Yang X, Yang H, Liao J, Fan, X, Xu X, Fan X. Extracellular vesicle-derived miRNA-mediated cell-cell communication inference for single-cell transcriptomic data with miRTalk. Genome Biol. 2025 April 14;26:95. doi: 10.1186/s13059-025-03566-x

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

本文分享自 生信漫卷 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面
  • 用到的包
  • 示例数据
  • 构建miRTalk对象
  • 识别DEGs和HVG的靶基因
  • 识别miRNA
  • 推断EVs源miRNA介导的细胞间通讯
  • 可视化
    • chord图
    • circle图
    • heatmap图
    • sankey图
  • miR热图可视化
  • miR-靶基因热图可视化
  • miR气泡图可视化
  • miR-靶基因chord图可视化
  • miR-靶基因circle图可视化
  • miR-靶基因热图可视化
  • 下游通路分析
  • 循环miRNA和器官-器官通讯潜能预测
  • 文章出处
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档