Coder Social home page Coder Social logo

dda-skf's Introduction

DDA-SKF

In this work, we used Similarity Kernel Fusion(SKF) and Laplacian regularized least squares (LapRLS) algorithms to predict uncovered drug-disease associations.

Dependency

MATLAB R2019b

python 3.8

Predicting drug-disease associations need to be work on MATLAB platform. Verifying predictional associations need to configure a Python 3 environment to run 'Orphan_drug_prediction.py' and 'Verify_Drug_top_5.py'

Dataset

Under the 'data' folder, 'PREDICT.mat' include 593 drugs and 313 diseases. Meanwhile, 'PREDICT.mat' provide two drug similarity kernels, one disease similarity kernel and the known association matrix for DDA-SKF. 'LRSSL.mat' includes 763 drugs and 681 diseases. 'LRSSL.mat' provides two drug similarity kernels, one disease similarity kernel and the known association matrix for DDA-SKF.

Main modules

1.Three methods to evaluate the model DDA-SKF

Novel association prediction

  • 'PREDICT.mat': providing drug similarity kernels, a disease similarity kernel and an association matrix for this part.
  • 'PREDICT_divide.mat': providing data-division for novel association prediction.
  • 'Novel_association_prediction.m': Running this code to evaluate performance of our model on predicting potential associations.

Novel drug prediction

  • 'PREDICT.mat': providing drug similarity kernels, a disease similarity kernel and an association matrix for this part.
  • 'PREDICT_divide.mat': providing data-division for novel drug prediction.
  • 'Novel_drug_prediction.m': Running this code to evaluate performance of our model for predicting new drugs indications.

Fivefold Cross-Validation (5-CV)

  • 'PREDICT.mat': providing drug similarity kernels, a disease similarity kernel and an association matrix for this part.
  • 'LRSSL.mat': providing drug similarity kernels, a disease similarity kernel and an association matrix for this part.
  • 'PREDICT_divide.mat': providing data-division for five cross-validation.
  • 'LRSSL_divide.mat': providing data-division for five cross-validation.
  • 'Five_CV_result.m': Running this code to estimate the prediction performance of DDA-SKF model.

2.Comparing single similarity kernel and SKF

  • 'PREDICT.mat': providing drug similarity kernels, a disease similarity kernel and an association matrix for this part.
  • 'Drug_single_similarity.m': Running this code to calculate evaluation metrics with every single drug similarity kernel or SKF.
  • 'Disease_single_similarity.m': Running this code to calculate evaluation metrics with every single disease similarity kernel or SKF.
  • 'Gragh_Drg_singleSim.mat': providing data for drawing receiver operating characteristics curve and precision-recall curve in drug subspace.
  • 'Gragh_Dis_singleSim.mat': providing data for drawing receiver operating characteristics curve and precision-recall curve in disease subspace.
  • 'Curve_Drg_SingleSim.m': Running this code to draw receiver operating characteristics curve and precision-recall curve with every single drug similarity kernel or SKF.
  • 'Curve_Dis_SingleSim.m': Running this code to draw receiver operating characteristics curve and precision-recall curve with every single disease similarity kernel or SKF.

3.Predicting top-5 diseases for every drug

  • 'PREDICT.mat': providing drug similarity kernels, a disease similarity kernel and an association matrix. Besides, it provides drug names and disease OMIM IDs for outputting predictional associations. We have obtained the prediction matrix (named 'Score_matrix').
  • 'PredictScore_matrix.m': Running this code to obtain scores for all candidate drug-disease associations. You can obtain the prediction matrix by running this code.
  • 'drug_top5_resluts.m': Running this code to calculate top-5 indications for each drug.

4.Predicting top-5 diseases for every orphan drug

  • 'OrphanDrug.mat': providing drug similarity kernels and each orphan drug association matrix(for example, named 'predictAdmatOrphanDru187'). Besides, it provides drug names and disease OMIM IDs for outputting predictional associations. For each orphan drug, we have obtained their prediction matrix (for example, named 'Celecoxib_score_matrix').
  • Each orphan drug association matrix had been removed all of their known associations before making predictions.
  • 'PredictOrphandrug.m': Running this code to obtain prediction matrix of an orphan drug.
  • 'VerifyOrphanResults.m': Running this code to calculate top-5 indications for an orphan drug.

5.Predicting top-5 drugs for several typical diseases

  • 'PredictSocre_matrix_for_dis.m': Running this code to obtain prediction scores for all candidate drug-disease associations.
  • 'Typical_dis_top5_resluts.m': Running this code to obtain top-5 candidate drugs for an typical disease.

6.Prediction results (This part of code is written in Python 3.8 )

Verifying prediction results for each drug

  • 'Associations.csv': It is a set of the relationship between drugs and diseases from CTD.
  • 'drug593-dis5.csv': It based on running the code 'drug_top5_resluts.m' on MATLAB platfrom.
  • 'Verify_Drug_top_5.py': Running this code to verify the prediction relationship. The results will be saved to 'Drug_top_5_results.txt'.

Verifying prediction results for orphan drugs

  • 'Associations.csv': It is a set of the relationship between drugs and diseases from CTD.
  • 'col187DB00482-dis5.csv','col228DB00563-dis5.csv' and 'col428DB00997-dis5.csv': these tables based on running the code 'VerifyOrphanResults.m' on MATLAB platfrom.
  • 'col187DB00482-dis5.csv': It is the prediction results of orphan drug Celecoxib.
  • 'col228DB00563-dis5.csv': It is the prediction results of orphan drug Methotrexate.
  • 'col428DB00997-dis5.csv': It is the prediction results of orphan drug Doxorubicin.
  • 'Orphan_drug_prediction.py': Running this code to verify the prediction relationship. The results will be saved to 'Orphan_drug_results.txt'.

dda-skf's People

Contributors

gcq2119216031 avatar ashuirua avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.