Skip to main content

Hierarchical Graph Analysis

Project description

# Higra: Hierarchical Graph Analysis

[![Build Status](https://travis-ci.org/PerretB/Higra.svg?branch=master)](https://travis-ci.org/PerretB/Higra) [![Build status](https://ci.appveyor.com/api/projects/status/5op4qm2cddm7iuj2/branch/master?svg=true)](https://ci.appveyor.com/project/PerretB/higra/branch/master) [![codecov](https://codecov.io/gh/PerretB/Higra/branch/master/graph/badge.svg)](https://codecov.io/gh/PerretB/Higra) [![Documentation Status](https://readthedocs.org/projects/higra/badge/?version=latest)](https://higra.readthedocs.io/en/latest/?badge=latest)

Higra is a C++/Python library for efficient graph analysis with a special focus on hierarchical methods. Some of the main features are:

  • efficient methods and data structures to handle the dual representation of hierarchical clustering: dendrograms (trees) and ultra-metric distances (saliency maps);

  • hierarchical clustering algorithms: agglomerative clustering (single-linkage, average-linkage, complete-linkage, or custom rule), hierarchical watersheds;

  • various algorithms to manipulate and explore hierarchical clustering: accumulators, filtering/simplification, cluster extraction, (optimal) partitioning , alignment;

  • algorithms on graphs: accumulators, computation of dissimilarities, partitioning;

  • assessment: supervised assessment of graph clustering and hierarchical clustering;

  • image toolbox: special methods for grid graphs, hierarchical clustering methods dedicated to image analysis.

Higra is thought for modularity, performance and seamless integration with classical data analysis pipelines. The data structures (graphs and trees) are decoupled from data (vertex and edge weights ) which are simply arrays ([xtensor](https://github.com/QuantStack/xtensor) arrays in C++ and [numpy](https://github.com/numpy/numpy) arrays in Python).

## Installation

### Python frontend

The Python frontend can be installed with Pypi:

`bash pip install higra `

Supported systems:

  • Python 3.4, 3.5, 3.6, 3.7

  • Linux 64 bits, macOS, Windows 64 bits

### C++ backend

The C++ backend is an header only library. No facilities for system wide installation is currently provided: just copy/past where you need it!

## Demonstration and tutorials

Check the dedicated repository [Higra-Notebooks](https://github.com/PerretB/Higra-Notebooks) for a collection of Jupyter Notebooks dedicated to Higra.

## Build

### With cmake

Requires:

  • cmake

  • Python + Numpy

  • Boost Test (optional for unit testing of the C++ backend)

  • Google Benchmark (optional for benchmarking of the C++ backend)

Commands:

`bash git clone https://github.com/PerretB/Higra.git mkdir build cd build cmake ../Higra/ make `

Sometimes, cmake gets confused when several Python versions are installed on the system. You can specify which version to use with -DPYTHON_EXECUTABLE:FILEPATH=/PATH-TO-PYTHON/python, e.g.

` cmake -DPYTHON_EXECUTABLE:FILEPATH=/anaconda3/bin/python ../Higra/ `

The python package is build in the directory

` build/higra/ `

### With setup.py

The setup.py is a thin wrapper around the cmake script to provide compatibility with python setuptools.

` pip install cmake python setup.py bdist_wheel cd dist pip install higra*.whl `

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

higra-0.2.3-cp37-cp37m-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.7mWindows x86-64

higra-0.2.3-cp37-cp37m-manylinux1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.7m

higra-0.2.3-cp37-cp37m-macosx_10_6_intel.whl (3.8 MB view details)

Uploaded CPython 3.7mmacOS 10.6+ Intel (x86-64, i386)

higra-0.2.3-cp36-cp36m-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.6mWindows x86-64

higra-0.2.3-cp36-cp36m-manylinux1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.6m

higra-0.2.3-cp36-cp36m-macosx_10_6_intel.whl (3.8 MB view details)

Uploaded CPython 3.6mmacOS 10.6+ Intel (x86-64, i386)

higra-0.2.3-cp35-cp35m-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.5mWindows x86-64

higra-0.2.3-cp35-cp35m-manylinux1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.5m

higra-0.2.3-cp35-cp35m-macosx_10_6_intel.whl (3.8 MB view details)

Uploaded CPython 3.5mmacOS 10.6+ Intel (x86-64, i386)

higra-0.2.3-cp34-cp34m-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.4mWindows x86-64

higra-0.2.3-cp34-cp34m-manylinux1_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.4m

higra-0.2.3-cp34-cp34m-macosx_10_6_intel.whl (3.8 MB view details)

Uploaded CPython 3.4mmacOS 10.6+ Intel (x86-64, i386)

File details

Details for the file higra-0.2.3-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: higra-0.2.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for higra-0.2.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f3ef2ca56451cf4a0a02b1fec54257ce1cb3567415ca1338765a8341b31c9815
MD5 ad4e9f8da8be0cdd8803850d89d8f6b6
BLAKE2b-256 fd3ce2149db64e0f6664f4c1b6f5e63878f93646f0c6fb69e8f66f816743255d

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: higra-0.2.3-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

File hashes

Hashes for higra-0.2.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 aa05d72fe6562a89813e64c2373eb1c356dd7906ce93b96bc3f78aa1f01f3671
MD5 35f7c901a9ea98e0e1c181c33a415b18
BLAKE2b-256 5e390ccefe2a8b2243ea70e63b8fa99c952e36046e63b61b811414dc84fafbd2

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp37-cp37m-macosx_10_6_intel.whl.

File metadata

  • Download URL: higra-0.2.3-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.7m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

File hashes

Hashes for higra-0.2.3-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 14d3d3a486f621e4624efa870155590b8ba86cceb497c0d76f99c24c370c52d0
MD5 1010d672b3f287e709c6e0e1de814d69
BLAKE2b-256 59792f9911920ed1ee17dfcca75209c66f6e9e7cec3ab6c1d617a770b2c9a296

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: higra-0.2.3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for higra-0.2.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 b98a2b49926e946c74e8baa69708a3d61a659dc17ab0d48c41018e49438c8fd2
MD5 9dbcf5228230693a82d839ba743b1cdf
BLAKE2b-256 2bf7322ae27334077be65734aa681ed9363f552beab94499f6cedc30df5295e5

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: higra-0.2.3-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

File hashes

Hashes for higra-0.2.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 be79f7f6c08715c00fbe05f790276013408d3266ebf5a5e5088084d75bf3f10d
MD5 d4e9d05dc8111f9a255b6ee2653cd5b1
BLAKE2b-256 bb2ed2b22fab333fa4a1b3c727c09e5f171d5a96df515a45474876d12846fc66

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

  • Download URL: higra-0.2.3-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.6m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

File hashes

Hashes for higra-0.2.3-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 6425b36cf9172831eeaf12345d5c70d8563b9e6f09f0220fafd3d72479875120
MD5 42351609dca43a95e55a2eb8b9fe0d1c
BLAKE2b-256 40f134a776d427a6a4967d4f70c481809b91bf13f8c40a720f434ee3d3b1193d

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: higra-0.2.3-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for higra-0.2.3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 0228a15197ad9429ffefc62f2cb2adae63e465bca7ce22603f02faac50369321
MD5 97c82c3c5b6ad1b65eb9137277ca0a5c
BLAKE2b-256 65207554099f40a38c819a683adad1698b403d0fdff5c412ae70a058e908c5ee

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: higra-0.2.3-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

File hashes

Hashes for higra-0.2.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 be234e9b68987e33281e68fd5583317c690edaa12ceb04b56f4fc279ae481f94
MD5 56a9fc83a291f2fbef7537195a43610f
BLAKE2b-256 4027e18b78c5ca7985b1894ae2840190c4c1904d203e36170f9e06f7001f54da

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

  • Download URL: higra-0.2.3-cp35-cp35m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.5m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

File hashes

Hashes for higra-0.2.3-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 19fc0cad9aec2e52d4bef05b6806689822d40f4cd0bb7f9c88c5f872881845e8
MD5 596bf3057c8586826babe260a4237a5f
BLAKE2b-256 74bac87b6a8dda07bf7acbf561853f4dfc2bd60a2d4a365e0fc82299b3180c09

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp34-cp34m-win_amd64.whl.

File metadata

  • Download URL: higra-0.2.3-cp34-cp34m-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.4m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for higra-0.2.3-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 bf9ddb6d663af56cf8660de5045cfd8db00285a7e697316bc75df3a5a3aa4b4d
MD5 08cda14bacf1b9b7baf097887cecfe8c
BLAKE2b-256 3eef6a584f45bbeaa0b99e0f5384ded250232feb227db3888af02df5a56e1ec8

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: higra-0.2.3-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 4.2 MB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

File hashes

Hashes for higra-0.2.3-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8378165b8ead19f3115d87fd892cf38a35b8208fd200d9b32bfe6f4bdf62b43a
MD5 39c1ce0c41fed849f098c25d37092db7
BLAKE2b-256 dd99539c60d37ef0eec3da5c3461f61d4e9fac4cf560a1d4992b6d7ad1926a59

See more details on using hashes here.

File details

Details for the file higra-0.2.3-cp34-cp34m-macosx_10_6_intel.whl.

File metadata

  • Download URL: higra-0.2.3-cp34-cp34m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.4m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1

File hashes

Hashes for higra-0.2.3-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 b9afb45ceea1046aa21bf3bc03f74727cc1e904d3bd2a2858f8224b1d530344e
MD5 98a64dd6798b059fb5ad9edb4dc75d2b
BLAKE2b-256 9ea6490155ffeaa0ff3b0f143ddbee5b197e0df760b16bae0589eb63ddf98f2c

See more details on using hashes here.

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