The backbone of research reproducibility - sustainable and flexible tool deployment
Creators: name: Grüning, Björn
name: Chilton, John
name: Köster, Johannes
name: Ryan, Dale
name: Yasset Perez-Riverol
Publisher: name: F1000Research
Year: 2017

description: A massive amount of diverse data is generated in biomedical research. To manage it and extract useful information, bioinformatic tools and software must be developed. The development of a tool should always follow a similar process. First, to solve a scientific question or a need source code is developed that can be distributed as is. To help deployment and ease the usage, the code is packaged in various package formats. The tool using the code is then deployed and used. Ideally, documentation, training and support are also provided to guide users, illustrate the solution, and advertise it.<br><br>This process, from development to support, is the golden path to develop a good tool. But issues with deployment and sustainability of the tool are found for many bioinformatic tools. What bioinformatician has not dealt with the situation of missing tool dependencies, or an older version of a tool that could not be installed due to various reasons? Deployment and sustainability of tools are therefore a major threat for productivity and reproducibility in science.<br><br>For deployment, we need a package manager that is OS- and programming language-agnostic, as bioinformatics tools are developed in many available languages and can be intended to be used on every major operating system, including enterprise ones. Moreover all available packages should be permanently cached to be always reachable to enable reproducibility in the long term.<br><br>Here we describe a community effort to create a flexible, scalable and sustainable system to fix the tool deployment problem once and for all.Bioconda is a platform for distribution of bioinformatics software using Conda, an open source package manager developed by ContinuumIO which is independent of any programming language and OS. Installation of Conda packages are fast and robust. No root privileges are required and multiple versions of every software can be installed and managed in parallel. Supported by an extensive documentation, writing a Conda package is very simple, easing the contribution. Thanks to its big and fast-growing community, more than 2,000 bioinformatic packages have been developed in the 18 months it has existed. These packages are long-term stored in a public repository (Cargo Port, the distribution center of the Galaxy Project), resolving the sustainability issue. Moreover, a technique called layer donning has been recently introduced to build containers automatically and very efficiently for all Conda packages. These are automatically contributed to the  BioContainers repository.<br><br>Development of conda packages through the BioConda community eases the packaging and the deployment of any bioinformatic tool. The interface with Cargo Port enables sustainability by mirroring all sources. Building efficient Linux containers automatically ensures an even higher layer of abstraction and isolation of the base system. Thanks to these collaborative projects, their community and their collaborations, tools can be easily packaged, deployed and will be always available to help biomedical research.