Skip to main content

CONCISE (COnvolutional Neural for CIS-regulatory Elements) is a model for predicting PTR features like mRNA half-life from cis-regulatory elements using deep learning.

Project description

===============================
CONCISE
===============================


.. image:: https://img.shields.io/pypi/v/concise.svg
:target: https://pypi.python.org/pypi/concise

.. image:: https://img.shields.io/travis/Avsecz/concise.svg
:target: https://travis-ci.org/Avsecz/concise

.. image:: https://readthedocs.org/projects/concise-bio/badge/?version=latest
:target: https://concise-bio.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

CONCISE (COnvolutional neural Network for CIS-regulatory Elements) is a model for predicting any quatitative outcome (say mRNA half-life) from cis-regulatory sequence using deep learning.

* Developed by the Gagneur Lab (computational biology): https://www.gagneurlab.in.tum.de
* Free software: MIT license
* Documentation: https://concise-bio.readthedocs.io

.. image:: https://github.com/Avsecz/concise/blob/master/concise-figure1.png
:target: https://github.com/Avsecz/concise/blob/master/concise-figure1.png
:width: 60%
:align: center

Features
--------

* Very simple API
* Serializing the model to JSON
- allows to analyze the results in any langugage of choice
* Helper function for hyper-parameter random search
* CONCISE uses TensorFlow at its core and is hence able of using GPU computing

Installation
------------

After installing the following prerequisites:

1. Python (3.4 or 3.5) with pip (see `Python installation guide`_ and `pip documentation`_)
2. TensorFlow python package (see `TensorFlow installation guide`_ or `Installing Tensorflow on AWS GPU-instance`_)


install CONCISE using pip:

::

pip install concise


.. _pip documentation: https://pip.pypa.io
.. _Python installation guide: http://docs.python-guide.org/en/latest/starting/installation/
.. _TensorFlow installation guide: https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html
.. _Installing Tensorflow on AWS GPU-instance: http://max-likelihood.com/2016/06/18/aws-tensorflow-setup/

Getting Started
---------------

.. code-block:: python

import pandas as pd
import concise

# read-in and prepare the data
dt = pd.read_csv("./data/pombe_half-life_UTR3.csv")

X_feat, X_seq, y, id_vec = concise.prepare_data(dt,
features=["UTR3_length", "UTR5_length"],
response="hlt",
sequence="seq",
id_column="ID",
seq_align="end",
trim_seq_len=500,
)

######
# Train CONCISE
######

# initialize CONCISE
co = concise.Concise(motif_length = 9, n_motifs = 2,
init_motifs = ("TATTTAT", "TTAATGA"))

# train:
# - on a GPU if tensorflow is compiled with GPU support
# - on a CPU with 5 cores otherwise
co.train(X_feat[500:], X_seq[500:], y[500:], n_cores = 5)

# predict
co.predict(X_feat[:500], X_seq[:500])

# get fitted weights
co.get_weights()

# save/load from a file
co.save("./Concise.json")
co2 = Concise.load("./Concise.json")

######
# Train CONCISE in 5-fold cross-validation
######

# intialize
co3 = concise.Concise(motif_length = 9, n_motifs = 2,
init_motifs = ("TATTTAT", "TTAATGA"))

cocv = concise.ConciseCV(concise_object = co3)

# train
cocv.train(X_feat, X_seq, y, id_vec,
n_folds=5, n_cores=3, train_global_model=True)

# out-of-fold prediction
cocv.get_CV_prediction()

# save/load from a file
cocv.save("./Concise.json")
cocv2 = ConciseCV.load("./Concise.json")



Where to go from here:
----------------------

* See the example file `<scripts/example-workflow.py>`_
* Read the API Documenation https://concise-bio.readthedocs.io/en/latest/documentation.html



=======
History
=======

0.1.0 (2016-09-15)
------------------

* First release on PyPI.

0.1.1 (2016-09-17)
------------------

* Minor documentation changes
* Renamed some internal variables

0.2.0 (2016-09-21)
------------------

* Introduced new feature: regress_out_feat
* Major renaming of variables for concistency

0.3.0 (2016-11-30)
------------------

* Added L-BFGS optimizer in addition to Adam. Use optimizer="lbfgs" in Concise()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

concise-0.3.3.tar.gz (733.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

concise-0.3.3-py2.py3-none-any.whl (26.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file concise-0.3.3.tar.gz.

File metadata

  • Download URL: concise-0.3.3.tar.gz
  • Upload date:
  • Size: 733.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for concise-0.3.3.tar.gz
Algorithm Hash digest
SHA256 aa4f76e4814aee1fbfcb557645685f98e7ab4e79eab472f6bef3e37ae69ecd68
MD5 abb4f19c805afde27b48127ccf9e7eed
BLAKE2b-256 150a801f47b9f7b67c7024d4e1753076a7f9b4c3651053cd0b1bd0e51003d88f

See more details on using hashes here.

File details

Details for the file concise-0.3.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for concise-0.3.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7da652c8570455c82fdb386f104d151207c224ce5a1f4b3a42bfdcb663c19d26
MD5 8a8f1396380071dd0f87dd85bb5da22e
BLAKE2b-256 08e8698495d70785fe1a81150a082e18b4f0a54a9ba1a94b22503e546cd9ab9b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page