Code Monkey home page Code Monkey logo

multitalk / mirtalk Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 50.21 MB

Extracellular vesicle-derived miRNA-mediated cell-cell communication inference for single-cell transcriptomic data

Home Page: https://github.com/multitalk/awesome-cell-cell-communication

License: GNU General Public License v3.0

R 2.11% HTML 97.89%
cell-cell-communication cell-cell-interaction extracellular-vesicles mirna scrna-seq-data single-cell-rna-seq exosomes microvesicles

mirtalk's Introduction

miRTalk

R-CMD-check miRTalkDB miRTalk-tutorial

Extracellular vesicle-derived miRNA-mediated cell-cell communication inference for single-cell transcriptomic data

MicroRNAs are released from cells in extracellular vesicles (EVs), including exosomes and microvesicles, representing an essential mode of cell-cell communications via inhibitory effect on gene expression of receivers. The advent of single-cell RNA-sequencing (scRNA-seq) technologies has ushered in an era of elucidating EV-derived miRNA-mediated cell-cell communications at an unprecedented resolution. However, the lack of computational method to infer such communications from scRNA-seq data poses an outstanding challenge. Herein, we present miRTalk, a pioneering framework for discerning EV-derived miRNA-mediated cell-cell communications with a probabilistic model and a meticulously curated database, miRTalkDB, which catalogues EV-derived miRNA-target associations. Rigorous benchmarking against simulated and real-world datasets demonstrated the remarkable precision and robustness of miRTalk. Subsequently, we employed miRTalk to unravel the in-depth communicative mechanisms underlying three disease scenarios. In summary, miRTalk represents the first approach for inferring EV-derived miRNA-mediated cell-cell communications from scRNA-seq data, furnishing invaluable insights into the intercellular dynamics underpinning pathological processes.

Install

# install devtools and install
install.packages(pkgs = "devtools"")
devtools::install_github("multitalk/miRTalk")

OR

# download the repository as ZIP
devtools::install_local("/path/to/miRTalk-main.zip")

Usage

miRTalk method consists of three components, wherein the first is to infer the EV-derived miRNA across cells and the highly variable target genes, the second is to infer the cell-cell communication mediated by EV-derived miRNAs and their downstream targets. The third part is to visualize the miRNA-mediated cell-cell communication network and miRNA-target interaction network. Please refer to the tutorial vignette with demo data processing steps. Detailed functions see the document.

  • Inference of EV-derived miRNA and highly variable target genes

# sc_data: A data.frame or matrix or dgCMatrix containing raw counts of single-cell RNA-seq data
# sc_celltype: A character containing the cell type of the single-cell RNA-seq data

> obj <- create_miRTalk(sc_data, sc_celltype, species = "Human", if_normalize = TRUE)
> obj
An object of class miRTalk 
0 EV-derived miRNA-target interactions

> obj <- find_miRNA(object = obj, mir_info = mir_info)
> obj <- find_hvtg(object = obj)
  • Inference of cell-cell communication mediated by EV-derived miRNAs and their downstream targets

# object: miRTalk object after running find_miRNA() and find_hvtg()
# mir2tar: A data.frame containing the priori knowledge of miRNA-target interactions

> obj <- find_miRTalk(object = obj, mir2tar = mir2tar)
> obj
An object of class miRTalk 
2185 EV-derived miRNA-target interactions

> obj_cci <- get_miRTalk_cci(obj)
> str(obj_cci)
'data.frame':	2083 obs. of  9 variables:
 $ celltype_sender     : chr  "Bcell" "Bcell" "Bcell" "Bcell" ...
 $ celltype_receiver   : chr  "Bcell" "Bcell" "Bcell" "Bcell" ...
 $ miRNA               : chr  "hsa-miR-4426" "hsa-miR-29b-3p" "hsa-miR-29b-3p" "hsa-miR-29b-3p" ...
 $ miR_gene            : chr  "MIR4426" "MIR29B1" "MIR29B1" "MIR29B1" ...
 $ miRNA_activity      : num  0.429 0.481 0.481 0.481 0.481 ...
 $ target_gene         : chr  "PPIC" "CLDN1" "EREG" "TGFB3" ...
 $ target_gene_activity: num  5.81e-03 3.45e-04 1.03e-04 3.43e-04 4.85e-05 ...
 $ prob                : num  0.469 0.466 0.466 0.466 0.466 ...
 $ score               : num  0.426 0.48 0.481 0.48 0.481 ...
  • Visualization of miRNA-mediated cell-cell communication network

> plot_miRTalk_chord(object = obj)
> plot_miRTalk_circle(object = obj)
> plot_miRTalk_circle_simple(object = obj, celltype = "Tumor")
> plot_miRTalk_heatmap(object = obj)
> plot_miRTalk_sankey(object = obj)
> plot_miR_bubble(object = obj)
> plot_miR_heatmap(object = obj)
  • Visualization of miRNA-target interaction network

> plot_miR2tar_chord(object = obj, celltype_sender = "Tumor", celltype_receiver = "Stromal")
> plot_miR2tar_circle(object = obj, celltype_sender = "Tumor", celltype_receiver = "Stromal")
> plot_miR2tar_heatmap(object = obj, celltype_sender = "Tumor", celltype_receiver = "Stromal")

About

miRTalk was developed by Xin Shao. Should you have any questions, please contact Xin Shao at [email protected]

mirtalk's People

Contributors

multitalk avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

mirtalk's Issues

Questions about the number of microRNAs

To developers

miRTalk is an interesting work, but I have some doubts. What do you think of the fact that it is almost difficult to detect micro RNA in the 10X data. According to 10X genomic, almost no mature micro RNA can be detected in the data (Ref 1-2). As in the Demo data, only 60+ micro RNAs were detected in the end.

Ref 1-2:
https://kb.10xgenomics.com/hc/en-us/articles/360002004271-Is-it-possible-to-capture-microRNAs-in-the-Gene-Expression-assays-
https://kb.10xgenomics.com/hc/en-us/articles/217261666-What-types-of-RNA-can-be-detected-

with regards,
Xinyan Yang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.