Dependency network analysis under two conditions
Project description
DDN 3.0
We developed an efficient and accurate differential network analysis tool – Differential Dependency Networks (DDN). DDN is capable of jointly learning sparse common and rewired network structures, which is especially useful for genomics, proteomics, and other biomedical studies. DDN 3.0 significantly improves the speed of previous verions of DDN, and is available as a Python package. This repository provides the source code and examples of using DDN.
Installation
Option 1: install into a new Conda environment using pip
One way is to install DDN into a new Conda environment. To create and activate an environment named ddn
, run this:
conda create -n ddn python=3.11
conda activate ddn
Python 3.12 may have some issue with Numba.
DDN 3.0 can then be installed with the followin command.
pip install ddn3
Option 2: install into an existing Conda environment
If you want to install DDN into an existing Conda environment, it is suggested to install dependencies from Conda first.
First we need to install some common dependencies.
$ conda install -c conda-forge numpy scipy numba networkx matplotlib jupyter scipy pandas scikit-learn
Then run
pip install ddn3
Alternatively, you can clone the repository, or just download or unzip it. Then we can install DDN 3.0.
$ pip install ./
Or you may want to install it in development mode.
$ pip install -e ./
Usage
This toy example generates two random datasets, and use estimate to estimate two networks, one for each dataset.
import numpy as np
from ddn import ddn
dat1 = np.random.randn(1000, 10)
dat2 = np.random.randn(1000, 10)
networks = ddn.ddn(dat1, dat2, lambda1=0.3, lambda2=0.1)
For more details and examples, check the documentation, which includes three tutorials and the API reference.
The tutorials can also be found in the docs/notebooks
folder.
Tests
To run tests, go to the folder of DDN3 source code, then run pytest
.
pytest tests
It will compare output of DDN with reference values. It tests DDN with various acceleration strategies.
Contributing
Please report bugs in the issues. You may also email the authors directly: Yizhi Wang (yzwang@vt.edu), Yingzhou Lu (lyz66@vt.edu), or Yue Wang (yuewang@vt.edu). If you are interested in adding features or fixing bug, feel free to contact us.
License
The ddn
package is licensed under the terms of the MIT license.
Citations
[1] Zhang, Bai, and Yue Wang. "Learning structural changes of Gaussian graphical models in controlled experiments." arXiv preprint arXiv:1203.3532 (2012).
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
Built Distribution
File details
Details for the file ddn3-1.0.1.tar.gz
.
File metadata
- Download URL: ddn3-1.0.1.tar.gz
- Upload date:
- Size: 25.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.9.18 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf8524a37abf7b22aced2a81389bc062c47a7e3531b0b529a789ea1086580d1d |
|
MD5 | f084352ea774a6ba90012743cdd6e7a8 |
|
BLAKE2b-256 | b37f635045a8c170bf968fa2e5aee68f203e52b65ee745d1a882eccdcd790c99 |
File details
Details for the file ddn3-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: ddn3-1.0.1-py3-none-any.whl
- Upload date:
- Size: 31.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.9.18 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e4897b1342b68d946777cf3caf152cdf0f6be38c7a6e58c5bcb61ead5f62e04 |
|
MD5 | 82a874c904dc01a9ecdc9cadf55305a3 |
|
BLAKE2b-256 | 2a006246d6ba58925ea4b786fbe21217cabbcb26a4bfe61eaa3531a326729c85 |