A Python-based compendium of GPU-optimized aging clocks.
Project description
🐍 pyaging: a Python-based compendium of GPU-optimized aging clocks
pyaging
is a cutting-edge Python package designed for the longevity research community, offering a comprehensive suite of GPU-optimized biological aging clocks.
Installation - Search, cite, and get metadata - Bulk DNA methylation - Bulk histone mark ChIP-Seq - Bulk ATAC-Seq - Bulk RNA-Seq - API Reference
With a growing number of aging clocks, comparing and analyzing them can be challenging. pyaging
simplifies this process, allowing researchers to input various molecular layers (DNA methylation, histone ChIP-Seq, ATAC-seq, transcriptomics, etc.) and quickly analyze them using multiple aging clocks, thanks to its GPU-backed infrastructure. This makes it an ideal tool for large datasets and multi-layered analysis.
📝 To-Do List
- Integrate
black
for PEP8 compliant code formatting - Improve and expand
readthedocs
documentation - Add option to specify download directory for datasets
- Rename datasets to reflect source publications
- Include mammalian array example datasets
- Add feature to control logging verbosity
- Publish to PyPi
- Add percentage of missing features in anndata after age prediction for each clock
- Add and populate "Notes" tab in metadata
- Add PhenoAge based on blood chemistry analysis (and datasets)
- Add table in readthedocs with all clock metadata
- Integrate scAge and scRNAseq clocks (and datasets)
- Incorporate murine DNA methylation and proteomic clocks (and datasets)
⚙️ Current update pipeline
For version update:
- Update package version in pyproject.toml
- Update package version in docs/source/conf.py
-
poetry update
-
poetry build
-
poetry run pytest --nbmake tutorials/
-
make html
in docs folder -
git add .
-
git commit -m "commit message"
-
git push
-
git tag -a vX.X.X -m "release message"
-
git push origin vX.X.X
For adding a new clock:
- Add clock notebook
- Run
join_metadata.ipynb
- Upload new weights to AWS
- Upload new
all_clock_metadata.pt
to AWS
❓ Can't find an aging clock?
If you have recently developed an aging clock and would like it to be integrated into pyaging
, please email us. We aim to incorporate it within two weeks!
💬 Community Discussion
For coding-related queries, feedback, and discussions, please visit our GitHub Issues page.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.