The software package was implemented in R, following Bioconductor standards. Basic usage examples are provided in Supplementary Material and the package documentation. In principle, we encourage users to apply advanced data normalization, clustering and cell-type calling tools (12 (
link),34 (
link)), and to submit preprocessed count matrices to SingleCellSignalR to perform LR interaction inference and visualization. For convenience, we implemented simple data preparation steps enabling users to start from a raw read count matrix. We normalize individual cell transcriptomes according to their 99th read count percentile. In case a cell has its 99th percentile equal to zero, it is discarded. Normalized read counts (+1 to avoid zeros) are log-transformed. Clustering can be obtained either by chaining principal component analysis for dimension reduction and K-means (35 (
link)), or by using the advanced SIMLR model (36 (
link)). Cell-type calling is implemented based on a list of gene signatures following a format identical to PanglaoDB (37 ) exports such that users can easily add cell types from this rich source or provide their own. Our algorithm computes the average gene signature expression across all the cells and for all the signatures to obtain a signature cell matrix. This matrix is normalized and a threshold is iteratively adjusted to maximize the number of cells assigned to a single cell type. Full details and an example are in Supplementary Material.
It is possible to infer paracrine or autocrine only interactions, or both types (
Supplementary Figure S1); details in Supplementary Material. For annotation purposes, differentially expressed genes between each cluster and all the other clusters pooled, are successively searched with edgeR functions glmFit and glmRT (38 (
link)). LR interactions with both the ligand and the receptor significantly enriched in their respective cell types are labeled ‘specific’ (
Supplementary Figure S1).
In order to relate receptors to intracellular signaling, we make use of Reactome and KEGG (39 (
link)) interactions downloaded from Pathway Commons. Interactions are assigned to several types that we simplified to facilitate the display of networks afterward. Interaction types ‘interacts-with’ and ‘in-complex-with’ were assigned to the simplified type ‘complex.’ The interaction types ‘chemical-affects,’ ‘consumption-controlled-by,’ ‘controls-expression-of,’ ‘controls-phosphorylation-of,’ ‘controls-production-of,’ ‘controls-state-change-of,’ ‘controls-transport-of’ and ‘controls-transport-of-chemical’ were simplified as ‘control.’ The interaction types ‘catalysis-precedes,’ ‘reacts-with’ and ‘used-to-produce’ were simplified as ‘reaction.’ The simplified type ‘control’ was considered directional whereas ‘complex,’ and ‘reaction’ were considered undirected.