MedicineBiology-AI / brainMI

A network-based method for brain disease gene prediction by integrating brain connectome and molecular network
7 stars 5 forks source link

brainMI

This repo is moved to 23AIBox

Brain disease gene identification is critical for revealing the biological mechanism and developing drugs for brain diseases. To enhance the identification of brain disease genes, similarity-based computational methods, especially network-based methods have been adopted for narrowing down the searching space. However, these network-based methods only use molecular networks, ignoring brain connectome data, which has been widely used in many brain-related studies. In our study, we propose a novel framework, named brainMI, for integrating brain connectome data and molecular-based gene association networks to predict brain disease genes. For the consistent representation of molecular-based network data and brain connectome data, brainMI first constructs a novel gene network, called brain functional connectivity (BFC)- based gene network, based on resting-state functional magnetic resonance imaging data and brain region-specific gene expression data. Then, a multiple network integration method is proposed to learn low-dimensional features of genes by integrating the BFC-based gene network and existing protein-protein interaction (PPI) networks. Finally, these features are utilized to predict brain disease genes based on a support vector machine-based model. We evaluate brainMI on four brain diseases, including Alzheimer's disease, Parkinson's disease, Major depressive disorder, and Autism. brainMI achieves AUROC of 0.761, 0.729, 0.728, and 0.744 using the BFC-based gene network alone, and enhances the molecular network-based performance by 6.3% on average. In addition, the results show that brainMI achieves higher performance in predicting brain disease genes compared to the existing three state-of-the-art methods.

BFC-based gene network

The BFC-based gene network we constructed is available at https://pan.baidu.com/s/1w_H2piQxrHQEBDMgSU1_sg (extracted code: 1yh6). It is a numpy format file. You can check it as follows:

import numpy as np 
file = np.load("BFC_based_gene_network_filtered.npz", allow_pickle=True)
# check files 
print(file.files)  # Output: ['corr', 'symbol']

net, symbol = file['corr'], file['symbol']

Dependencies

Runing

Dataset

The original data used in this experiment should be downloaded to the data/raw/ folder. The detail is described in READM_data.md.

Data prepare

Please enter the data_prepare folder in the terminal first, and then prepare the data according to README_data_prepare.md.

Maybe like:

(torch) cat@Linux:~/brainMI$ cd data_prepare
(torch) cat@Linux:~/brainMI/data_prepare$ python BFC_based_gene_network_construction.py 
(torch) cat@Linux:~/brainMI/data_prepare$ python BFC_based_gene_network_filter.py 
(torch) cat@Linux:~/brainMI/data_prepare$ python get_ppi_sub_net.py
(torch) cat@Linux:~/brainMI/data_prepare$ python get_brainDiseasegenes.py

Evaluation

(torch) cat@Linux:~/brainMI$ python main.py