Tigerlily

TigerLily is a TigerGraph-based system designed to solve the drug interaction prediction task. In this machine learning task, we want to predict whether two drugs have an adverse interaction. Our framework allows us to solve this highly relevant real-world problem using graph mining techniques in these steps:

    1. Using PyTigergraph we create a heterogeneous biological graph of drugs and proteins.

    1. We calculate the personalized PageRank scores of drug nodes in the TigerGraph Cloud.

    1. We embed the nodes using sparse non-negative matrix factorization of the personalized PageRank matrix.

    1. Using the node embeddings we train a gradient boosting based drug interaction predictor.

Tigerlily API

Tigerlily is a machine learning library built on TigerGraph for drug pair scoring.

Functions

concatenation_operator(embedding_left, …)

Caclulate the concatenation operator based edge features.

difference_operator(embedding_left, …)

Caclulate the difference operator based edge features.

hadamard_operator(embedding_left, …)

Caclulate the Hadamard operator based edge features.

l1_norm_operator(embedding_left, embedding_right)

Caclulate the L1 norm operator based edge features.

l2_norm_operator(embedding_left, embedding_right)

Caclulate the L2 norm operator based edge features.

Classes

EmbeddingMachine([seed, dimensions, max_iter])

Tool to compute Personalized PageRank based embeddings.

ExampleDataset([base_url])

Class to read the DrugBank DDI Dataset Integrated with BioSNAP.

PersonalizedPageRankMachine(host, graphname, …)

Define a drug-protein graph and compute the Personalized PageRank of nodes.