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.
- System Requirements
- Installation Guide
- Setting up the development environment
mgcpy aims to be a comprehensive independence testing package including all of the commonly used independence tests as mentioned above 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.
mgcpy package requires only a standard computer with enough RAM to support the in-memory operations.
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
mgcpy mainly depends on the Python scientific stack.
numpy scipy Cython scikit-learn pandas seaborn
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:latestor
docker pull tpsatish95/mgcpy:development
docker run -it --rm -p 8888:8888 --name mgcpy-env tpsatish95/mgcpy:latest
To run demo notebooks (from within Docker):
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
To mount/load local files into docker container:
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.
cd ../workspacewhen you are inside the container to view the mounted files. The mgcpy package code will be in
MGC Algorithm's Flow
- Recreated Figure 2 in https://arxiv.org/abs/1609.05148, with the addition of MDMR and Fast MGC
This project is covered under the Apache 2.0 License.