Title: | Indentification of significantly activated ligand-receptor interactions across clusters of cells from single-cell RNA sequencing data |
---|---|
Description: | scTHI is an R package to identify active pairs of ligand-receptors from single cells in order to study,among others, tumor-host interactions. scTHI contains a set of signatures to classify cells from the tumor microenvironment. |
Authors: | Francesca Pia Caruso [aut], Michele Ceccarelli [aut, cre] |
Maintainer: | Michele Ceccarelli <[email protected]> |
License: | GPL-2 |
Version: | 1.19.0 |
Built: | 2024-12-18 04:10:08 UTC |
Source: | https://github.com/bioc/scTHI |
Indentification of significantly activated ligand-receptor interactions across clusters of cells from single-cell RNA sequencing data. Single-cell RNA sequencing is the reference technique to characterize the heterogeneity of tumor microenvironment. The composition of the various cell types making up the microenvironment can significantly affect the way in which the immune system activates cancer rejection mechanisms. Understanding the cross-talk signals between immune cells and cancer cells is a fundamental for the identification immuno-oncology therapeutic targets. scTHI is a novel method, single cell Tumor-Host Interaction tool (scTHI), to identify significantly activated ligand-receptor interactions across clusters of cells from single-cell RNA sequencing data. cTHI is based on the hypothesis that when patterns of interaction are active, they are also simultaneously and highly expressed in homogeneous cell populations. We also model the autocrine and paracrine signalling effects of L-R partners
Please have a look at the vignette for a in-depth introduction to the package.
Graphs the output of scTHI_runTsne, labeling cells by clusters.
scTHI_plotCluster(scTHIresult, cexPoint = 0.8, legendPos = c("topleft", "topright", "bottomright", "bottomleft"))
scTHI_plotCluster(scTHIresult, cexPoint = 0.8, legendPos = c("topleft", "topright", "bottomright", "bottomleft"))
scTHIresult |
scTHI object. |
cexPoint |
Set the point size. |
legendPos |
Character string to custom the legend position. |
None
library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8) result <- scTHI_runTsne(result) scTHI_plotCluster(result)
library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8) result <- scTHI_runTsne(result) scTHI_plotCluster(result)
Generates a plot on the t-SNE coordinates to show the expression levels of an interaction pair of interest. Each cell is colored according to the corresponding gene expression value.
scTHI_plotPairs(scTHIresult, cexPoint = 0.8, interactionToplot)
scTHI_plotPairs(scTHIresult, cexPoint = 0.8, interactionToplot)
scTHIresult |
scTHI object. |
cexPoint |
Set the point size. |
interactionToplot |
Interaction pair to plot. |
None
library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8) result <- scTHI_runTsne(result) scTHI_plotPairs(result,interactionToplot = "CXCL12_CD4")
library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8) result <- scTHI_runTsne(result) scTHI_plotPairs(result,interactionToplot = "CXCL12_CD4")
Creates barplots of scTHI_score results.
scTHI_plotResult(scTHIresult, cexNames = 0.8, plotType = c("score", "pair"), nRes = NULL)
scTHI_plotResult(scTHIresult, cexNames = 0.8, plotType = c("score", "pair"), nRes = NULL)
scTHIresult |
scTHI object. |
cexNames |
Size of names in barplot. |
plotType |
Type of plot to be generated. Default is "score", can be also "pair". The "score" option will generate a barplot for each resulted interaction pair, representing the calculated interaction score and the related p-Value.The "pair" option will generate two barplot for each resulted interaction pair, representing the percentage of cells of each cluster expressing partnerA and partnerB gene, respectively. |
nRes |
Number of pairs to plot (all if NULL). |
None
library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8) scTHI_plotResult(result, plotType = "score") scTHI_plotResult(result, plotType = "pair")
library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8) scTHI_plotResult(result, plotType = "score") scTHI_plotResult(result, plotType = "pair")
Runs t-SNE dimensionality reduction on selected features based on Rtsne package.
scTHI_runTsne(scTHIresult)
scTHI_runTsne(scTHIresult)
scTHIresult |
scTHI object. |
The same object as scTHI_score with a fifth item tsneData (data.frame)
library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8) result <- scTHI_runTsne(result)
library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8) result <- scTHI_runTsne(result)
This function allows the user to compute a score for a set of ligand-receptor pairs, from a single cell gene expression matrix, and detect specific Tumor-Host interactions. You must specify at least two clusters of cells (for example tumor cells and immune cells).
scTHI_score(expMat, cellCusterA, cellCusterB, cellCusterAName, cellCusterBName, topRank = 10, autocrineEffect = TRUE, fileNameBase = "scTHI", filterCutoff = 0.5, PValue = TRUE, pvalueCutoff = 0.05, nPermu = 1000, ncore = 8)
scTHI_score(expMat, cellCusterA, cellCusterB, cellCusterAName, cellCusterBName, topRank = 10, autocrineEffect = TRUE, fileNameBase = "scTHI", filterCutoff = 0.5, PValue = TRUE, pvalueCutoff = 0.05, nPermu = 1000, ncore = 8)
expMat |
ScRNA-seq gene expression matrix where rows are genes presented with Hugo Symbols and columns are cells. Gene expression values should be counts or normalized counts. |
cellCusterA |
Vector of columns of expMat that belong to the first cluster. |
cellCusterB |
Vector of columns of expMat that belong to the second cluster. |
cellCusterAName |
A character string labeling the clusterA. |
cellCusterBName |
A character string labeling the clusterB. |
topRank |
Filter threshold. Set to 10 (default) means that each gene of the interaction pair will be considered as expressed in a cell if it's in the top rank 10 percent. |
autocrineEffect |
if TRUE remove the paracrine filter |
fileNameBase |
Project name. |
filterCutoff |
Score threshold (default is 0.50). For each interaction pair, if the score calculated (for the partnerA or partnerB) will be less than filterCutoff the interaction pair will be discarded. |
PValue |
Logical, set to TRUE (default) compute statistical iterations. If p.value < 0.05, the value will be returned. |
pvalueCutoff |
cutoff of the p-value |
nPermu |
Number of iterations to perform (default is 1000). |
ncore |
Number of processors to use. |
A list of results, with four items: result (data.frame), expMat (matrix), clusterA (character), clusterA (character)
####################### example of scTHI_score library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8)
####################### example of scTHI_score library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8)
The function allows the user to classify non-tumor cells in tumor microenvironment. It implements the Mann-Whitney-Wilcoxon Gene Set Test (MWW-GST) algorithm and tests for each cell the enrichment of a collection of signatures of different cell types.
TME_classification(expMat, minLenGeneSet = 10, alternative = "two.sided", pvalFilter = FALSE, fdrFilter = TRUE, pvalCutoff = 0.01, nesCutoff = 0.58, nNES = 1)
TME_classification(expMat, minLenGeneSet = 10, alternative = "two.sided", pvalFilter = FALSE, fdrFilter = TRUE, pvalCutoff = 0.01, nesCutoff = 0.58, nNES = 1)
expMat |
Gene expression matrix where rows are genes presented with Hugo Symbols and columns are cells. Gene expression values should be normalized counts. |
minLenGeneSet |
Minimum gene set length |
alternative |
a character string specifying the alternative hypothesis of wilcoxon test, must be one of "two.sided" (default), "greater" or "less". |
pvalFilter |
Logical, if TRUE results will be filtered for p-Value. Defoult is FALSE. |
fdrFilter |
Logical, if TRUE results will be filtered for FDR. |
pvalCutoff |
Numeric p-Value (or FDR) threshold. Gene set with p-Value (or FDR) greater than pvalCutoff will be discarded (default is 0.01). |
nesCutoff |
Numeric threshold. Gene set with NES greater than nesCutoff will be discarded (default is 0.58) |
nNES |
Default is 0.58, so each cell is classified with a specific phenotype based on the first significant enriched gene set. |
A list with two items: Class (character) and ClassLegend (character)
library(scTHI.data) data(scExample) Class <- TME_classification(scExample)
library(scTHI.data) data(scExample) Class <- TME_classification(scExample)
Generates a plot on the t-SNE coordinates, labeling cells by TME classification.
TME_plot(tsneData, Class, cexPoint = 0.8)
TME_plot(tsneData, Class, cexPoint = 0.8)
tsneData |
X and y coordinates of points in the plot. |
Class |
Object returned by TME_classification function. |
cexPoint |
Set the point size. |
None
library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8) result <- scTHI_runTsne(result) Class <- TME_classification(scExample) TME_plot(tsneData = result$tsneData, Class)
library(scTHI.data) data(scExample) result <- scTHI_score(scExample, cellCusterA = colnames(scExample)[1:30], cellCusterB = colnames(scExample)[31:100], cellCusterAName = "ClusterA", cellCusterBName = "ClusterB", filterCutoff = 0, pvalueCutoff = 1, nPermu = 100, ncore = 8) result <- scTHI_runTsne(result) Class <- TME_classification(scExample) TME_plot(tsneData = result$tsneData, Class)