Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2017 Nov 1;33(21):3502-3504.
doi: 10.1093/bioinformatics/btx306.

BioMake: a GNU make-compatible utility for declarative workflow management

Affiliations

BioMake: a GNU make-compatible utility for declarative workflow management

Ian H Holmes et al. Bioinformatics. .

Abstract

Motivation: The Unix 'make' program is widely used in bioinformatics pipelines, but suffers from problems that limit its application to large analysis datasets. These include reliance on file modification times to determine whether a target is stale, lack of support for parallel execution on clusters, and restricted flexibility to extend the underlying logic program.

Results: We present BioMake, a make-like utility that is compatible with most features of GNU Make and adds support for popular cluster-based job-queue engines, MD5 signatures as an alternative to timestamps, and logic programming extensions in Prolog.

Availability and implementation: BioMake is available for MacOSX and Linux systems from https://github.com/evoldoers/biomake under the BSD3 license. The only dependency is SWI-Prolog (version 7), available from http://www.swi-prolog.org/.

Contact: ihholmes + biomake@gmail.com or cmungall + biomake@gmail.com.

Supplementary information: Feature table comparing BioMake to similar tools. Supplementary data are available at Bioinformatics online.

PubMed Disclaimer

Figures

Fig. 1
Fig. 1
A hypothetical BioMake Makefile that runs align on all ordered pairs of files mouse.fa, human.fa and zebrafish.fa. The rule for file align-$X-$Y creates an alignment (using the program align, assumed to exist on the user’s PATH) from any two files $X.fa and $Y.fa. However, it only applied for those $X and $Y which are flagged as being valid species, via the Prolog facts sp(X) which appear between prolog and endprolog directives. The top-level target all uses BioMake’s $(bagof…) function, a wrapper for the Prolog predicate bagof/3, to find all ordered pairs of species that match the rule. This example is dissected in the repository’s README.md

References

    1. Blake J.A. et al. (2015) Gene Ontology Consortium: going forward. Nucleic Acids Res., 43 (Database issue), D1049–D1056. - PMC - PubMed
    1. Eilbeck K. et al. (2005) The Sequence Ontology: a tool for the unification of genome annotations. Genome Biol., 6, R44. - PMC - PubMed
    1. Have C.T, Mørk S (2014) A probabilistic genome-wide gene reading frame sequence model In: International Work-Conference on Bioinformatics and Biomedical Engineering, pp.350–361. Granada, Spain.
    1. Mørk S, Holmes I (2012) Evaluating bacterial gene-finding HMM structures as probabilistic logic programs. Bioinformatics, 28, 636–642. - PMC - PubMed
    1. Mungall CJ. (2009) Experiences using logic programming in bioinformatics. In P. M. Hill and D. S. Warren, editors, 25th International Conference on Logic Programming, volume 5649 of Lecture Notes in Computer Science, pages 1–21, Pasadena, CA, USA. Springer. DOI 10.1007/978-3-642-02846-5, ISBN 978-3-642-02846-5

LinkOut - more resources