scMLnet is an R package developed to construct inter-/intracellular multilayer singaling network based on single-cell RNA-seq expression data. scMLnet constructs the multilayer network by integrating intercellular pathways (ligand-receptor interactions) and intracellular subnetworks (receptor-TF pathways and TF-target gene interactions) based on cell-type specific gene expression, prior network information and statistical inference. scMLnet can also visualize the constructed inter-/intracellular signaling pathways between the central cell and neighboring cells. scMLnet is implemented using R (version 3.6.0) and Python (version 3.7).
The main steps of the scMLnet algorithm include:
The python package pymnet module should be installed for visualizing the multi-layer singal network, you can download the source files directly from bitbucket or github, unzip and install:
python setup.py install
and then copy the /pymnet/sampling folder to the installation path (%PYTHONHOME%/Lib/site-packages/pymnet-0.1-py3.7.egg/pymnet). Alternatively, you can simply copy the /pymnet/ folder to your python library path (%PYTHONHOME%/Lib/site-packages). NOTE: The following python packages should be installed first: networkx, matplotlib.
The following R packages should be installed for creating the multi-layer singal network, please install before the installation of scMLnet:
install scMLnet from github:
install.packages("devtools")
library(devtools)
devtools::install_github("YUZIXD/scMLnet")
library(scMLnet)
or install scMLnet module from the source code:
install.packages("path/to/download/scMLnet_0.1.0.tar.gz", repos = NULL, type = "source")
library(scMLnet)
Before using scMLnet, scRNA-seq data should be processed and clustered to identify cell types for dissecting cell type-specific gene expressions by employing existing methods or tools (e.g., Seurat). scMLnet requires the following information as input:
(1) scRNA-Seq expression matrix (a Sparse matrix, where rows represent genes, columns represent cells);
(2) clustering results containing two columns: cell’s barcode and cluster identities;
(3) two cluster identities of sending cells and receiving cells.
The output of scMLnet has two forms:
(1) tabular information of the constructed multilayer network, containing gene pairs connecting each upstream layer and downstream layer (i.e., Ligand_Receptor, Receptor_TF and TF_Gene subnetworks);
(2) visualization of the constructed multilayer network using the pymnet library.
The Working Directory requires the following files and directories:
File|Description ---|--- /example|Input directory including scRNA-Seq data and clustering results /database|Prior information about interactions between ligands, receptors, TFs and target genes /database/LigRec.txt|The Ligand-Receptor interactions including three colums: Ligand, Receptor and Key (links connecting ligands with receptors by underlined) /database/RecTF.txt|The Receptor-TF interactions including three colums: Receptor, TF and Key (links connecting receptors with TFs by underlined) /database/TFTargetGene.txt|The TF-Target gene interactions including three colums: TF, Target gene and Key (links connecting TFs with Target genes by underlined) /code/DrawNetNew.py|The python script for visualization /output|Output directory, tabular and graphic results of the multi-layer signaling network will be saved in this folder
A demonstration of using scMLnet to construct the multi-layer signaling network between B cells and Secretory cells from scRNA-Seq data of COVID-19 patients BALF can be found at following vignette. The expression matrix and annotation of clstuers can be found in the /example folder and the prior information about interactions in the /database folder.
Please cite the following paper when you use scMLnet:
Cheng J, Zhang J, Wu Z, Sun X*. Inferring microenvironmental regulation of gene expression from single-cell RNA sequencing data using scMLnet with an application to COVID-19. Briefings in Bioinformatics. 2020. Bbaa327.
The R code used for analysis in this paper is available at https://github.com/SunXQlab/paper-covid19
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.