eghbalz / deepsnp

The sourcecode of DeepSNP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DeepSNP

This repository contains the code for the paper

Deep SNP: An End-to-end Deep Neural Network with Attention-based Localization for Break-point Detection in SNP Array Genomic Data
Hamid Eghbal-zadeh, Lukas Fischer, Niko Popitsch, Florian Kromp, Sabine Taschner-Mandl, Teresa Gerber, Eva Bozsaky, Peter F. Ambros, Inge M. Ambros, Gerhard Widmer, Bernhard A. Moser

Published in JCB and initially at the joint ICML and IJCAI 2018 Workshop on Computational Biology

Citing DeepSNP

If you use DeepSNP in your research, please cite the following BibTeX entry:

@article{eghbal2018deepsnp,
    author={Eghbal-Zadeh, Hamid and Fischer, Lukas and Popitsch, Niko and Kromp, Florian and Taschner-Mandl, Sabine and Gerber, Teresa and Bozsaky, Eva and Ambros, Peter F. and Ambros, Inge M. and Widmer, Gerhard and Moser, Bernhard A.},
    title={DeepSNP: An End-to-End Deep Neural Network with Attention-Based Localization for Breakpoint Detection in Single-Nucleotide Polymorphism Array Genomic Data},
    journal = {Journal of Computational Biology},
    volume = {26},
    number = {6},
    pages = {},
    year = {2019},
    doi = {10.1089/cmb.2018.0172},
    note ={PMID: 30585743},
    URL = {https://doi.org/10.1089/cmb.2018.0172},
    eprint = {https://doi.org/10.1089/cmb.2018.0172}
}

Setup

DeepSNP was developed using Python 3.6 (Anaconda), Keras 2.2.2 and Tensorflow 1.9 and was tested under Windows 10 and Ubuntu 16.04.

pip install -r requirements.txt

Data preparation

DeepSNP expects windowed data from SNPa sequences. To prepare your data follow the instructions described in TRAINING.

Configuration

Experiment ID and run mode (training, inference (default), data_from_raw, eval_rawcopy) can be passed to the main.py function.
Each experiment ID needs a configuration file (inheriting the default configuration: configs/config.py)

For example to run inference with DeepSNPv1 with no attention use:

python main.py --exp_id DeepSNP_V1_noAtt' --mode inference

This wil load the configuration defined in:

configs/config_DeepSNP_V1_noAtt.py

Training from scratch

To train the provided models from scratch please refer to TRAINING.

Evaluate Rawcopy breakpoint predictions

To evaluate the breakpoint prediction performance of Rawcopy on a certain data set use:

python main.py --mode eval_rawcopy

Acknowledgements

This work was carried out within the Austrian Research Promotion Agency (FFG) COIN "Networks" project VISIOMICS together with St. Anna Kinderkrebsforschung and additionally supported by the Austrian Ministry for Transport, Innovation and Technology, the Federal Ministry of Science, Research and Economy, and the Province of Upper Austria in the frame of the COMET center SCCH. The authors gratefully acknowledge the support of NVIDIA Corporation with the donation of a Titan~X GPU used for this research.

About

The sourcecode of DeepSNP

License:MIT License


Languages

Language:Python 100.0%