jive
A data analysis package for high-dimensional, multi-block data.
Science Score: 20.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: arxiv.org, zenodo.org -
✓Committers with academic emails
1 of 2 committers (50.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.6%) to scientific vocabulary
Last synced: 11 months ago
·
JSON representation
Repository
A data analysis package for high-dimensional, multi-block data.
Basic Info
Statistics
- Stars: 11
- Watchers: 5
- Forks: 5
- Open Issues: 3
- Releases: 0
Created about 9 years ago
· Last pushed over 4 years ago
Metadata Files
Readme
License
README.rst
**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
Owner
- Name: Iain Carmichael
- Login: idc9
- Kind: user
- Website: https://idc9.github.io/
- Repositories: 4
- Profile: https://github.com/idc9
Statistics + computational pathology
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: almost 3 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| idc9 | i****9@c****u | 160 |
| Thomas Keefe | t****e@g****m | 3 |
Committer Domains (Top 20 + Academic)
cornell.edu: 1
Issues and Pull Requests
Last synced: over 2 years ago
All Time
- Total issues: 6
- Total pull requests: 1
- Average time to close issues: 5 months
- Average time to close pull requests: 1 day
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 0.33
- Average comments per pull request: 2.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- idc9 (5)
- saroudant (1)
Pull Request Authors
- thomaskeefe (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 42 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 8
- Total maintainers: 1
pypi.org: jive
A data analysis package for high-dimensional, multi-block (multi-view) data.
- Homepage: https://github.com/idc9/py_jive
- Documentation: https://jive.readthedocs.io/
- License: MIT
-
Latest release: 0.2.1
published over 4 years ago
Rankings
Dependent packages count: 10.0%
Forks count: 14.2%
Stargazers count: 16.5%
Average: 17.3%
Dependent repos count: 21.7%
Downloads: 23.8%
Maintainers (1)
Last synced:
11 months ago