DeepMotif
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}
}
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