Skip to content

Analysis of potential of circulating miRNAs and organ‐organ communication

Shao, Xin edited this page Dec 24, 2024 · 4 revisions

To analyze the potential of circulating miRNAs and organ‐organ communication for the inferred miRNA-target interactions, we have incorporated a function get_miRTalk_circulating_score.Step-by-step procedures are shown below:

[1] load the example data

> load(paste0(system.file(package = 'miRTalk'), "/extdata/example.rda"))

> dim(sc_data)
[1] 22898   515

> table(sc_celltype)
sc_celltype
  Bcell Myeloid Stromal   Tcell   Tumor 
     83      38      23      54     317 

[2] create miRTalk object using single-cell transcriptomics data

> 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)
Warning: The following features are not present in the object: AGO2, not searching for symbol synonyms

[3] Find highly variable target genes with DEGs and HVGs with find_hvtg

> obj <- find_hvtg(object = obj)

[4] Find expressed miRNAs among all cells and generate background distribution for permutation test with find_miRNA.

> obj <- find_miRNA(object = obj,
                    mir_info = mir_info,
                    mir2tar = mir2tar)

[5] Infer cell-cell communication mediated by EV-derived miRNAs from senders to receivers

> obj <- find_miRTalk(obj, if_doParallel = F)
[condition] 
[++++++++++++++++++++++++++++++] Finished:100% time:00:04:57

> obj
An object of class miRTalk 
460 EV-derived miRNA-target interactions

[6] Analysis of potential of circulating miRNAs and organ‐organ communication

> res_circulating <- get_miRTalk_circulating_score(obj)
> str(res_circulating)
'data.frame':	19 obs. of  3 variables:
 $ miRNA            : chr  "hsa-miR-146a-5p" "hsa-miR-146a-5p" "hsa-miR-146a-5p" "hsa-miR-146a-5p" ...
 $ score            : num  0.661 0.661 0.661 0.661 1 ...
 $ celltype_receiver: chr  "condition_Tcell" "condition_Tumor" "condition_Bcell" "condition_Myeloid" ...

# 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()))

image