Hetionet: an integrative network of disease
Hetionet is a hetnet — network with multiple node and edge (relationship) types — which encodes biology. The hetnet was designed for Project Rephetio, which aims to systematically identify why drugs work and predict new therapies for drugs. The research article describing Project Rephetio and Hetionet v1.0 is:
Systematic integration of biomedical knowledge prioritizes drugs for repurposing
Daniel S Himmelstein, Antoine Lizee, Christine Hessler, Leo Brueggeman, Sabrina L Chen, Dexter Hadley, Ari Green, Pouya Khankhanian, Sergio E Baranzini
eLife (2017-09-22) DOI:
Version 1.0 contains 47,031 nodes of 11 types and 2,250,197 relationships of 24 types. This repository is currently only a download location for Hetionet. The data integration and hetnet creation occurs in a separate repository (
dhimmel/integrate) and is imported to this repository by
The network is available in three formats:
The JSON and Neo4j formats contain node and edge properties, which are missing from the TSVs, including licensing information. Therefore the recommended formats are JSON and Neo4j. Our
hetio package in Python reads the JSON format, but it is otherwise a simple yet new format. The Neo4j graph database has an established and thriving ecosystem. However, if you would like to access Hetionet without Neo4j, then we suggest the JSON format. Additional usage information is available at the corresponding download locations.
We've created five permuted derivatives of Hetionet. The permutation randomizes edges while preserving node degree. Permuted hetnets are available in
hetnet/permuted in JSON and Neo4j 2.3 formats. Relationship properties are omitted from the permuted hetnets.
Below, we provide two hetnet visualizations. Panel A shows the metagraph (graph of types) for Hetionet. Panel B shows the actual hetnet with nodes laid out in circles by type. Color denotes edge type.
All original content in this repository is released as CC0. However, the hetnet integrates data from many resources and users should consider the licensing of each source (see this table). We apply a
license attribute on a per node and per edge basis for sources with defined licenses. However, some resources don't provide any license, so for those we've requested permission. More information is available on Thinklab.