DeepMotif icon indicating copy to clipboard operation
DeepMotif copied to clipboard

Deep Motif (ICLR16)/ Deep Motif Dashboard (PSB17): Visualizing Genomic Sequence Classifications

Deep Motif Dashboard: Visualizing and Understanding Genomic Sequences Using Deep Neural Networks

Jack Lanchantin, Ritambhara Singh, Beilun Wang, and Yanjun Qi

Pacific Symposium on Biocomputing (PSB) 2017

https://arxiv.org/abs/1608.03644

Talk slides:

https://github.com/QData/DeepMotif/blob/master/psb_talk_slides.pdf

bibtex:

@inproceedings{lanchantin2017deep,
  title={Deep motif dashboard: Visualizing and understanding genomic sequences using deep neural networks},
  author={Lanchantin, Jack and Singh, Ritambhara and Wang, Beilun and Qi, Yanjun},
  booktitle={PACIFIC SYMPOSIUM ON BIOCOMPUTING 2017},
  pages={254--265},
  year={2017},
  organization={World Scientific}
}

LICENSE

Installation

Lua setup

The main modeling code is written in Lua using torch Installation instructions are located here

After installing torch, install / update these packages by running the following:

luarocks install torch
luarocks install nn
luarocks install optim

CUDA support (Optional)

To enable GPU acceleration with CUDA, you'll need to install CUDA 6.5 or higher as well as cutorch and cunn. You can install / update the torch CUDA libraries by running:

luarocks install cutorch
luarocks install cunn

LFS

Install git large file storage (LFS) in order to download the dataset directly from this git repository.

https://git-lfs.github.com/

Visualization Method Dependencies

Weblogo: http://weblogo.berkeley.edu/

R: https://www.r-project.org/

Usage

Step 1: Get the Data

tar xvzf data/deepbind.tar.gz -C data/

Step 2: Train the model

You can train one of the 3 types of models (CNN, RNN, or CNN-RNN). Check the flags in main.lua for parameters to run the code.

For CNN model:

th main.lua -cnn

For CNN model:

th main.lua -rnn

For CNN-RNN model:

th main.lua -cnn -rnn

Step 3: Visualize the Model's Predictions

Once you have trained models, you can visualize the predictions.

Saliency Map

th saliency_map.lua

Temporal Output Values

th temporal_output_values.lua

Class Optimization

th class_optimization.lua