# GenomeFlow: TensorFlow for genomics.

## Installation
Installation requires numpy, tensorflow, and bcolz.
```
git clone https://github.com/kundajelab/genomeflow
pip install -U genomeflow
```

If you plan to make changes to the genomeflow source, add the `-e` flag so the
installed package is linked to the source directory.

## I/O module
The `genomeflow.io` module provides an interface for efficiently reading genome-wide data compressed
with bcolz.

For a demo of the io module, see [the io demo Jupyter notebook](docs/notebooks/genomeflow-io-demo.ipynb)

### DatasetIntervalReader
The io module contains a convenient wrapper called `io.DatasetIntervalReader`.
A `DatasetIntervalReader` takes a list of intervals and optionally labels, fetches data from
one or more datafiles (collectively called a 'dataset'), and enqueues the read data records (along
with the intervals and labels) in an examples queue.

![genomeflow io module](docs/images/io_schematic.png)

## Initializers
Genomeflow provides several random initializer ops which are useful for sequence convolution filters 
in `genomeflow.initializers` ([source here](genomeflow/initializers.py)).
