Skip to main content

scConnect integrate gene expression profiles in scRNA-seq datasets with ligand and receptor interaction information from Guide to pharmacology to construct a graph containing all putative interaction between cell types in the dataset.

Project description

Documentation Status https://travis-ci.com/JonETJakobsson/scConnect.svg?branch=master https://badge.fury.io/py/scConnect.svg scConnect/assets/logo.png

scConnect: Like Tinder but for single cells

What can I do with scConnect? You can investigate expression of ligands and receptors among the cell types in your scRNA-seq dataset. You can detect putative interactions between cell types which can be good starting points for further investigations in vivo. You can detect specific interaction between cell types, which can be good drug targets as the effect would be limited to those cell types.

How does it work? scConnect estimate expression of ligands and receptors for cell types in scRNA-seq datasets. scConnect also estimate expression of molecular ligands that are synthezised by many enzymes, hence integrating gene expression related to synthesis, transport, reuptake etc. Using interaction information from Guide to pharmacology putative cell-cell interactions can be identified. Using random permutation of cell type lables, scConnect estimate the specificity of each ligand and receptor for each cell type, and use this information to estimate the specificity of each interaction. All interactions are stored in a multi-directional graph structure and scConnect provide multitude of tools to analyse this data, including an interactive web application and several plotting functions. scConnect integrate well with Scanpy and can be appended to any scanpy analysis pipeline.

Usecases:

  • Identify putative cell-cell communication in a tissue

  • Infer neuronal networks based on ligand receptor compatability

  • Study connectivity changes following treatment

Documentation and tutorial

For a short introduction to how scConnect can be used please check out this tutorial and for information about the API please consult the documentation.

The quickest and easiest way to try out the tutorial is to run through this binder:

https://mybinder.org/badge_logo.svg

Installation

To install the latest stable version install using PYPI

pip install scConnect

This will install all dependencies needed to run the tutorial, and utilize all features of scConnect.

To install the master branch, please clone this repository and install using

cd scConnect/
pip install .

or

pip install git+https://github.com/JonETJakobsson/scConnect

Change log:

1.0.3

Major changes:

  • Added a method that calulates z-scores and p-values for each ligand and receptor score (connect.specificity()):
    • Utilize permutation to assess the random distribution of ligand and receptor score for each cell type.

    • Calculates a Z-score for each ligand and receptor score given this random distribution.

    • Calculates emperical p-values from the permutated random distribution.

    • Calculates multiple test corrected p-values using Benjamini/Hochberg (false discovery rate) correction.

    • Estimate interaction specificity by wieghting both ligand and receptor p-values .

  • Updates to the web app:
    • Summmize and filter edges based on specificity in the network graph.

    • Added possibility to download current network graph view as a svg file.

    • Filter based on specificity in sankey graph.

    • Added a scatter plot for interaction of selected edge, where x axis is log(interaction score), y axis is specificity and color is interaction importance.

    • Selection of interactions in the graph also filters the interaction table.

    • Added a scatter plot for ligands and receptors where the x axis is log(score) and y axis -log(p-value)

    • Selected ligands or receptors filters the table under the graph.

  • retrieving data from graph:
    • Retrieve interaction data using graph.edge_list() and plot a dotplot using graph.dotplot()

    • Retrieve information about ligands and receptors using graph.get_ligand_df() and graph.get_receptor_df()

  • Save progress
    • Save calculated specificity using connect.save_specificity() and connect.load_specificity().

Minor Changes:

  • Updated GTP database to 2020-5 from 2019-5.

1.0.2

  • Fixed documentation issues (added .readthedocs.yml)

  • removed requirement.txt, build is constructed entirely from setup.py

1.0.1

Bugfixes:

  • Fixed a bug in connect.py which cased a crash when connecting ligands and receptors.

1.0.0

Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scConnect-1.0.3.tar.gz (15.6 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page