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)
| File | Size | Uploaded | |
|---|---|---|---|
| jive-0.2.1.tar.gz | 40.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|