Charles Explorer logo
🇬🇧

Using Neo4j for mining protein graphs: a case study

Publication at Faculty of Mathematics and Physics |
2016

Abstract

Using graph databases becomes increasingly popular in domains where data can be modeled as a set of connected objects. Graph databases enable to query such data using graph-based queries in a relatively simple manner in comparison to the classical relational databases.

In this paper, we show how one of the most popular graph databases, Neo4j, can be applied to the bioinformatics problem of protein-protein interface (PPI) identification. The goal of the PPI identification task is, given a protein structure, to identify amino acids which are responsible for binding of the structure to other proteins.

Each protein structure consists of a set of amino acid molecules which can be conceived as a graph and multitude of methods for analysis of such protein graphs have been established. We introduce here a knowledge-based approach which can enhance the quality of these methods by utilizing existing protein structure knowledge stored in the Protein Data Bank (PDB).

We show how to transform information about protein complexes from PDB into Neo4j where they can be stored as a set of independent protein graphs. The resulting graph database contains about 14 millions labeled nodes and 38 millions edges.

In the PPI identification phase, this database is queried using exact subgraph matching and the results are aggregated to improve an existing PPI identification method. We show the pros and cons of using Neo4j for such endeavor with respect to the size of the database and complexity of the queries in comparison to using a relational database (Microsoft SQL Server).

We conclude that using Neo4j is a viable option for specific, rather small, subgraph query types. However, we have encountered performance limitations, especially for larger query graphs in terms of number of edges.