just annotate it, dammit!
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin Properly report error codes from doit runner Sep 25, 2017
dammit Merge pull request #108 from bluegenes/nr_pipeline Jun 18, 2018
doc Merge in missed refactor/1.0 changes Mar 16, 2018
recipe transdecoder version for build deps; add seqLogo Jun 14, 2018
.gitignore Final fix environments for travis Mar 7, 2018
.travis.yml Install conda-build in travis Mar 16, 2018
CITATION Fix a typo in the docs, add a citation Mar 26, 2016
ChangeLog bump version, update changelog, add parallel to install docs Apr 13, 2016
Dammit_State_of_the_Software.ipynb Update presentations Mar 6, 2018
LICENSE Merge in missed refactor/1.0 changes Mar 16, 2018
MANIFEST.in Update BUSCO tasks to accept v3 Jun 7, 2017
Makefile add a requires_databases marker, quick workaround for CI db install i… Jun 20, 2017
Presentation.ipynb Update presentations Mar 6, 2018
README.rst Fix a typo. Jun 18, 2018
distribute_setup.py Do cython extension properly Sep 30, 2015
generate-test-data.sh split nr into separate pipe to maintain current "full" functionality May 2, 2018
pytest.ini Finish pytest conversion Jun 20, 2017
requirements.txt Merge in missed refactor/1.0 changes Mar 16, 2018
setup.cfg Finish pytest conversion Jun 20, 2017
setup.py Update reqs Mar 7, 2018



Join the chat at https://gitter.im/camillescott/dammit Documentation Status

"I love writing BLAST parsers!" -- no one, ever

dammit is a simple de novo transcriptome annotator. It was born out of the observation that: annotation is mundane and annoying; all the individual pieces of the process exist already; and, the existing solutions are overly complicated or rely on crappy non-free software.

Science shouldn't suck for the sake of sucking, so dammit attempts to make this sucky part of the process suck a little less.

System Requirements

dammit, for now, is officially supported on GNU/Linux systems via bioconda. macOS support will be available via bioconda soon.

For the standard pipeline, dammit needs ~18GB of space to store its prepared databases, plus a few hundred MB per BUSCO database. For the standard annotation pipeline, I recommended 16GB of RAM. This can be reduced by editing LAST parameters via a custom configuration file.

The full pipeline, which uses uniref90, needs several hundred GB of space and considerable RAM to prepare the databases.


As of version 1.*, the recommended installation platform for dammit is via bioconda. If you already have anaconda installed, proceed to the next step. Otherwise, you can either follow the instructions from bioconda, or if you're on Ubuntu (or most GNU/Linux platforms), install it directly into your home folder with:

wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && bash miniconda.sh -b -p $HOME/miniconda
echo 'export PATH="$HOME/miniconda/bin:$PATH"' >> $HOME/.bashrc

It's recommended that you use conda environments to separate your packages, though it isn't strictly necessary:

conda create -n dammit python=3
source activate dammit

Now, add the channels and install dammit:

conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda

conda install dammit

And that's it!


To check for databases, run:

dammit databases

and to download and install the general databases, use:

dammit databases --install

A reduced database set that excludes OrthoDB, uniref, Pfam, and Rfam (ie, all the homology searches other than user-supplied databases) with:

dammit databases --install --quick

dammit supports all the released BUSCO databases, which can be installed with the --busco-group flag; a complete list of available groups can be seen with dammit databases -h:

dammit databases --install --busco-group fungi

To annotate your transcriptome, the most basic usage is:

dammit annotate <transcriptome_fasta>

These are extremely basic examples; for a much more detailed description, take a look at the relevant page in the documentation. The documentation describes how to customization the database installation location and utilize existing databases.

Known Issues

  • On some systems, installation of the ConfigParser package can get borked, which will cause and exception to be thrown. This can be fixed by following the directions at issue #33: https://github.com/camillescott/dammit/issues/33.
  • There can be errors resuming runs which were interrupted on the BUSCO stage. If the task fails on resume, delete the BUSCO results folder within your dammit results folder, which will have a name of the form run_<name>.busco_results.


I've received input and advice from a many sources, including but probably not limited to: C Titus Brown, Matt MacManes, Chris Hamm, Michael Crusoe, Russell Neches, Luiz Irber, Lisa Cohen, Sherine Awad, and Tamer Mansour.

CS was funded by the National Human Genome Research Institute of the National Institutes of Health under Award Number R01HG007513 through May 2016, and now receives support from the Gordon and Betty Moore Foundation under Award number GBMF4551.