Tom Nijhof Picture

Tom Nijhof

Back End Developer at CytoSMART

Tom is a biomedical engineer by training, working as a back-end developer at CytoSMART and board member of CytoData. He is intrested in data science and drug discovery.


Latest Posts by Tom Nijhof

Creating a Graph of Chemical Reactions

Photo by Omkar Jadhav on Unsplash Chemical reactions produce a substance that can act as an input for another chemical reaction. This concept is represented visually as a graph, and it’s enough to get me excited about exploring its potential in Neo4j! What Is ORD? The Open Reaction Database... read more


Medical Subject Headings (MeSH) Into Neo4j

To make a knowledge graph, it is useful to have a vocabulary in place, which is called an ontology.The Medical Subject Headings is one such ontology, which includes many of the medical terms that are currently being used.It can be downloaded as an RDF file (N-triples), making it easy to import to... read more


Exploring Neodash for 197M Chemical Full-Text Graph

In a previous blog, I loaded 197M chemical names into a graph database. All of these are indexed with a full-text index and use the graph properties to improve the search. In order to test the user experience (not just typing queries), I built a Python backend with fastAPI and a front-end with... read more


Kickstart a Chemical Graph Database

I have spent some time scrapping and shaping PubChem data into a Neo4j graph database. The process took a lot of time, mainly downloading, and loading it into Neo4j. The whole process took weeks.If you want to have your own I will show you how to download mine and set it up in less than an hour... read more


Optimizing Cypher Query Using Parameters

I got a helpful email from Ron van Weverwijk pointing out that constructing a Cypher query every time does not give the best performance. I didn’t know at the time that this would also solve another problem. The problem is the Neo4j desktop app crashing after approximately 1500 requests.In a... read more


Full-Text Search in 197M Chemical Names Graph Database

PubChem is a database with millions of chemical compounds. All these can be downloaded and put into your graph database as a basis for your project.I downloaded 197M synonyms related to 57M compounds for the Open Measurement project.Open MeasurementThis project is being built as part of... read more


Updating My Graph Database Using PubChems Endpoints

Combining PubChem and Neo4j even furtherIn my last blog, I downloaded 197M nodes of all the chemical synonyms out of PubChem. This number was of course too low to cover every chemical synonym ever used.I do want to connect the compounds from NCI (National Cancer Institute, USA) to the... read more



Combining 3 Biochemical Datasets in a Graph Database

The open measurement graph will be used to find connections between different measurements in different experiments and conditions. In a previous blog, we added chemical compounds — and their synonyms — from PubChem into the graph. In this blog, we are going to... read more


Python Packages Licenses Analysis With Neo4j

Do you ever wonder what licenses you need for your Python project? Me too! So I made a tool to figure it out.In short, every package has its license, but so do it’s dependencies and those dependencies’ dependencies. Creating a graph of dependencies is where Neo4j comes... read more