Skip to main content

Python implementation of the SCENIC pipeline for transcription factor inference from single-cell transcriptomics experiments.

Project description

buildstatus pypipackage docstatus

pySCENIC is a lightning-fast python implementation of the SCENIC pipeline (Single-Cell rEgulatory Network Inference and Clustering) which enables biologists to infer transcription factors, gene regulatory networks and cell types from single-cell RNA-seq data.

The pioneering work was done in R and results were published in Nature Methods [1]. A new and comprehensive description of this Python implementation of the SCENIC pipeline is available in Nature Protocols [5] (see here).

pySCENIC can be run on a single desktop machine but easily scales to multi-core clusters to analyze thousands of cells in no time. The latter is achieved via the dask framework for distributed computing [2].

Full documentation is available on Read the Docs

News and releases

0.10.4 | 2020-11-24

  • Included new CLI option to add correlation information to the GRN adjacencies file. This can be called with pyscenic add_cor.

0.10.3 | 2020-07-15

  • Integrate arboreto multiprocessing script into pySCENIC CLI

  • Skip modules with zero db overlap in cisTarget step

  • Additional error message if regulons file is empty

  • Additional error if there is a mismatch between the genes present in the GRN and the expression matrix

  • Fixed bug in motif url construciton when running without pruning

0.10.2 | 2020-06-05

  • Bugfix for CLI grn step

0.10.1 | 2020-05-17

  • CLI: file compression (optionally) enabled for intermediate files for the major steps: grn (adjacencies matrix), ctx (regulons), and aucell (auc matrix). Compression is used when the file name argument has a .gz ending.

See also the extended Release Notes.

Overview

The pipeline has three steps:

  1. First transcription factors (TFs) and their target genes, together defining a regulon, are derived using gene inference methods which solely rely on correlations between expression of genes across cells. The arboreto package is used for this step.

  2. These regulons are refined by pruning targets that do not have an enrichment for a corresponding motif of the TF effectively separating direct from indirect targets based on the presence of cis-regulatory footprints.

  3. Finally, the original cells are differentiated and clustered on the activity of these discovered regulons.

The most impactful speed improvement is introduced by the arboreto package in step 1. This package provides an alternative to GENIE3 [3] called GRNBoost2. This package can be controlled from within pySCENIC.

All the functionality of the original R implementation is available and in addition:

  1. You can leverage multi-core and multi-node clusters using dask and its distributed scheduler.

  2. We implemented a version of the recovery of input genes that takes into account weights associated with these genes.

  3. Regulons, i.e. the regulatory network that connects a TF with its target genes, with targets that are repressed are now also derived and used for cell enrichment analysis.

Additional resources

For more information, please visit LCB, or SCENIC (R version). The CLI to pySCENIC has also been streamlined into a pipeline that can be run with a single command, using the Nextflow workflow manager. There are two Nextflow implementations available:

  • SCENICprotocol: A Nextflow DSL1 implementation of pySCENIC alongside a basic “best practices” expression analysis. Includes details on pySCENIC installation, usage, and downstream analysis, along with detailed tutorials.

  • VSNPipelines: A Nextflow DSL2 implementation of pySCENIC with a comprehensive and customizable pipeline for expression analysis. Includes additional pySCENIC features (multi-runs, integrated motif- and track-based regulon pruning, loom file generation).

Acknowledgments

We are grateful to all providers of TF-annotated position weight matrices, in particular Martha Bulyk (UNIPROBE), Wyeth Wasserman and Albin Sandelin (JASPAR), BioBase (TRANSFAC), Scot Wolfe and Michael Brodsky (FlyFactorSurvey) and Timothy Hughes (cisBP).

References

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

pyscenic-0.10.4.tar.gz (7.0 MB view details)

Uploaded Source

Built Distribution

pyscenic-0.10.4-py3-none-any.whl (7.1 MB view details)

Uploaded Python 3

File details

Details for the file pyscenic-0.10.4.tar.gz.

File metadata

  • Download URL: pyscenic-0.10.4.tar.gz
  • Upload date:
  • Size: 7.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for pyscenic-0.10.4.tar.gz
Algorithm Hash digest
SHA256 6376b1f8b5ce76425ffa854b3e58d39dc20547f787e5a555f939891c6fd9aa4c
MD5 fbefa9ed0c9496bed23e38e0c7b7ce55
BLAKE2b-256 b72b37506ed66dd27cb5a131baff0bf6c7238cffd413b686ec5a95b9ebbf30eb

See more details on using hashes here.

File details

Details for the file pyscenic-0.10.4-py3-none-any.whl.

File metadata

  • Download URL: pyscenic-0.10.4-py3-none-any.whl
  • Upload date:
  • Size: 7.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for pyscenic-0.10.4-py3-none-any.whl
Algorithm Hash digest
SHA256 008608fe225f516f8daf80106fdba4a72b716778da861a68ebf1d46186c5be3f
MD5 307ba85c4d04a705c9bb9ffff182c21a
BLAKE2b-256 04ef2db327a0e57406591c0caa4f1a7a718b5f7d228ec30e8d9c215f2898923f

See more details on using hashes here.

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