The Data-Driven Ontology Toolkit (DDOT) facilitates the inference, analysis, and visualization of biological hierarchies using a data structure called an ontology.
- Open-source Python package under MIT license. Supports Python 2.7 or >=3.6.
- The HiView web application visualizes hierarchical structure and the biological evidence for that structure.
For a quick start, please see the tutorial and other Jupyter notebooks in the examples folder.
For further documentation, please see http://ddot.readthedocs.io/. This includes a description of the Ontology class and a list of utility functions.
Please post questions or issues to the Google Groups forum.
DDOT requires the following software
- Python v2.7 or >=3.6
- numpy
- scipy
- pandas>=0.20
- networkx=1.11. Note that networkx>=2.0 is incompatible with ddot.
- python-igraph. Recommend installing through anaconda or pip.
- ndex-dev. Recommend installing through pip.
- tulip-python. Recommend installing through pip.
The recommended method for installing these dependencies is to use the Anaconda distrubution of Python, and then install Python packages via the conda and pip repositories.
# Create and activate a virtual environment (optional, but recommended).
# Read more about virtual environments at https://conda.io/docs/user-guide/tasks/manage-environments.html
conda create -n <environment_name>
source activate <environment_name>
# Update conda
conda update conda
# Install dependencies
conda install pandas numpy scipy networkx=1.11
conda install -c conda-forge python-igraph
conda install libiconv # Needed for igraph to run properly
pip install tulip-python
pip install ndex-dev
After dependencies are satisfied, install ddot with pip.
pip install git+git://github.com/michaelkyu/ddot.git
If a previous version of ddot is already installed, then force an upgrade with the --upgrade
option.
pip install --upgrade git+git://github.com/michaelkyu/ddot.git
A docker image of DDOT can be pulled from Docker Hub.
# image with DDOT installed in anaconda3 (Python 3.6)
docker pull michaelkyu/ddot-anaconda3
docker run -i -t michaelkyu/ddot-anaconda3
# image with DDOT installed in anaconda2 (Python 2.7)
docker pull michaelkyu/ddot-anaconda2
docker run -i -t michaelkyu/ddot-anaconda2
If you find DDOT helpful in your research, please cite
Yu MK, Ma J, Ono K, Zheng F, Fong S, Gary A, Chen J, Demchak B, Pratt D, Ideker T. "A swiss-army knife for hierarchical modeling of biological systems." (in preparation)