# iPiDA-SWGCN iPiDA-SWGCN: identification of piRNA-disease associations based on Supplementarily Weighted Graph Convolutional Network # Dependencies * python3.6 with pytorch 1.9.0 and torch-geometric 2.0.3 * Nvidia GPU with CUDA 11.1 * numpy 1.19.5 * sklearn 0.24.2 # Data description * In this study, we construct piRNA-disease dataset based on MNDR v3.0 dataset(http://www.rnadisease.org/). After removing duplicate associations, 11981 experimentally verified piRNA-disease associations involving 10149 piRNAs and 19 diseases are collected. * piRNA_information.xlsx:list of piRNA names and piRNAs' corresponding number in the dataset * disease_information.xlsx: list of disease names and diseases' corresponding number * adjPD.npy: piRNA-disease association matrix, a(i,j) represents the association between i-th piRNA and j-th disease * piSim.npy: piRNA-piRNA similarity matrix * DiseaSim.npy: disease-disease similarity matrix * PD_ben_ind_label.npy: benchmark dataset and independent dataset division, where the label 1 and -20 represent positive and negtive samples in benchmark dataset, label -1 and -10 represent positive and negtive samples in independent dataset # Run step 1. run `basic_ML.py` in weights_computation' folder to train several basic predictors to score the piRNA-disease associations. 2. run `com_weights.py` in weights_computation' folder to compute the piRNA-disease association weights by intergrating several basic predictors . 3. run `train_PD_ind.py` to train the GCN model and obtain the final prediction scores for piRNA-disease associations 4. run `evaluate.py` to evaluate the model performance with AUC and AUPR #run sample Please execute the following commands in turns 1. python ../iPiDA-SWGCN_code/weights_computation/basic_ML.py --file_path ../dataset/ \ --piRSim piSim.npy --DisSim DiseaSim.npy --adjPD adjPD.npy \ --PD_ben_ind_label PD_ben_ind_label_balance_col.npy --basic_predictor RF 2. python ../iPiDA-SWGCN_code/weights_computation/com_weights.py --file_path ../dataset/ \ --piRSim piSim.npy --DisSim DiseaSim.npy --adjPD adjPD.npy \ --PD_ben_ind_label PD_ben_ind_label_balance_col.npy 3. python ../iPiDA-SWGCN_code/GCN/train_PD_ind.py --file_path ../dataset/ \ --piRSim piSim.npy --DisSim DiseaSim.npy --adjPD adjPD.npy \ --PD_ben_ind_label PD_ben_ind_label_balance_col.npy --Epoch 1000 --lr 0.001 --weight_decay 1.0 4. python ../iPiDA-SWGCN_code/weights_computation/com_weights.py --file_path ../dataset/ \ --adjPD adjPD.npy --PD_ben_ind_label PD_ben_ind_label_balance_col.npy -- Y_pred predicted_score_SWGCN.npy