Skip to main content

This version of the package is now deprecated! The new version of the AJIVE code can be found under https://github.com/idc9/mvdr

jive

author: Iain Carmichael_

Additional documentation, examples and code revisions are coming soon. For questions, issues or feature requests please reach out to Iain: iain@unc.edu.

Overview

jive is a data analysis package for high-dimensional, multi-block (or multi-view) data. The multi-block data setting means two or more data matrices with a fixed set of observations (e.g. patients) and multiple sets of features (e.g. clinical features and gene expression data).

The primary algorithm in this package is Angle based Joint and Individual Variation Explained (AJIVE) which is a data integration/feature extraction algorithm. AJIVE finds joint modes of variation which are common to all K data blocks as well as modes of individual variation which are specific to each block. For a detailed discussion of AJIVE see Angle-Based Joint and Individual Variation Explained. An R version of AJIVE can be found here.

Installation

To install use pip:

::

pip install jive

Or clone the repo:

::

git clone https://github.com/idc9/py_jive.git
python setup.py install

jive is currently available for python 3

Example

.. code:: python

from jive.AJIVE import AJIVE
from jive.PCA import PCA
from jive.ajive_fig2 import generate_data_ajive_fig2
from jive.viz.block_visualization import data_block_heatmaps, jive_full_estimate_heatmaps
import matplotlib.pyplot as plt
# %matplotlib inline

X, Y = generate_data_ajive_fig2()
data_block_heatmaps([X, Y])

.. image:: doc/figures/data_heatmaps.png

.. code:: python

# determine initial signal ranks by inspecting scree plots
plt.figure(figsize=[10, 5])
plt.subplot(1, 2, 1)
PCA().fit(X).plot_scree()
plt.subplot(1, 2, 2)
PCA().fit(Y).plot_scree()

.. image:: doc/figures/scree_plots.png

.. code:: python

ajive = AJIVE(init_signal_ranks={'x': 2, 'y': 3})
ajive.fit(blocks={'x': X, 'y': Y})

plt.figure(figsize=[10, 20])
jive_full_estimate_heatmaps(ajive.get_full_block_estimates(),
                            blocks={'x': X, 'y': Y})

.. image:: doc/figures/jive_estimate_heatmaps.png

.. code:: python

ajive.plot_joint_diagnostic()

.. image:: doc/figures/jive_diagnostic.png

Help and Support

Additional documentation, examples and code revisions are coming soon. For questions, issues or feature requests please reach out to Iain: iain@unc.edu.

Documentation ^^^^^^^^^^^^^

The source code is located on github: https://github.com/idc9/py\_jive. Currently the best math reference is the AJIVE paper.

Testing ^^^^^^^

Testing is done using nose_.

Contributing ^^^^^^^^^^^^

We welcome contributions to make this a stronger package: data examples, bug fixes, spelling errors, new features, etc.

Citation ^^^^^^^^

.. image:: https://zenodo.org/badge/94366513.svg :target: https://zenodo.org/badge/latestdoi/94366513

.. _Iain Carmichael: https://idc9.github.io/ .. _Angle-Based Joint and Individual Variation Explained: https://arxiv.org/pdf/1704.02060.pdf .. _here: https://github.com/idc9/r_jive .. _these example notebooks: doc/example_notebooks/ .. _https://github.com/idc9/py\_jive: https://github.com/idc9/r_jive .. _AJIVE paper: https://arxiv.org/pdf/1704.02060.pdf .. _nose: http://nose.readthedocs.io/en/latest/ .. _Journal of Statistical Software: https://www.jstatsoft.org/index

Release files for jive 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jive 0.2.1
File Size Uploaded
jive-0.2.1.tar.gz 40.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jive 0.2.1
File Interpreter ABI Platform
jive-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 85.3 kB

Release files / jive-0.2.1.tar.gz

Download URL jive-0.2.1.tar.gz
Size 40.2 kB
Tags Source
SHA-256 checksum
How to use checksums
38a8933648db195d0e1979b1c97d9fb9633620dbbbe4f149334a8de470d5f788
BLAKE2b-256 checksum
How to use checksums
71a5098c1a9cb188951da6c45796e538ec6ef5621502991a27197478a421b771
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / jive-0.2.1-py3-none-any.whl

Download URL jive-0.2.1-py3-none-any.whl
Size 45.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
939af27a66249626662641d36a855dc4f998800283af5540e6f948c4c57659f0
BLAKE2b-256 checksum
How to use checksums
d5f64183e1c2fd5e26667253ca11bd2bf2ed02b5c8ab0ec09d5e8e7495098029
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page