Git Product home page Git Product logo

gmhoddi's Introduction

GMHODDI

Paper is accepted in ICIBM 2018.

Datasets:

Datasets used for this project are from FDA Adverse Event Reporting System. (FAERS https://www.fda.gov/Drugs/GuidanceComplianceRegulatoryInformation/Surveillance/AdverseDrugEffects/ucm082193.htm) Final drug combinations after our data preparation protocols are available in the folder "Dataset." In all the datasets, each row represents a drug combination and each number in each row represents the ID of the drug that the combination contains. The mapping of drug IDs and drug names can be found in the folder "GMHODDI/Dataset/FAERS_Dataset/drug_maps.txt." ย 

Dataset descriptions are as follows:

  1. "GMHODDI/Dataset/FAERS_Dataset/" contains the extracted adverse events including those that are reported to have myopathy (i.e., myopathy_ho_events.txt) and those that are not (i.e., nonmyopathy_ho_events.txt).
  2. "GMHODDI/Dataset/D_FAERS/" contains the extracted drug combinations, where the label can be found in "DFaers_label.csr."
  3. "GMHODDI/Dataset/D_star/" contains the drug combinations that are selected by our training data preparation protocols for model training and cross-validation.
  4. "GMHODDI/Dataset/D_star/CoMed_Feature/" contains the features used to calculate the single drug similarities based on co-medications. Note that there are five set of features corresponding to five cross-validation.
  5. "GMHODDI/Dataset/D_star/Tesing/" and "GMHODDI/Dataset/D_star/Training/" contain the split drug combination for five cross-validation.

SDS

"GMHODDI/SDS/Sim_2d/" and "GMHODDI/SDS/Sim_cm/" contain the single drug similarities that we used to calculate different kernels. "Sim_2d" is the SDSs based on 2d structures and "Sim_cm" is the proposed SDSs based on co-medications.

Framework

We used SVMlight as the framework for our binary classification problem. Specifically, we proposed a graph matching based kernel based on co-medication information and we use SVMlight to conduct the experiments. Detailed explanations of how to use this method are available at SVMlight homepage. (SVMlight http://svmlight.joachims.org/)

Pre-compiled binary files (svm_learn and svm_classify) with self-defined kernel are available in folder "SVM_light_file." Instructions on usage are available at the original author's homepage. You are also free to use other kernels. Instructions are also available at the original author's homepage.

Implementation

Drug-Drug Interaction Prediction based on Co-Medication Patterns and Graph Matching Last modify: 04/18/2018

This code provides how to calculate the proposed kernels based on graph matching and other kernels for baseline methods. For probabilistic drug combination kernels, please visit the original author's website at https://sites.google.com/site/skevinzhou/codes. For the usage of svm_learn and svm_classify, please visit the original author's website at http://svmlight.joachims.org.

Code Information

  • "Kernel_GraphMatching.py" is to calculate the similarity between drug combinations based on graph matching (K_gm).
  • "Kernel_DrugSimilarity.py" is a baseline method to calculate the similarity between drug combinations based on drug similarities (K_ds).
  • "Kernel_CommonDrugs.py" is a baseline method to calculate the similarity between drug combinations based on common drugs (K_cd).
  • "SDS_CoMed.py" is to calculate the single drug similarity base on co-medication information.

Input

There three types of inputs:

  • Single drug similarity: it is provided as a dense matrix. Each line is a row in the matrix and each number in a line corresponds to each column in the matrix.
  • Drug combination: it is provided as a CSR format. Each line is a drug combination and each number in a line corresponds to drugs that the combination contains.
  • Co-medication features: it is provided as a dense matrix. Each line is a row in the matrix and each number in a line corresponds to each column in the matrix.

"Kernel_GraphMatching.py", "Kernel_DrugSimilarity.py" and "Kernel_CommonDrugs.py" take inputs of single drug similarities and drug combianations. "SDS_CoMed.py" takes the input of co-medication features.

Usage

Please download all files in the code directory, including all *.py files, two executables (svm_learn and svm_classify) and kernel.h. For the executables, we have provided a pre-compiled version with Tanimoto kernel. You are free to compile with your preferred kernel from the original author's website at http://svmlight.joachims.org.

The kernels used in the paper are provided in the following link due to the space limits of Github.

The single drug similarities used in the paper are also provided in the folder "/GMHODDI." The co-medication features used in the paper are also provided in the folder "/GMHODDI/Dataset/D_star/CoMed_Feature/."

The following *.py returns the similarities between drug combinations by different methods. The following instructions explain the usage of code:

################################

Kernel_GraphMatching.py:

################################

Graph matching similarity: calculate drug combination similarities by graph matching and given single drug similarities. command:

python Kernel_GraphMatching.py ./SDS_path ./DrugComb_path ./Output_path

parameters:

  • ./SDS_path: (string) path to file of single drug similarities
  • ./DrugComb_path: (string) path to file of durg combinations
  • ./Output_path: (string) path to output locations

################################

Kernel_DrugSimilarity.py:

################################

Convolutional kernels: calculate drug combination similarities from average pairwise single drug similarities.

command:

python Kernel_DrugSimilarity.py ./SDS_path ./DrugComb_path ./Output_path

parameters:

  • ./SDS_path: (string) path to file of single drug similarities
  • ./DrugComb_path: (string) path to file of durg combinations
  • ./Output_path: (string) path to output locations

################################

Kernel_CommonDrugs.py:

################################

Common drugs: calculate drug combination similarities from Tanimoto coefficients.

command:

python Kernel_CommonDrugs.py order ./DrugComb_path ./Output_path

parameters:

  • ./SDS_path: (string) path to file of single drug similarities
  • ./DrugComb_path: (string) path to file of durg combinations
  • ./Output_path: (string) path to output locations

################################

SDS_CoMed.py:

################################

Common drugs: calculate single drug similarities from co-medication features.

command:

python SDS_CoMed.py ./CoMed_Feature_Plus_path ./CoMed_Feature_Minus_path ./Output_path

parameters:

  • ./CoMed_Feature_Plus_path: (string) path to file of co-medication features calculated from case events.
  • ./CoMed_Feature_Minus_path: (string) path to file of co-medication features calculated from control events.
  • ./Output_path: (string) path to output locations

Comments and Bug Reports

Any kind of comments, suggestions, or bug reports are welcome and appreciated. Please feel free to contact the author:

Paper Availability

The paper is accepted in ICIBM 2018 and will be published in a special issue at International Journal of Computational Biology and Drug Design.

gmhoddi's People

Contributors

chiangwe avatar

Stargazers

 avatar

Watchers

James Cloos 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.