Skip to content

Protein-Protein interaction inference using graph neural networks

License

Notifications You must be signed in to change notification settings

Sum02dean/GCN-STRING

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 

Repository files navigation

STRING logo

Predict Phyiscal Protein Interactions using Graph Neural Networks

This repository contains code for predicting physical interaction of proteins using direct coupling analysis and graph neural networks.

Setup:

This code was designed to run on the s3it cluster to avoid out of memory (OOM) issues.

GPU Usage:

Because of the large datasets involved data-loading and training can take a large amount of time. To run on s3it GPU cluster, make sure to have a GPU compatible version of tensorflow installed before running the code. Please visit s3it-GPU instructions.

Installation:

This requires a valid installation of Anaconda or miniconda. Create the Python environment as described below:

cd configs
conda env create -f env.yml 
conda activate gcn_env

Data:

You can find the data paths within the gcn_generator.py file (see scripts directory).

Data Preparation:

To generate the inter protein graphs, run:

cd src/scripts
bash run_graph_generator.sh

Running the Model:

To run the model simply run:

cd src/scripts
bash run_graph_prediction.sh

Example Results:

Running the GCN on the E.coli dataset shows a learnable signal and good predictive performance

example GCN results

Model:

Models Resources
Neural Net (Spektral GCN) Spektral model

Potential Conflicts:

There may be issues running this code from a local machine. It was designed to run on the s3it cluster.

Major Dependencies:

The conda environemnt provided should contain all of these requirements. If not, you can find them at the following sources.

Dependency Installation
Spektral (cpu, linux) Pypi

About

Protein-Protein interaction inference using graph neural networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published