About LIANA+#

LIANA+ scores cell-cell interactions in single-cell, spatially-resolved and multi-modal data. The methods it covers were published as separate tools that take different inputs and return different outputs; LIANA+ reimplements them behind one interface [DSF+24], on AnnData [VRT+24] and MuData [BKS22]. If you use it in your work, see Citation.

Design#

One interface, many methods#

The methods often disagree, and which one is appropriate depends on the data and the question [DTGR+22]. LIANA+ reimplements the scoring functions of CellPhoneDB, CellChat, Connectome, NATMI, SingleCellSignalR and scSeqComm, along with a log-fold-change score and a geometric mean, so that they take the same input, use the same permutation scheme and return the same table. That makes the scores comparable, and li.mt.rank_aggregate combines them into a rank consensus.

Methods and prior knowledge are separate#

Methods score an interchangeable resource. li.rs.select_resource returns the curated consensus resource or any of the ligand-receptor databases behind it, li.rs.translate_resource moves a resource across organisms, and li.rs.get_metalinks replaces the ligands with metabolites. A new resource therefore works with every method, and a new method with every resource.

More than one dissociated dataset#

The same scoring machinery covers three further settings. In spatially-resolved data, interactions can be restricted to spatial neighborhoods, scored per spot or cell with the bivariate metrics, or modelled as spatial relationships with li.mt.MistyData [TFG+22] and li.mt.lric. In multi-modal data, the ligand and the receptor can come from different modalities, such as transcriptome and surface protein, or transcriptome and MALDI-MSI metabolite. Across samples or conditions, interaction scores can be reshaped into views and factorized with MOFA [AAB+20] or tensor-cell2cell [ABM+22], which summarises a collection of samples as a few communication programs.

Downstream of the receptor#

A ligand-receptor hit on its own says little about the mechanism behind it. li.mt.find_causalnet links the receptors to the transcription factors that respond to them, by solving for the intracellular signaling network that best explains the measured activities.

Ecosystem#

LIANA+ is built on anndata [VRT+24] and mudata [BKS22], and is used together with scanpy [WAT18], squidpy [PSK+22], decoupler [BiMVSB+22], omnipath [TVG+21], MOFA [AAB+20], tensor-cell2cell [ABM+22] and corneto. The Saez-Rodriguez group develops it, and it is part of the scverse ecosystem [VBH+23].

Why LIANA+?#

LIANA started in R as a LIgand-receptor ANalysis frAmework that benchmarked and combined the methods and resources that existed at the time. The + is the Python framework that grew out of it, with the same method-agnostic core extended to spatial, multi-modal, multi-sample and intracellular analyses. A liana is also a climbing vine, which is what the logo shows.