Skip to main content

A set of tools in Python for multiscale graph correlation and other statistical tests

Project description

The R version is available on CRAN and https://github.com/neurodata/r-mgc. The MATLAB version is available at https://github.com/neurodata/mgc-matlab.

mgcpy

Coverage Status Build Status PyPI PyPI - Downloads DockerHub DOI Documentation Status License PEP8 Code Climate

mgcpy is a Python package containing tools for independence testing using multiscale graph correlation and other statistical tests, that is capable of dealing with high dimensional and multivariate data.

Overview

mgcpy aims to be a comprehensive independence testing package including commonly used independence tests and additional functionality such as two sample independence testing and a novel random forest-based independence test. These tests are not only included to benchmark MGC but to have a convenient location for users if they would prefer to utilize those tests instead. The package utilizes a simple class structure to enhance usability while also allowing easy extension of the package for developers. The package can be installed on all major platforms (e.g. BSD, GNU/Linux, OS X, Windows)from Python Package Index (PyPI) and GitHub.

Documenation

The official documentation with usage is at: https://mgc.neurodata.io/ ReadTheDocs: https://mgcpy.readthedocs.io/en/latest/

System Requirements

Hardware requirements

mgcpy package requires only a standard computer with enough RAM to support the in-memory operations.

Software requirements

OS Requirements

This package is supported for macOS and Linux. The package has been tested on the following systems:

  • macOS: Mojave (10.14.1)
  • Linux: Ubuntu 16.04

Python Dependencies

mgcpy mainly depends on the Python scientific stack.

numpy
scipy
Cython
scikit-learn
pandas
seaborn

Installation Guide:

Install from PyPi

pip3 install mgcpy

Install from Github

git clone https://github.com/neurodata/mgcpy
cd mgcpy
python3 setup.py install
  • sudo, if required
  • python3 setup.py build_ext --inplace # for cython, if you want to test in-place, first execute this

Setting up the development environment:

  • To build image and run from scratch:

    • Install docker
    • Build the docker image, docker build -t mgcpy:latest .
      • This takes 10-15 mins to build
    • Launch the container to go into mgcpy's dev env, docker run -it --rm --name mgcpy-env mgcpy:latest
  • Pull image from Dockerhub and run:

    • docker pull tpsatish95/mgcpy:latest or docker pull tpsatish95/mgcpy:development
    • docker run -it --rm -p 8888:8888 --name mgcpy-env tpsatish95/mgcpy:latest or docker run -it --rm -p 8888:8888 --name mgcpy-env tpsatish95/mgcpy:development
  • To run demo notebooks (from within Docker):

    • cd demos
    • jupyter notebook --ip 0.0.0.0 --no-browser --allow-root
    • Then copy the url it generates, it looks something like this: http://(0de284ecf0cd or 127.0.0.1):8888/?token=e5a2541812d85e20026b1d04983dc8380055f2d16c28a6ad
    • Edit this: (0de284ecf0cd or 127.0.0.1) to: 127.0.0.1, in the above link and open it in your browser
    • Then open mgc.ipynb
  • To mount/load local files into docker container:

    • Do docker run -it --rm -v <local_dir_path>:/root/workspace/ -p 8888:8888 --name mgcpy-env tpsatish95/mgcpy:latest, replace <local_dir_path> with your local dir path.
    • Do cd ../workspace when you are inside the container to view the mounted files. The mgcpy package code will be in /root/code directory.

MGC Algorithm's Flow

MGCPY Flow

Power Curves

License

This project is covered under the Apache 2.0 License.

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

mgcpy-0.4.0.tar.gz (181.3 kB view details)

Uploaded Source

Built Distributions

mgcpy-0.4.0-cp37-cp37m-macosx_10_9_x86_64.whl (162.6 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

mgcpy-0.4.0-cp37-cp37m-macosx_10_7_x86_64.whl (161.9 kB view details)

Uploaded CPython 3.7m macOS 10.7+ x86-64

File details

Details for the file mgcpy-0.4.0.tar.gz.

File metadata

  • Download URL: mgcpy-0.4.0.tar.gz
  • Upload date:
  • Size: 181.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4

File hashes

Hashes for mgcpy-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a8e5fe4990c448d8a0b4724d800dfd3b2a81b2c9e988f60b2e9c3f60a68d6ca1
MD5 dfdde4ea29dc5730550147d005643548
BLAKE2b-256 404ee0b0f5dd15342aeb1e6b1573af20ee1acb5f43868cd8f09de3491560fe84

See more details on using hashes here.

File details

Details for the file mgcpy-0.4.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: mgcpy-0.4.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 162.6 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4

File hashes

Hashes for mgcpy-0.4.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 55bb3a18456a4fce9e3f2a7fd488acec9431e2e9d7fba3143d7f9602d0e357c5
MD5 19d96a926258030182ae9cf674fc38c0
BLAKE2b-256 b94fe9703c959e47ad87725d36192c993e007622757844b89bfe0d6efece73e2

See more details on using hashes here.

File details

Details for the file mgcpy-0.4.0-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: mgcpy-0.4.0-cp37-cp37m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 161.9 kB
  • Tags: CPython 3.7m, macOS 10.7+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for mgcpy-0.4.0-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 bdf15f38fa72f6f19bd27a8ced79e5f33260fb9d26a7817de11f15cdd01966d8
MD5 f00f095c610bd20b0ff39f88632b9fba
BLAKE2b-256 a40ea7d6b73901cf7b01839a5fa405f30f810e3a52b0647f4d67ca6ca90f56e6

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