The hetnet awakens in Princeton.

biology ⭃ network

Computational Systems for Integrative Genomics

Carl Icahn Laboratory, New Jersey

June 8, 2017

Slides at slides.com/dhimmel/csig

The hetnet awakens: understanding complex diseases through data integration and open science

Greene Lab

I'm a data scientist

http://www.greenelab.com/

How I became intestested in graphs

http://blog.dhimmel.com/friendship-network/

My Facebook friendship network in 2014

Graphs are composed of:

  • Nodes
  • Relationships

Nodes / relationships have type:

  • node types
    (person, course, university)
  • relationship types
    (lecturer, institution)
  • first_name: Daniel
  • last_name: Himmelstein
  • twitter: @dhimmel
  • SSN: 012-34-5678 
  • catalog: CIS550
  • title: Database & Information Systems
  • units: 5
  • catalog: EPID600
  • title: Data Science for Biomedical Informatics
  • units: 1
  • url: www.upenn.edu
  • founded: 1740
  • type: private
  • league: ivy
  • grade: A-
  • grade: B
  • grade: F

What can we do with this graph?

  • Course statistics:
    How many students are in CIS 550?
     
  • Course recommendations:
    What courses do other students in CIS 550 take?
     
  • Course scheduling:
    What room should a course be in so it's nearby other courses that its students are enrolled in?

networks with multiple node or relationship types

multilayer network, multiplex network, multivariate network, multinetwork, multirelational network, multirelational data, multilayered network, multidimensional network, multislice network, multiplex of interdependent networks, hypernetwork, overlay network, composite network, multilevel network, multiweighted graph, heterogeneous network, multitype network, interconnected networks, interdependent networks, partially interdependent networks, network of networks, coupled networks, interconnecting networks, interacting networks, heterogenous information network

A 2012 Study identified 26 different names for this type of network:

hetnet

What's the best software for storing and querying hetnets?

dhimmel/hetio
86
5
2
neo4j/neo4j
42,498
3,071
1,007

GitHub stats from 2016-10-09

How do you teach a computer biology?

Visualizing Hetionet v1.0

  • Hetnet of biology for drug repurposing
     
  • ~50 thousand nodes
    11 types (labels)
     
  • ~2.25 million relationships
    24 types
     
  • integrates 29 public resources
    knowledge from millions of studies

Hetionet v1.0

  • Nodes
    • standardized vocabularies
    • stable, unambiguous identifiers
       
  • Relationships:
    • Omics scale required
    • Literature mining
    • High throughput experimental technologies
    • Avoid manual mapping
       
  • Versioned data dependencies with GitHub commit hash URLs
    pandas-dev/pandas#14576

Constructing Hetionet v1.0

>>> import phd
  • Customized Docker image
  • Digital Ocean droplet
  • SSL from Let's Encrypt
  • readonly mode with a query execution timeout
  • Custom GRASS style
  • Custom guides

Public Hetionet Neo4j Instance

Details at doi.org/brsc

MATCH path =
  // Specify the type of path to match
  (n0:Disease)-[e1:ASSOCIATES_DaG]-(n1:Gene)-[:INTERACTS_GiG]-
  (n2:Gene)-[:PARTICIPATES_GpBP]-(n3:BiologicalProcess)
WHERE
  // Specify the source and target nodes
  n0.name = 'multiple sclerosis' AND
  n3.name = 'retina layer formation'
  // Require GWAS support for the
  // Disease-associates-Gene relationship
  AND 'GWAS Catalog' in e1.sources
  // Require the interacting gene to be
  // upregulated in a relevant tissue
  AND exists(
    (n0)-[:LOCALIZES_DlA]-(:Anatomy)-[:UPREGULATES_AuG]-(n2))
RETURN path

How could multiple sclerosis could affect retina layer formation?

More queries at thinklab.com/d/220

Project Rephetio contributions on Thinklab

(see thinklab.com/p/rephetio/leaderboard)

Project Rephetio: drug repurposing predictions

  • Hetionet v1.0 contains:
    • 1,538 connected compounds
    • 136 connected diseases
    • 209,168 compound–disease pairs
    • 755 treatments
  • Systematic drug repurposing:
    • Compare the therapeutic utility of data types
    • Identify the mechanisms of drug efficacy
    • Predict the probability of treatment for all 209,168 compound–disease pairs (het.io/repurpose)
  • Project online at thinklab.com/p/rephetio

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
bioRxiv. 2016. DOI: 10.1101/087619

features = metapaths

observations =

compound–disease pairs

positives = treatments

negatives =

non-treatments

Machine learning methodology

Predictions succeed at prioritizing known treatments

1,206 compound–disease metapaths (length ≤ 4)

DWPC Δ AUROC

  1. Upper tier:
    traditional pharmacology
  2. Upper-middle tier:
    traditionally biomedicine, but newer in drug efficacy
  3. Lower-middle tier:
    genome-wide / high-throughput data sources
  4. Lower tier:
    cellular components

Browse at het.io/repurpose/metapaths.html

Project Rephetio: Does bupropion treat nicotine dependence?

  • Bupropion was first approved for depression in 1985
     
  • In 1997, bupropion was approved for smoking cessation
     
  • Can we predict this repurposing from Hetionet? The prediction was:

Compound–causes–SideEffect–causes–Compound–treats–Disease

Compound–binds–Gene–binds–Compound–treats–Disease

Compound–binds–Gene–associates–Disease

Compound–binds–Gene–participates–Pathway–participates–Disease

MATCH path = (n0:Compound)-[:BINDS_CbG]-(n1)-[:PARTICIPATES_GpPW]-
  (n2)-[:PARTICIPATES_GpPW]-(n3)-[:ASSOCIATES_DaG]-(n4:Disease)
USING JOIN ON n2
WHERE n0.name = 'Bupropion'
  AND n4.name = 'nicotine dependence'
  AND n1 <> n3
WITH
[
  size((n0)-[:BINDS_CbG]-()),
  size(()-[:BINDS_CbG]-(n1)),
  size((n1)-[:PARTICIPATES_GpPW]-()),
  size(()-[:PARTICIPATES_GpPW]-(n2)),
  size((n2)-[:PARTICIPATES_GpPW]-()),
  size(()-[:PARTICIPATES_GpPW]-(n3)),
  size((n3)-[:ASSOCIATES_DaG]-()),
  size(()-[:ASSOCIATES_DaG]-(n4))
] AS degrees, path
RETURN
  path,
  reduce(pdp = 1.0, d in degrees| pdp * d ^ -0.4) AS path_weight
ORDER BY path_weight DESC
LIMIT 10

Cypher query to find the top CbGbPWaD paths

Try at https://neo4j.het.io

Browse all predictions at het.io/repurpose. Discuss at thinklab.com/d/224

Top 100 epilepsy predictions & their chemical structure

Top 100 epilepsy predictions & their drug targets

Nice of you to share this big network with everyone; however, I think you need to take care not to get yourself into legal trouble here. … 

I am not trying to cause trouble here — just the contrary. When making a meta-resource, licenses and copyright law are not something you can afford to ignore. I regularly leave out certain data sources from my resources for legal reasons.

One network to rule them all

We have completed an initial version of our network. …

Network existence (SHA256 checksum for graph.json.gz) is proven in Bitcoin block 369,898.

Discussion DOIs: bfmkbfmmbfmnbfmp

  • Hetionet (≤ v1.0) integrated data from 31 resources:
    • 5 United States Government works
    • 12 openly licensed
    • 4 non-commercial use only
    • 9 were all rights reserved
    • 1 explicitly & contractually forbid reuse
  • Requested permission for 11 resources:
    • median time to first response was 16 days
    • 2 affirmative responses
  • Other considerations:
    • who owns data
    • incompatibilities: share alike vs non-commercial
    • copyright status of data & fair use
  • Solution: license attribute per node/relationship

Legal barriers to data reuse

Recommendations:

  1. release data under an open license
  2. University researchers: commit to open in your resource sharing plan

Future: all biomedical knowledge in a single network

https://github.com/greenelab/snorkeling

  • Teach computers how to read the literature and extract knowledge.
     
  • Continuously and automatically refine and grow the hetnet.
     
  • Free from any legal restrictions on reuse. 

David Robinson

@danich1

hetmech

Kyle Kloster

@kkloste

Michael Zietz

@zietzm

https://github.com/greenelab/hetmech

Tissue-support requires both genes in the path to be expressed in the cardiovascular system.

Find the tissue-supported contribution of each pathway to treating CAD with enalapril (https://neo4j.het.io)

MATCH path = (n0:Compound)-[:BINDS_CbG]-(n1)-[:PARTICIPATES_GpPW]-
  (n2)-[:PARTICIPATES_GpPW]-(n3)-[:ASSOCIATES_DaG]-(n4:Disease)
MATCH (n4)-[:LOCALIZES_DlA]-(anatomy)
MATCH (n1)-[:EXPRESSES_AeG]-(anatomy)-[:EXPRESSES_AeG]-(n3)
WHERE n0.name = 'Enalapril'
  AND n4.name = 'coronary artery disease'
  AND n1 <> n3
WITH
  DISTINCT path,
  n2 AS pathway,
[
  size((n0)-[:BINDS_CbG]-()),
  size(()-[:BINDS_CbG]-(n1)),
  size((n1)-[:PARTICIPATES_GpPW]-()),
  size(()-[:PARTICIPATES_GpPW]-(n2)),
  size((n2)-[:PARTICIPATES_GpPW]-()),
  size(()-[:PARTICIPATES_GpPW]-(n3)),
  size((n3)-[:ASSOCIATES_DaG]-()),
  size(()-[:ASSOCIATES_DaG]-(n4))
] AS degrees
RETURN
  pathway.identifier AS pathway_id,
  pathway.name AS pathway_name,
  count(*) AS PC,
  sum(reduce(pdp = 1.0, d in degrees| pdp * d ^ -0.4)) AS DWPC
ORDER BY DWPC DESC, pathway_name

The hetnet awakens in Princeton. biology ⭃ network

By Daniel Himmelstein

The hetnet awakens in Princeton. biology ⭃ network

Presentation on 2017-06-08 at CSIG (Computational Systems for Integrative Genomics). Details at http://www.greenelab.com/csig-2017. This presentation is released under a CC BY 4.0 License.

  • 365
Loading comments...

More from Daniel Himmelstein