Skip to main content

A comprehensive dimensional reduction framework to recover latent information from data.

Project description

Latest PyPI version License: MIT Documentation Status Downloads CodeFactor Twitter

TopOMetry - Topologically Optimized geoMetry

TopOMetry is a high-level python library to explore data topology through manifold learning. It is compatible with scikit-learn, meaning most of its operators can be easily pipelined.

Its main idea is to approximate the Laplace-Beltrami Operator (LBO). This is done by learning properly weighted similarity graphs and their Laplacian and Diffusion operators. By definition, the eigenfunctions of these operators describe all underlying data topology in an set of orthonormal eigenbases (classically named the spectral or diffusion components). New topological operators are then learned from such eigenbases and can be used for clustering and graph-layout optimization (visualization).

There are many different ways to computationally approximate the LBO. TopOMetry tests a wide array of possible algorithmic combinations, combines them with existing graph-layout algorithm and scores them aftwerwards. This way, users do not have to choose a fixed method a priori, and can instead decide what works best for each use case. It also includes various utilities for scoring the performance of similarity kernels and dimensional reductions of high-dimensional data. It includes methods for the estimation of intrinsic dimensionalities (global and local), and implements the Riemann metric to qualitatively visualize distortions in 2-D embeddings.

For more information, see the manuscript.

Single-cell analysis

TopOMetry was designed to handle large-scale data matrices containing extreme sample diversity, such as those generated from high-throughput single-cell experiments. It includes wrappers to deal with AnnData objects using scanpy and integrates well with tools in the scverse python suite for single-cell analysis.


Documentation

Instalation can be quickly done with pip:

pip install topometry

Further installation instructions such as optional dependencies, information about the implemented methods tutorials and a detailed API are available at the available at the documentation.


Contributing

Contributions are very welcome! If you're interested in adding a new feature, just let me know in the Issues section.


License

MIT License


Citation

If you use TopOMetry for your work, please cite the manuscript:

@article {Sidarta-Oliveira2022.03.14.484134,
	author = {Sidarta-Oliveira, Davi and Velloso, Licio A},
	title = {A comprehensive dimensional reduction framework to learn single-cell phenotypic topology uncovers T cell diversity},
	elocation-id = {2022.03.14.484134},
	year = {2022},
	doi = {10.1101/2022.03.14.484134},
	publisher = {Cold Spring Harbor Laboratory},
	URL = {https://www.biorxiv.org/content/early/2022/03/17/2022.03.14.484134},
	eprint = {https://www.biorxiv.org/content/early/2022/03/17/2022.03.14.484134.full.pdf},
	journal = {bioRxiv}
}

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

topometry-0.2.1.1.tar.gz (122.4 kB view details)

Uploaded Source

Built Distributions

topometry-0.2.1.1-py3.10.egg (294.1 kB view details)

Uploaded Source

topometry-0.2.1.1-py3-none-any.whl (135.4 kB view details)

Uploaded Python 3

File details

Details for the file topometry-0.2.1.1.tar.gz.

File metadata

  • Download URL: topometry-0.2.1.1.tar.gz
  • Upload date:
  • Size: 122.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for topometry-0.2.1.1.tar.gz
Algorithm Hash digest
SHA256 2749f0aeaf595d8b372f591ad2327c276fdac67f0ffecad4945b0e39e90895af
MD5 e6b71e3ce5ae87cb5af2a117975a5979
BLAKE2b-256 71e752382ef0c5a9c67c9ffbd5f18054c2bbd180996bb29dc665401ee52e7e85

See more details on using hashes here.

File details

Details for the file topometry-0.2.1.1-py3.10.egg.

File metadata

  • Download URL: topometry-0.2.1.1-py3.10.egg
  • Upload date:
  • Size: 294.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for topometry-0.2.1.1-py3.10.egg
Algorithm Hash digest
SHA256 ee899939569ced24e2e1e9bd94c3930f7ff5bbe99403b67ce29c771aab571923
MD5 ef62c4458c9c5d0abd6431a6b81d9db3
BLAKE2b-256 281f7907f71c36e60b7dbc247bfab0c0fccfa8c2fc4e33470ccc7f7c5ba754e1

See more details on using hashes here.

File details

Details for the file topometry-0.2.1.1-py3-none-any.whl.

File metadata

  • Download URL: topometry-0.2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 135.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for topometry-0.2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b76e0c663e6fb8fdbdd093a30894ee0d08d052d7460b9887c3bb7eee39298540
MD5 b689dc3f9765ab14c43d1361ced371aa
BLAKE2b-256 9e460c06d6588b7b5d0963d7561911fdbc657e650f7eec7e2642dac2d63ca7da

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