Using a Graph Recommendation Algorithm for Predicting Chemical—Cell Interaction

Tom Nijhof-Verhees
Neo4j Developer Blog
8 min readNov 8, 2022

--

Recommendation algorithms are often written with a user-product relationship in mind. “Which user bought what product” or “Who liked this movie”. From this data, a prediction is made about an unknown user-product relation.
However, this same algorithm can predict reactions between a chemical and a specific cell line.

In this blog, I will implement a Collaborative filtering algorithm in a graph database. The focus will be on how to implement it. While a basic validation is done, it is not the focus of this blog.

The Data

The dataset used is the NCI60 dataset. In a previous blog, I went into detail on how I created the full graph, here is just a recap.
The NCI60 dataset has the GI50 measurement. This is the concentration of a chemical to have a 50% Growth Inhibition of a cell line.

Concentration is given in the logarithmic scale, which means a GI50 of -5 means the concentration is 10–5 or 0.0001

The Graph

The graph I made previously holds the experiments, their conditions, their measurements, and all variables used. This is done with the idea it can be extended later with different kinds of experiments.

This graph shows 2 measurements, NSC123127 on NCI-H23, and NSC 19893 on A498

--

--

Tom Nijhof-Verhees
Neo4j Developer Blog

I do have a focus in my blog: "whatever intrestes me this week"