Basenji provides researchers with tools to:
Akita provides researchers with tools to:
This codebase offers numerous improvements and generalizations to its predecessor Basset, and I'll be using it for all of my ongoing work. Here are the salient changes.
Basenji/Akita were developed with Python3 and a variety of scientific computing dependencies, which you can see and install via requirements.txt for pip and environment.yml for Anaconda. For each case, we kept TensorFlow separate to allow you to choose the install method that works best for you.
Run the following to install dependencies and Basenji with Anaconda.
conda env create -f environment.yml conda install tensorflow==1.15 (or tensorflow-gpu) python setup.py develop --no-deps
Alternatively, if you want to guarantee working versions of each dependency, you can install via a fully pre-specified environment.
conda env create -f prespecified.yml conda install tensorflow==1.15 (or tensorflow-gpu) python setup.py develop --no-deps
Or the following to install dependencies and Basenji with pip and setuptools.
python setup.py develop pip install tensorflow==1.15 (or tensorflow-gpu)
Then we recommend setting the following environmental variables.
export BASENJIDIR=~/code/Basenji export PATH=$BASENJIDIR/bin:$PATH export PYTHONPATH=$BASENJIDIR/bin:$PYTHONPATH
To verify the install, launch python and run
Models and (links to) data studied in various manuscripts are available in the manuscripts directory.
At this stage, Basenji is something in between personal research code and accessible software for wide use. The primary challenge is uncertainty in what the best role for this type of toolkit is going to be in functional genomics and statistical genetics. The computational requirements don't make it easy either. Thus, this package is under active development, and I encourage anyone to get in touch to relate your experience and request clarifications or additional features, documentation, or tutorials.
These are a work in progress, so forgive incompleteness for the moment. If there's a task that you're interested in that I haven't included, feel free to post it as an Issue at the top.