Coder Social home page Coder Social logo

juzheng87 / combofm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aalto-ics-kepaco/combofm

0.0 1.0 0.0 143.2 MB

Machine learning framework for predicting the responses of drug combinations in pre-clinical studies, such as those based on cell lines or patient-derived cells.

Python 55.51% R 44.49%

combofm's Introduction

comboFM: leveraging multi-way interactions for systematic prediction of drug combination effects

Overview

comboFM is a machine learning framework for predicting the responses of drug combinations in pre-clinical studies, such as those based on cell lines or patient-derived cells, implemented in Python.

The data used in the experiments is available on: https://zenodo.org/record/3782333#.XyA-xx1RXyw.

Instructions

comboFM__nested_CV.py contains the script for running the full nested cross-validation (CV). The script takes a number identifying the outer CV loop as an input argument, which allows to parallelize the computations using array jobs. One should also pass the name of the prediction scenario as an input argument, which has to be one of the following options:

  1. new_dose-response_matrix_entries: imputing missing entries in otherwise known dose-response matrices.
  2. new_dose-response_matrices: making predictions for completely held out dose-response matrices, such that the drug pair has still been observed in other cell lines.
  3. new_drug_combinations: making predictions for completely held out drug combinations, such that the individual drugs are still be observed individually in other combinations. In all prediction settings, it is assumed that the monotherapy responses of single drugs in a combination are known (i.e. these are included the training set). We recommend using GPUs for more efficient computations.

comboFM__example.py contains an example of running comboFM for one outer cross-validation fold with fixed parameters to enable testing without having to run the full nested cross-validation procedure.

comboFM_validation.py contains the script for running an experiment on the validation dataset consisting of the remaining NCI-ALMANAC data not used in the method development.

RF__nested_CV.py contains the script for running the full nested cross-validation (CV) procedure with rarndom forerst.

cross-validation_folds stores the cross-validation folds for 10x5 nested CV used in the experiments (10 outer folds, 5 inner folds) for the three prediction settings described above. The folds are designed for duplicated training data in which both of the drugs in a combination are included in both positions such that the symmetry of the drug combinations is taken into account (Drug A - Drug B, Drug B - Drug A), i.e. this informs the algorithm that the combination of drug A with drug B should be considered the same as the combination of drug B with drug A.

preprocessing contains R scripts that were used in preprocessing and extracting the features.

experimental_validation_data contains the results from experimental validation described in the article (also available on Zenodo).

Dependencies

  • numpy
  • scikit-learn
  • scipy
  • tqdm
  • tensorflow 1.0+

comboFM also requires installation of TensorFlow-based factorization machine (Mikhail Trofimov and Alexander Novikov. TFFM: TensorFlow implementation of an arbitrary order Factorization Machine, 2016. https://github.com/geffy/tffm). TFFM can be installed e.g. by pip install tffm.

Citing comboFM

comboFM is described in the following article:

Julkunen, H.; Cichonska, A.; Gautam, P.; Szedmak, S.; Douat, J.; Pahikkala, T.; Aittokallio, T. and Rousu, J. comboFM: leveraging multi-way interactions for systematic prediction of drug combination effects.

combofm's People

Contributors

hjulkunen 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.