SkillAgentSearch skills...

GeneralisedFormanRicci

Forman Ricci Curvature for Simplicial Complex.

Install / Use

/learn @ExpectozJJ/GeneralisedFormanRicci
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Binder Open In Colab Downloads License Azure

GeneralisedFormanRicci

This code computes the Forman Ricci Curvature for simplicial complex generated from a given point cloud data. The implementation is based on the combinatorial definition of Forman Ricci curvature defined by Robin Forman. This implementation generalises beyond the simplified version implemented in saibalmars/GraphRicciCurvature github.

Many thanks to stephenhky and saibalmars for their packages MoguTDA and GraphRicciCurvature respectively. Partial code was modified from MoguTDA for the computation of the boundary matrices.

Installation via conda-forge

Anaconda-Server Badge Conda (channel only) Conda Conda

Installing generalisedformanricci from the conda-forge channel can be achieved by adding conda-forge to your channels with:

conda config --add channels conda-forge

Once the conda-forge channel has been enabled, generalisedformanricci can be installed with:

conda install generalisedformanricci

It is possible to list all of the versions of generalisedformanricci available on your platform with:

conda search generalisedformanricci --channel conda-forge

Alternatively, generalisedformanricci can be installed just by conda install -c conda-forge generalisedformanricci.

Installation via pip

PyPI PyPI - Downloads

pip install GeneralisedFormanRicci

Upgrading via pip install --upgrade GeneralisedFormanRicci

Package Requirement

Simple Example

from GeneralisedFormanRicci.frc import GeneralisedFormanRicci

data = [[0.8, 2.6], [0.2, 1.0], [0.9, 0.5], [2.7, 1.8], [1.7, 0.5], [2.5, 2.5], [2.4, 1.0], [0.6, 0.9], [0.4, 2.2]]
for f in [0, 0.5, 1, 2, 3]:
    sc = GeneralisedFormanRicci(data, method = "rips", epsilon = f)
    sc.compute_forman()
    sc.compute_bochner()

References

  • MoguTDA: https://github.com/stephenhky/MoguTDA
  • GraphRicciCurvature: https://github.com/saibalmars/GraphRicciCurvature
  • Forman, R. (2003). Bochner's method for cell complexes and combinatorial Ricci curvature. Discrete and Computational Geometry, 29(3), 323-374.
  • Forman, R. (1999). Combinatorial Differential Topology and Geometry. New Perspectives in Algebraic Combinatorics, 38, 177.

Cite

If you use this code in your research, please considering cite our paper:

  • JunJie Wee and Kelin Xia, Ollivier Persistent Ricci Curvature-Based Machine Learning for the Protein–Ligand Binding Affinity Prediction, Journal of Chemical Information and Modeling 2021 61 (4), 1617-1626
  • JunJie Wee, Kelin Xia, Forman persistent Ricci curvature (FPRC)-based machine learning models for protein–ligand binding affinity prediction, Briefings in Bioinformatics, 2021;, bbab136
  • D. Vijay Anand, Qiang Xu, JunJie Wee, Kelin Xia, Tze Chien Sum. Topological Feature Engineering for Machine Learning Based Halide Perovskite Materials Design. npj Computational Materials. 8, 203. (2022).
View on GitHub
GitHub Stars9
CategoryDevelopment
Updated10mo ago
Forks1

Languages

Jupyter Notebook

Security Score

82/100

Audited on May 18, 2025

No findings