dreamtools 1.3.0
Scoring functions for the DREAM / SAGE challenges
License: BSD
Keywords: DREAM challenges,DREAM,System Biology,Leaderboard,ROC,scoring,synapse,statistics

############################################################################
DREAMTools
############################################################################

.. image:: https://badge.fury.io/py/dreamtools.svg
    :target: https://pypi.python.org/pypi/dreamtools

.. image:: https://secure.travis-ci.org/dreamtools/dreamtools.png
    :target: http://travis-ci.org/dreamtools/dreamtools

.. image:: https://coveralls.io/repos/dreamtools/dreamtools/badge.png?branch=master
   :target: https://coveralls.io/r/dreamtools/dreamtools?branch=master

.. image:: https://zenodo.org/badge/18543/dreamtools/dreamtools.svg
   :target: https://zenodo.org/badge/latestdoi/18543/dreamtools/dreamtools

.. image:: http://readthedocs.org/projects/dreamtools/badge/?version=latest
   :target: http://dreamtools.readthedocs.org/en/latest/?badge=latest
   :alt: Documentation Status

:Python version: DREAMTools is supported for Python 2.7, 3.4 and 3.5.
    Pre-compiled versions are available for Linux and MAC platforms through Anaconda
    and the **bioconda** channel.

:Note about coverage: We do not run the entire test suite on Travis, which
                      reports a 40% test coverage. Note however, that the actual
                      test coverage is about 80%.
:Contributions: Please join https://github.com/dreamtools/dreamtools
:Online documentation: `On readthedocs <http://dreamtools.readthedocs.org/>`_
:Issues and bug reports: `On github <https://github.com/dreamtools/dreamtools/issues>`_
:How to cite: Cokelaer T, Bansal M, Bare C et al. DREAMTools: a Python
    package for scoring collaborative challenges [version 1; referees:
    awaiting peer review] F1000Research 2015, 4:1030
    (doi: 10.12688/f1000research.7118.1)
    `F1000 link <http://f1000research.com/articles/4-1030/v1>`_

.. won't appear on github but within the sphinx doc
.. image:: ../dreamtools_logo.png
    :width: 50%

.. contents::

Overview
----------------

Motivation
~~~~~~~~~~~~

**DREAMTools** aims at sharing code used in the scoring of `DREAM <http://dreamchallenges.org>`_ challenges that pose fundamental questions about system biology and translational medicine.

The main goals of **DREAMTools** are to provide:

#. Scoring functions equivalent to those used during past DREAM challenges for **end-users** via a standalone application (called **dreamtools**).
#. A common place for **developers** involved in the DREAM challenges to share code

**DREAMTools** does not provide code related to aggregation,
leaderboards, or more complex analysis even though such code
may be provided (e.g., in D8C1 challenge).

Note that many scoring functions requires data hosted on `Synapse <http://www.synapse.org>`_ . We therefore strongly encourage you to **register to Synapse**. Depending on the challenge, you may be requested to accept terms of agreements to use the data.

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

For those familiar with Python, you may use the `pip executable <https://pypi.python.org/pypi/pip>`_ provided with Python. It will install the latest release of **DREAMTools** and the dependencies::

    pip install cython
    pip install dreamtools

If you are not familiar with compilation and/or Python, you may use `conda <https://www.continuum.io/downloads>`_ since we have pre-compiled packages with a conda channel called **bioconda**::

    conda config --add channels r
    conda config --add channels bioconda
    conda install dreamtools

See `Installation section on RTD <http://dreamtools.readthedocs.org/en/latest/installation.html#installation>`_ for details.

Usage
~~~~~~~~~
**DREAMTools** can be used by developers as a Python package::

    >>> from dreamtools import D6C3
    >>> s = D6C3()
    >>> s.score(s.download_template())
    {'results': chi2            53.980741
    R-square        34.733565
    Spearman(Sp)     0.646917
    Pearson(Cp)      0.647516
    dtype: float64}

A standalone application can be used from a terminal. The executable is called **dreamtools**. Here is an example::

    dreamtools --challenge D6C3 --submission path_to_a_file

See `online documentation on <dreamtools.rtd.org for details>`_ for more details
and examples. The source code also provides a set of IPython/Jupyter notebooks.






Available challenges, templates and gold standards
--------------------------------------------------------

**DREAMTools** includes about 80% of DREAM challenges from DREAM2 to DREAM9.5
Please visit `F1000 link <http://f1000research.com/articles/4-1030/v1>`_  (Table 1).

All gold standards and templates are retrieved automatically. Once downloaded, you 
can obtain the location of a gold standard or template as follows::

    dreamtools --challenge D6C3 --download-gold-standard
    dreamtools --challenge D6C3 --download-template


See `online documentation on RTD <http://dreamtools.readthedocs.org/>`_ for details.