ExpectozJJ / GeneralisedFormanRicci

Forman Ricci Curvature for Simplicial Complex.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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).

About

Forman Ricci Curvature for Simplicial Complex.

License:Apache License 2.0


Languages

Language:Jupyter Notebook 99.8%Language:Python 0.2%