Accept journal IEEE Journal of Biomedical and Health Informatics ## Paper [Paper link]
The code for paper Self-supervised contrastive learning on attribute and topology graphs for predicting relationships among lncRNAs, miRNAs and diseases". The repository is organized as follows:
data/contains the dataset 1 and dataset 2 used in the paper, with dataset 1 as an example;lnc(mi)_dis_association_new2.txtandlnc_mi_interaction_new2.txtcontain known lncRNA(miRNA)-disease associations and lncRNA-miRNA interactions, respectively;LDA/MDA/LMI.edgelistcontain known LDA, MDA, and LMI pairs, respectively;no_LDA/MDA/LMI.edgelistcontain unknown LDA, MDA, LMI pairs;lncRNA/miRNA_sequences2.xlsxcontain lncRNA and miRNA sequences, lncRNA sequences are from NCBI, miRNA sequences are from miRBase;disease_name.xlsxcontains disease names and their DOID numbers;dis_sem_sim.txtcontains disease semantic similarity data:
code/data_preparation.pyis used to calculate lncRNA/miRNA k-mer features and construct knn graph (attribute graph) of lncRNA/miRNA/disease.calculating_similarity.pyis used to calclulate lncRNA/miRNA/disease GIPK similarities and obtain the intra-edges in the topology graph;parms_setting.pycontains hyperparmeters;utils.pycontains preprocessing function of the data;data_preprocess.pycontains the preprocess of data;layer.pycontains SSCLMD's model layer;train.pycontains training and testing code;main.pyruns SSCLMD;
- numpy == 1.21.1
- torch == 2.0.0+cu118
- sklearn == 0.24.1
- torch-geometric == 2.3.0
Here we provide a example to predict the lncRNA-disease association scores on dataset 1:
- Download and upzip our data and code files
- Run data_preparation.py and calculating_similarity.py to obtain lncRNA/miRNA/disease attribute graph and intra_edge of topology graph
- Run main.py (in file-- dataset1/LDA.edgelist, neg_sample-- dataset1/non_LDA.edgelist, task_type--LDAl)
It is recommended that you save the training and test sets for each fold and then calculate the lncRNA/miRNA/disease functional similarity. Then continue with subsequent calculations, which will speed up the calculation.
If you have any questions, please email Nan Sheng (shengnan@jlu.edu.cn)