# DSGRN
Dynamic Signatures Generated by Regulatory Networks

[![Build Status](https://travis-ci.org/shaunharker/DSGRN.svg?branch=master)](https://travis-ci.org/shaunharker/DSGRN) [![Coverage Status](https://coveralls.io/repos/github/shaunharker/DSGRN/badge.svg?branch=master)](https://coveralls.io/github/shaunharker/DSGRN?branch=master)[![DOI](https://zenodo.org/badge/35697682.svg)](https://zenodo.org/badge/latestdoi/35697682)

[Documentation](http://dsgrn.readthedocs.io/en/latest/)

## Overview 

This project uses computational dynamics to produce
dynamical surveys of switching models of regulatory 
networks. The resulting data is stored into a database
which can then be queried for further research.


## Installation

To get the latest tagged version from the PyPI repository:

```bash
pip install DSGRN
```

To uninstall:

```bash
pip uninstall DSGRN
```

## Installing from source

Assuming you have a C++ compiler and the Python 3 dependencies installed on your system, you can install from source with the command:

	pip install --upgrade --force-reinstall --no-deps --no-cache-dir git+https://github.com/marciogameiro/DSGRN.git

Alternatively, you can clone the GitHub repository and install with:

	git clone https://github.com/marciogameiro/DSGRN.git
	cd DSGRN
	./install.sh

If you don't have all the dependencies installed or if the above fails, see [Install.md](Install.md) for some options on how to proceed. Installing DSGRN as above on a Mac usually fails with the C++ compiler and the Python provided by Apple. In that case you need to install new versions as described in the link above.

## Usage

To check if DSGRN is installed do

```python,test
import DSGRN

network = DSGRN.Network("X1 : (~X1)(X2)\n X2 : (X1)(~X2)")
DSGRN.DrawGraph(network)
```

This should plot the network

<img src="network.png" width="120">

See the [GettingStarted.ipynb](https://github.com/marciogameiro/DSGRN/blob/master/Tutorials/GettingStarted.ipynb) jupyter notebook in the [Tutorials](https://github.com/marciogameiro/DSGRN/blob/master/Tutorials/) folder for the basic usage of DSGRN.

## Examples and Documentation

See [Tutorials](https://github.com/marciogameiro/DSGRN/blob/master/Tutorials/) folder for examples.

Also see the [documentation](https://shaunharker.github.io/DSGRN/).
