--- title: "`SingleCellSignalR` :
Inference of ligand-receptor interactions from single-cell data" author: - name: Jacques Colinge affiliation: - Institut de Recherche en Cancérologie de Montpellier, Inserm, Montpellier, France email: jacques.colinge@inserm.fr - name: Jean-Philippe Villemin affiliation: - Institut de Recherche en Cancérologie de Montpellier, Inserm, Montpellier, France email: jean-philippe.villemin@inserm.fr date: "`r format(Sys.Date(), '%m/%d/%Y')`" abstract: >

`SingleCellSignalR` is used to infer ligand-receptor (L-R) interactions from single-cell transcriptomics or proteomics data. Potential L-R interactions are taken from the LR*db* database, which is accessed through our `BulkSignalR` library. By default, inferences rely on a statistical model linking potential L-R interactions with biological pathways from Reactome or biological processes from GO. This model is provided by `BulkSignalR`, which we used as a basic layer to implement `SingleCellSignalR` Version 2. Alternatively, the purely expression-based score in Version 1 of `SingleCellSignalR`, the so-called LR-score, remains available.

output: rmarkdown::html_vignette: self_contained: true toc: true toc_depth: 4 highlight: pygments fig_height: 3 fig_width: 3 fig_caption: no code_folding: show vignette: > %\VignetteIndexEntry{SingleCellSignalR-Main} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::knit_hooks$set(optipng = knitr::hook_optipng) options(rmarkdown.html_vignette.check_title = FALSE) ``` ```{r load-libs, message = FALSE, warning = FALSE, results = FALSE} library(BulkSignalR) library(SingleCellSignalR) ``` SingleCellSignalR package version: `r packageVersion("SingleCellSignalR")`   ## What is it for? `SingleCellSignalR` is a tool that enables the inference of L-R interactions from single-cell data. See also `BulkSignalR` vignette for a more complete description of all functionalities.   ## Main worfklow The following code snippet give an example of the main commands to use in order to process your dataset with `SingleCellSignalR` package. ```{r code1 , eval=TRUE,cache=FALSE} data(example_dataset,package='SingleCellSignalR') mat <- log1p(data.matrix(example_dataset[,-1]))/log(2) rownames(mat) <- example_dataset[[1]] rme <- rowMeans(mat) mmat <- mat[rme>0.05,] d <- dist(t(mmat)) h <- hclust(d, method="ward.D") clusters <- paste0("pop_", cutree(h, 5)) # SCSRNoNet -> LRscore based approach scsrnn <- SCSRNoNet(mat,normalize=FALSE,method="log-only", min.count=1,prop=0.001, log.transformed=TRUE,populations=clusters) scsrnn <- performInferences(scsrnn,verbose=TRUE, min.logFC=1e-10,max.pval=1,min.LR.score=0.5) # SCSRNet -> DifferentialMode based approach scsrcn <- SCSRNet(mat,normalize=FALSE,method="log-only", min.count=1,prop=0.001, log.transformed=TRUE,populations=clusters) if(FALSE){ scsrcn <- performInferences(scsrcn, selected.populations = c("pop_1","pop_2","pop_3"), verbose=TRUE,rank.p=0.8, min.logFC=log2(1.01),max.pval=0.05) print("getAutocrines") inter1 <- getAutocrines(scsrcn, "pop_1") head(inter1) print("getParacrines") inter2 <- getParacrines(scsrcn, "pop_1","pop_2") head(inter2) # Visualisation cellNetBubblePlot(scsrcn) } ```   ## Acknowledgements We thank Morgan Maillard for his help with the LRdb database and Pierre Giroux for the work with proteomics.   Thank you for reading this guide and for using `SingleCellSignalR`.   ## Session Information ```{r session-info} sessionInfo() ```