Skip to content

Commit

Permalink
update references
Browse files Browse the repository at this point in the history
  • Loading branch information
dbdimitrov committed Sep 2, 2024
1 parent 26f4172 commit 3be9589
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 12 deletions.
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
[![Downloads](https://static.pepy.tech/badge/liana)](https://pepy.tech/project/liana)
<!-- badges: end -->

LIANA+ is a scalable framework that integrates and extends existing methods and knowledge to study cell-cell communication in single-cell, spatially-resolved, and multi-modal omics data. It is part of the [scverse ecosystem](https://github.com/scverse), and relies on [AnnData](https://github.com/scverse/anndata) & [MuData](https://github.com/scverse/mudata) objects as input.
LIANA+ is a scalable framework that adapts and extends existing methods and knowledge to study cell-cell communication in single-cell, spatially-resolved, and multi-modal omics data. It is part of the [scverse ecosystem](https://github.com/scverse), and relies on [AnnData](https://github.com/scverse/anndata) & [MuData](https://github.com/scverse/mudata) objects as input.

<img src="https://raw.githubusercontent.com/saezlab/liana-py/main/docs/source/_static/abstract.png" width="700" align="center">

Expand All @@ -20,7 +20,7 @@ We welcome suggestions, ideas, and contributions! Please do not hesitate to cont
A set of extensive vignettes can be found in the [LIANA+ documentation](https://liana-py.readthedocs.io/en/latest/).

## Decision Tree
### Q: Does the data contain spatial coordinates?
### Does the data contain spatial coordinates?
#### Yes
- **Q: Bivariate or unsupervised, multi-variate, and multi-view analysis?**
- **Bivariate:**
Expand All @@ -41,6 +41,9 @@ A set of extensive vignettes can be found in the [LIANA+ documentation](https://
- **Spatial:** [Integrating Multi-Modal Spatially-Resolved Technologies](https://liana-py.readthedocs.io/en/latest/notebooks/sma.html)
- **Non-Spatial:** [Integrating Multi-Modal Single-Cell Technologies](https://liana-py.readthedocs.io/en/latest/notebooks/sc_multi.html)

#### Infer Metabolite-mediated CCC from transcriptomics?
[Non-spatial Data](https://liana-py.readthedocs.io/en/latest/notebooks/sc_multi.html#Metabolite-mediated-CCC-from-Transcriptomics-Data)

## API
For further information please check LIANA's [API documentation](https://liana-py.readthedocs.io/en/latest/api.html).

Expand All @@ -50,4 +53,4 @@ Dimitrov D., Schäfer P.S.L, Farr E., Rodriguez Mier P., Lobentanzer S., Badia-i

Dimitrov, D., Türei, D., Garrido-Rodriguez M., Burmedi P.L., Nagai, J.S., Boys, C., Flores, R.O.R., Kim, H., Szalai, B., Costa, I.G., Valdeolivas, A., Dugourd, A. and Saez-Rodriguez, J. Comparison of methods and resources for cell-cell communication inference from single-cell RNA-Seq data. Nat Commun 13, 3224 (2022). https://doi.org/10.1038/s41467-022-30755-0

Similarly, please consider citing any of the methods and/or resources implemented in liana, that were particularly relevant for your research!
Please also consider citing any of the methods and/or resources that were particularly relevant for your research!
14 changes: 7 additions & 7 deletions docs/source/notebooks/basic_usage.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -1634,14 +1634,14 @@
"source": [
"| Method | Magnitude | Specificity |\n",
"|--------------------------------|------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|\n",
"| CellPhoneDBv2 | $$LRmean_{k,ij} = \\frac{L_{C_{i}} + R_{C_{j}}}{2}$$ | See ρ |\n",
"| [CellPhoneDBv2](https://www.nature.com/articles/s41596-020-0292-x) | $$LRmean_{k,ij} = \\frac{L_{C_{i}} + R_{C_{j}}}{2}$$ | See ρ |\n",
"| Geometric Mean | $$LRgeometric.mean_{k,ij} = \\sqrt{L_{C_{i}} \\cdot R_{C_{j}}}$$ | See ρ |\n",
"| CellChat LR probabilities † | $$LRprob_{k,ij} = \\frac{L^*_{C_{i}} \\cdot R^*_{C_{j}}}{Kh + L^*_{C_{i}} \\cdot R^*_{C_{j}}}$$ where Kh is a normalizing parameter (set to 0.5 by default) and L* & R* are aggregated using Tuckey's Trimean function (See below). | See ρ |\n",
"| SingleCellSignalR | $$LRscore_{k,ij} = \\frac{\\sqrt{L_{C_{i}} R_{C_{j}}}}{\\sqrt{L_{C_{i}} R_{C_{j}}} + \\mu}$$ where $\\mu$ is the mean of the expression matrix M | - |\n",
"| NATMI | $$LRproduct_{k,ij} = L_{C_{i}} R_{C_{j}}$$ | $$SpecificityWeight_{k,ij} = \\frac{L_{C_{i}}}{\\sum^{n} L_{C_{i}}} \\cdot \\frac{R_{C_{j}}}{\\sum^{n} R_{C_{j}}}$$ |\n",
"| Connectome | $$LRproduct_{k,ij} = L_{C_{i}} R_{C_{j}}$$ | $$LRz.mean_{k,ij} = \\frac{z_{L_{C_{i}}} + z_{R_{C_{j}}}}{2}$$ where z is the z-score of the expression matrix M| |\n",
"| [CellChat's](https://www.nature.com/articles/s41467-021-21246-9) LR probabilities † | $$LRprob_{k,ij} = \\frac{L^*_{C_{i}} \\cdot R^*_{C_{j}}}{Kh + L^*_{C_{i}} \\cdot R^*_{C_{j}}}$$ where Kh is a normalizing parameter (set to 0.5 by default) and L* & R* are aggregated using Tuckey's Trimean function (See below). | See ρ |\n",
"| [SingleCellSignalR](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7261168/) | $$LRscore_{k,ij} = \\frac{\\sqrt{L_{C_{i}} R_{C_{j}}}}{\\sqrt{L_{C_{i}} R_{C_{j}}} + \\mu}$$ where $\\mu$ is the mean of the expression matrix M | - |\n",
"| [NATMI](https://www.nature.com/articles/s41467-020-18873-z) | $$LRproduct_{k,ij} = L_{C_{i}} R_{C_{j}}$$ | $$SpecificityWeight_{k,ij} = \\frac{L_{C_{i}}}{\\sum^{n} L_{C_{i}}} \\cdot \\frac{R_{C_{j}}}{\\sum^{n} R_{C_{j}}}$$ |\n",
"| [Connectome](https://www.nature.com/articles/s41598-022-07959-x) | $$LRproduct_{k,ij} = L_{C_{i}} R_{C_{j}}$$ | $$LRz.mean_{k,ij} = \\frac{z_{L_{C_{i}}} + z_{R_{C_{j}}}}{2}$$ where z is the z-score of the expression matrix M| |\n",
"| LogFC‡ | - | $$LRlog2FC_{k,ij} = \\frac{\\text{Log2FC}_{C_i,L} + \\text{Log2FC}_{C_j,R}}{2}$$ |\n",
"| ScSeqComm (intercellular scores only) | $$LRinterscore_{k,ij} = \\text{min}(P(L_{Ci}), P(R_{Cj}))$$ $$P(X) = \\Phi\\left(\\frac{X - \\mu}{\\sigma / \\sqrt{n}}\\right)$$ Where $\\Phi$ is the CDF of a normal distribution, μ is the mean, σ is the standard deviation, and n is the number of observations | - |\n",
"| [ScSeqComm](https://academic.oup.com/bioinformatics/article/38/7/1920/6511439) (intercellular scores only) | $$LRinterscore_{k,ij} = \\text{min}(P(L_{Ci}), P(R_{Cj}))$$ $$P(X) = \\Phi\\left(\\frac{X - \\mu}{\\sigma / \\sqrt{n}}\\right)$$ Where $\\Phi$ is the CDF of a normal distribution, μ is the mean, σ is the standard deviation, and n is the number of observations | - |\n",
"| LIANA’s Consensus# | Used flexibly to combine the Magnitude scores of the methods above. By default, uses all except the Geometric mean and CellChat, independently for magnitude and specificity scores. | Same as Magnitude Rank Aggregate but aggregates the specificity scores of different methods. |\n",
"\n",
"**Shared Notation:**\n",
Expand Down Expand Up @@ -1670,7 +1670,7 @@
"\n",
"where m is the number of ranked score vectors, n is the length of each score vector (number of interactions), rankij is the rank of the j-th element (interaction) in the i-th score rank vector, and max(ranki) is the maximum rank in the i-th rank vector.\n",
"\n",
"For each normalised rank vector r, we then ask how probable it is to obtain rnull(k)<= r(k), where rnull(k) is a rank vector generated under the null hypothesis. The RobustRankAggregate method 9 expresses the probability rnull(k)<= r(k) as k,n(r) through a beta distribution. This entails that we obtain probabilities for each score vector r as:\n",
"For each normalised rank vector r, we then ask how probable it is to obtain rnull(k)<= r(k), where rnull(k) is a rank vector generated under the null hypothesis. The [RobustRankAggregate](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3278763/) method expresses the probability rnull(k)<= r(k) as k,n(r) through a beta distribution. This entails that we obtain probabilities for each score vector r as:\n",
"\n",
"$$p(r) = \\underset{1, ..., n}{min} \\beta_k,_n(r) * n$$\n",
"\n",
Expand Down
2 changes: 1 addition & 1 deletion docs/source/notebooks/prior_knowledge.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"LIANA+ typically relies heavily on prior knowledge to infer intercellular communication and the intracellular signaling pathways that are activated in response to communication. This notebook provides a brief overview of the prior knowledge typically used by LIANA+. "
"LIANA+ (typically) relies heavily on prior knowledge to infer intercellular communication and the intracellular signaling pathways that are activated in response to communication. This notebook provides a brief overview of the prior knowledge typically used by LIANA+. "
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion docs/source/notebooks/sc_multi.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -516,7 +516,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Recently, tools such as NeuronChat, scConnect, Cellinker, and CellPhoneDBv5 have proposed simple methods, such as enrichment, expression average, among others, to infer metabolite-mediated CCC events from transcriptomics data. Similarly, we can use LIANA+ to infer metabolite-mediated CCC events from transcriptomics data, as [described in the MetalinksDB manuscript](https://www.biorxiv.org/content/10.1101/2023.12.30.573715v1.abstract).\n",
"Recently, tools such as [NeuronChat](https://www.nature.com/articles/s41467-023-36800-w), [MEBOCOST](https://www.biorxiv.org/content/10.1101/2022.05.30.494067v2.abstract), [scConnect](https://academic.oup.com/bioinformatics/article/37/20/3501/6273571), [Cellinker](https://academic.oup.com/bioinformatics/article/37/14/2025/6104823), and [CellPhoneDBv5](https://arxiv.org/abs/2311.04567) have proposed approaches, such as enrichment, expression average, among others, to infer metabolite-mediated CCC events from transcriptomics data. Similarly, we can use LIANA+ to infer metabolite-mediated CCC events from transcriptomics data, as [described in the MetalinksDB manuscript](https://academic.oup.com/bib/article/25/4/bbae347/7717953).\n",
"\n",
"Briefly, we use a univariate linear regression model to estimate metabolite abundances for each cell. To do so, we make use of production-degradation enzyme prior knowledge to infer the metabolite abundances. Optionally, we also take transporters into account. We then use these inferred metabolite abundances to infer metabolite-mediated CCC events.\n",
"\n",
Expand Down
3 changes: 3 additions & 0 deletions docs/source/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ Changelog
=============

1.4.0 (02.09.2024)
-------------------------------------------------

- Now published at Nat Cell Bio.

Expand All @@ -13,6 +14,7 @@ This might result in minor differences of how many interactions are considered p
- Changed ``max_neighbours`` in ``li.ut.spatial_neighbors`` to be a fixed number (default=100), rather than a fraction of the spots as this was making RAM explode for large spatial formats.

1.3.0 (12.07.2024)
-------------------------------------------------

- Minor improvements to documentation, specifically changed to the furo theme. Resolved issues with latex not being rendered and plot sizes being off.

Expand Down Expand Up @@ -183,6 +185,7 @@ Essentially, it diminishes the effect of spatial proximity on the score, while s
- Bumped CORNETO version and it's now installed via PyPI.

1.0.0a2 (19.09.2023)
-------------------------------------------------

- Interactions names in ``tileplot`` and ``dotplot`` will now be sorted according to ``orderby`` when used; related to #55

Expand Down

0 comments on commit 3be9589

Please sign in to comment.