All Projects → marrlab → HematoFatePrediction

marrlab / HematoFatePrediction

Licence: other
Code accompanying "Prospective identification of hematopoietic lineage choice by deep learning", Nature methods 2017, DOI:10.1038/nmeth.4182

Programming Languages

matlab
3953 projects
Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
M
324 projects

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†

published in Nature Methods in 2017 DOI:10.1038/nmeth.4182

Download the required data from https://drive.google.com/file/d/1j10HeL87CIkdvHzC-98IUt-IUh9XHHTb/view?usp=sharing

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].