Skip to main content

A generative model for human gene expression from bulk RNA-seq data.

Project description


Documentation Status

bulkdgd is a Python package providing an interface to use the Deep Generative Decoder (DGD) to model the gene expression of healthy human tissues from bulk RNA-Seq data.

The first version of the DGD was developed in 2023 (Schuster and Krogh, 2023) and the first application of the model to bulk RNA-Seq data is presented in the work of Prada-Luengo, Schuster, Liang, and coworkers (Prada-Luego, Schuster, Liang, et al., 2023).

bulkdgd is a Python package, but it can be used directly from R without writing any Python code. For how to perform differential expression analysis using bulkdgd in R, see the R tutorial.

All the recount3 samples used to train and test the model were processed from raw files through the Monorail pipeline. If you have your own raw files, we recommend processing them through the same pipeline before using them with bulkdgd.

Quick install

pip install bulkdgd

The trained decoder's parameters (dec.pth, too large to distribute on PyPI) are downloaded automatically the first time you use the pre-trained model - see the installation instructions for details, including a manual-download fallback for offline machines.

Version 2.0.1

  • The default pre-trained model has been updated (both the Gaussian mixture and the decoder's parameters), fixing a mismatch between the packaged model configuration and the previously-shipped decoder.
  • The trained decoder's parameters (dec.pth) are no longer distributed with the package or manually downloaded - bulkdgd now downloads them automatically, once, the first time the pre-trained model is used.

Version 2.0.0 - major release

This is a major release superseding all previous versions of the package (previously named bulkDGD). Existing users should switch to it. The biggest changes compared to the previous version:

  • The package has been renamed from bulkDGD to bulkdgd (the import name and CLI commands are unaffected, since they already used the lowercase form).

  • The pre-trained model shipped by default has been retrained on GTEx data using a new Gaussian mixture model implementation (tgmm) and a curated, smaller gene list, replacing the previous default model.

  • Several CLI commands (bulkdgd_train, bulkdgd_find_probdens, bulkdgd_find_representations) had a leftover bug from an earlier refactor that made them fail immediately on invocation - this has been fixed.

  • All tutorials have been converted from standalone Python scripts into executed Jupyter notebooks, and a new tutorial covers downloading and preparing samples from Recount3.

  • The documentation has been substantially overhauled: broken API cross-references, outdated installation instructions, and missing CLI usage examples have all been fixed, and the docs now build cleanly with no warnings.

  • Documentation: bulkdgd's documentation can be found here.

  • Bug reports: please report any bugs or problems you encounter with bulkdgd in the dedicated issues section on GitHub.

License

bulkdgd is freely available under the terms of the GNU General Public License (Version 3, 29 June 2007).

References

(Schuster and Krogh, 2023) Schuster, Viktoria, and Anders Krogh. "The Deep Generative Decoder: MAP estimation of representations improves modelling of single-cell RNA data." Bioinformatics 39.9 (2023): btad497.

(Prada-Luengo, Schuster, Liang, et al., 2023) Prada-Luengo, Iñigo, et al. "N-of-one differential gene expression without control samples using a deep generative model." Genome Biology 24.1 (2023): 263.

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

bulkdgd-2.0.1.tar.gz (269.6 kB view details)

Uploaded Source

Built Distribution

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

bulkdgd-2.0.1-py3-none-any.whl (323.0 kB view details)

Uploaded Python 3

File details

Details for the file bulkdgd-2.0.1.tar.gz.

File metadata

  • Download URL: bulkdgd-2.0.1.tar.gz
  • Upload date:
  • Size: 269.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bulkdgd-2.0.1.tar.gz
Algorithm Hash digest
SHA256 61897b0d67bf0d658b2beb13d7daed2841fb6cef8bc4f586ee2858614859004b
MD5 5e1761d9dd5367fe2f0e1dde8d71d4a6
BLAKE2b-256 088ca191fb51fd10d777d032cc5386e4a181e7bb5f95e33cf573f05ef47d0d6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for bulkdgd-2.0.1.tar.gz:

Publisher: publish-pypi.yml on Center-for-Health-Data-Science/bulkdgd

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

File details

Details for the file bulkdgd-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: bulkdgd-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 323.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bulkdgd-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e0822cb0a01abb559c26b96d1ced393245de38f0ae65c79d5c53c0a3c86e110a
MD5 2197d55ba76d45cc48c6c0fd365f6b2a
BLAKE2b-256 855ad254b8f279d702718bc3175af9a9a9a2d2a54930aef5f16a7b26951b0322

See more details on using hashes here.

Provenance

The following attestation bundles were made for bulkdgd-2.0.1-py3-none-any.whl:

Publisher: publish-pypi.yml on Center-for-Health-Data-Science/bulkdgd

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