Giter Site home page Giter Site logo

syssynbio / hematofateprediction Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marrlab/hematofateprediction

0.0 1.0 0.0 7.73 MB

Code accompanying "Prospective identification of hematopoietic lineage choice by deep learning", Nature methods, in revision

MATLAB 38.83% M 0.61% Jupyter Notebook 35.84% Python 24.72%

hematofateprediction's Introduction

Hemato Fate Prediction

Code and data accompanying

Prospective identification of hematopoietic lineage choice by deep learning

by Felix Buggenthin*, Florian Buettner*, Philipp S Hoppe, Max Endele, Manuel Kroiss, Michael Strasser, Michael Schwarzfischer, Dirk Loeffler, Konstantinos D Kokkaliaris, Oliver Hilsenbeck, Timm Schroeder†, Fabian J Theis†, Carsten Marr†

Download the required data from https://hmgubox.helmholtz-muenchen.de:8001/d/ccbfb5f1ac/

Cell detection

Required software:

  • MATLAB (R2014a)
  • MATLAB Image processing toolbox
  • MATLAB Statistics toolbox

Steps:

  1. Download the dataset Rawdata_buggenthin_buettner_naturemethods2016 (two exemplary positions of experiment 3, ~10 GB) from the link above
  2. Adjust the path to the dataset in celldetection_metascript.m in our repository
  3. Execute celldetection_metascript.m

Cell prediction

Required software:

  • caffe (this fork allowing for prediction with concatenation layer)
  • python 2.7
  • theano>=0.8.2, scikit-learn>=0.18.1, h5py>=2.6.0

Predicting lineage scores

Based on the image patches generated using the celldetection_metascript.m along with the displacemnt feature, our models can be applied to obtain cell-specific predictions of lineage choice. We illustrate the workflow in an ipython notebook that can be viewed interactively. This workflow includes processing of image patches, the extraction of convoluational neural network (CNN)-based patch-specific features as well as the final prediction of cell-specific lineage scores using a recurent neural network (RNN).

Training the networks

Required software:

  • caffe (this fork for prediction with concatenation layer)
  • python 2.7
  • theano>=0.8.2, scikit-learn>=0.18.1, h5py>=2.6.0

To install caffe, please follow these installation instructions for your OS. We highly recommend using the Anaconda framework.

Model training is performed in two steps. First, a CNN is trained based on the image patches generated using the celldetection_metascript.m along with the displacemnt feature. We provide the caffe model specification for training the model in CNN_train_test.prototxt which, along with the solver specifications detaied in CNN_solver.prototxt can be used to train the CNN. We further provide a fully trained model and solverstate, allowing users to fine-tune models for specific applications. After training, the CNN is used to derive patch-specific features.

Next, these CNN-based features are used as input for training an RNN in order to obtain cell-specific lineage scores. RNN training is illustrated in the python script train_conv.py.

hematofateprediction's People

Contributors

flophys avatar f-b-84 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.