Skip to main content

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 versions 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 issues with Numba in Windows.

DDN 3.0 can then be installed with the following 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 (https://github.com/cbil-vt/DDN3), or just download and 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 estimates 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 iddn_data

It will compare the output of DDN with reference values. It tests DDN with various acceleration strategies.

Experiments

The simulation-related code can be found at https://github.com/cbil-vt/DDN3_simulation. The results of the simulation and the figures are archived here: https://zenodo.org/records/10543473.

Contributing

Please report bugs in the issues. You may also email us 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 bugs, feel free to contact us.

License

The ddn3 package is licensed under the terms of the MIT license.

Citations

[1] DDN3.0: Determining significant rewiring of biological network structure with differential dependency networks.

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

ddn3-1.0.4.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

ddn3-1.0.4-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file ddn3-1.0.4.tar.gz.

File metadata

  • Download URL: ddn3-1.0.4.tar.gz
  • Upload date:
  • Size: 30.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Windows/10

File hashes

Hashes for ddn3-1.0.4.tar.gz
Algorithm Hash digest
SHA256 e37028fbce5f3d54f05a21e564a01037c310d55e88e48cb9119af31d6c23e08c
MD5 9bad7ab1f06c15a7188c04f07e3710dd
BLAKE2b-256 2150aff478d50eb55f491c3340cb182bf3c357b5654100b8bb5d542076d11377

See more details on using hashes here.

File details

Details for the file ddn3-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: ddn3-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Windows/10

File hashes

Hashes for ddn3-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4ab7a6db70ca8127098a671f66d5f00ab2f65f87c09caf9d8b60bbccaafcfb81
MD5 fea45b96409d32ba9b5f52548e7dacd8
BLAKE2b-256 c7cbc83fcf515b32c241ce66833c5d21bedcf936cac596f3fa8bb67a7bd39fc8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page