Skip to main content

CREsted: Cis-Regulatory Element Sequence Training, Explanation, and Design

Project description

CREsted: Cis Regulatory Element Sequence Training, Explanation, and Design

Tests Documentation Downloads

Introduction

CREsted (Cis-Regulatory Element Sequence Training, Explanation, and Design) is an easy-to-use deep learning package for training enhancer models on single-cell ATAC sequencing (scATAC-seq) data. CREsted provides comprehensive analyses and tutorials to study enhancer codes and the ability to design synthetic enhancer sequences at a cell type-specific, nucleotide-level resolution. Integrated into the scverse framework, CREsted is compatible with outcomes from established scATAC-seq processing tools. It employs novel scATAC-seq preprocessing techniques, such as peak height normalization across cell types, offers flexibility and variety in deep learning modeling architectures and tasks, and contains thorough analysis of the cell type-specific enhancer codes captured during modeling that can also be used for the design of synthetic sequences.

Getting started

Please refer to the documentation. In particular, the

Installation

You need to have Python 3.11 or newer installed on your system. Installation takes around five minutes.

Note: CREsted's preprocessing, data import, plotting, and analysis functions (e.g., crested.import_bigwigs(), crested.pp.*) work without a deep learning backend. You only need to install TensorFlow or PyTorch if you plan to train models or use the crested.tl module for predictions and model-related tasks.

CREsted is built on top of Keras 3 and can therefore be used with your deep learning backend of choice (TensorFlow or PyTorch).

We recommend using uv for package installation, which is significantly faster than pip and has better dependency resolution:

pip install uv

Basic Installation (preprocessing and data import only)

If you only need data preprocessing and import functionality:

uv pip install crested

Full Installation (with deep learning backend)

For training models and using the full feature set:

  1. Install either Tensorflow or Pytorch for GPU. Refer to the installation instructions on those pages to ensure you have the correct version of CUDA and cuDNN installed. If you don't have a preference and don't know which backend to choose, refer to choosing your backend. If you have all the latest drivers installed, this installation boils down to doing:
uv pip install tensorflow[and-cuda]
# or
uv pip install torch
  1. Install the latest release of crested from PyPI
uv pip install crested
  1. If you plan on doing motif analysis using tf-modisco (lite) inside CREsted, you will need to install with the motif extra:
uv pip install "crested[motif]"

Note: TOMTOM motif matching (via memelite) is only available for Python 3.12 and earlier due to numpy compatibility constraints. Python 3.13 users can still use all other modisco features.

Modiscolite may require a cmake installation on your system. If you don't have it, you can install it with:

uv pip install cmake

Release notes

See the changelog.

Contact

For questions and help requests, please use the issue tracker.

Citation

Kempynck, N., De Winter, S., et al. CREsted: modeling genomic and synthetic cell type-specific enhancers across tissues and species.

We also store CREsted version backups on Zenodo: https://doi.org/10.5281/zenodo.15045960

Choosing your backend

CREsted is build on top of keras 3.0 and can therefore be used with your deep learning backend of choice (Tensorflow or Pytorch). If you don't have a preference, you can take the following into account:

  1. From our (and Keras' official) benchmarking, Tensorflow is generally faster than pytorch for training (up to 2x) since Tensorflow operates in graph mode whereas Pytorch uses eager mode. If you plan on training many models, Tensorflow might be the better choice.
  2. Pytorch is easier to debug and get going. Tensorflow will easily throw a bunch of warnings or fail to detect CUDA if you don't have the exact right versions of CUDA and cuDNN installed. Pytorch seems more lenient in this regard. If you only plan on running predictions or training a few models, Pytorch might be the easier choice.
  3. Current Keras 3.0 is still in active development and some features (mainly multi GPU training and weights and biases logging) are currently only supported with the Tensorflow backend. If you plan on using these features, you should choose Tensorflow. We will implement these features in a backend agnostic way as soon as Keras 3.0 has done so (it is on their roadmap).

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

crested-1.6.1.tar.gz (16.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crested-1.6.1-py3-none-any.whl (178.0 kB view details)

Uploaded Python 3

File details

Details for the file crested-1.6.1.tar.gz.

File metadata

  • Download URL: crested-1.6.1.tar.gz
  • Upload date:
  • Size: 16.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for crested-1.6.1.tar.gz
Algorithm Hash digest
SHA256 21370af39abdc69c2d0f846aa18654bb15acbf69e7063e68064ff7e1f047c6d0
MD5 21a9e1daea66116da6277e4f1a205b63
BLAKE2b-256 41b1dfe0e0b6bec52834c5a539fac61eed796b14c985d52c21cf0a4f1ba593c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for crested-1.6.1.tar.gz:

Publisher: release.yaml on aertslab/CREsted

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file crested-1.6.1-py3-none-any.whl.

File metadata

  • Download URL: crested-1.6.1-py3-none-any.whl
  • Upload date:
  • Size: 178.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for crested-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 137f753968701164499d8c04b29f83dcd1d399f931f85a7d2dabf1c08c2ed7bf
MD5 e2c9756be31b4e1864fecd92bbbfc62a
BLAKE2b-256 0893a0a7a307b336e61d5f335aece5cbf545f93d9ea35b6cede5407c5480f1d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for crested-1.6.1-py3-none-any.whl:

Publisher: release.yaml on aertslab/CREsted

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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