Email updates

Keep up to date with the latest news and content from BMC Bioinformatics and BioMed Central.

This article is part of the supplement: Proceedings of the 11th Annual Bioinformatics Open Source Conference (BOSC) 2010

Open Access Proceedings

An intuitive Python interface for Bioconductor libraries demonstrates the utility of language translators

Laurent Gautier

Author Affiliations

DMAC, Centre for Biological Sequence Analysis, Department of Systems Biology, Technical University of Denmark, Matematiktorvet, 2100 Lyngby, Denmark

BMC Bioinformatics 2010, 11(Suppl 12):S11  doi:10.1186/1471-2105-11-S12-S11

Published: 21 December 2010

Abstract

Background

Computer languages can be domain-related, and in the case of multidisciplinary projects, knowledge of several languages will be needed in order to quickly implements ideas. Moreover, each computer language has relative strong points, making some languages better suited than others for a given task to be implemented. The Bioconductor project, based on the R language, has become a reference for the numerical processing and statistical analysis of data coming from high-throughput biological assays, providing a rich selection of methods and algorithms to the research community. At the same time, Python has matured as a rich and reliable language for the agile development of prototypes or final implementations, as well as for handling large data sets.

Results

The data structures and functions from Bioconductor can be exposed to Python as a regular library. This allows a fully transparent and native use of Bioconductor from Python, without one having to know the R language and with only a small community of translators required to know both. To demonstrate this, we have implemented such Python representations for key infrastructure packages in Bioconductor, letting a Python programmer handle annotation data, microarray data, and next-generation sequencing data.

Conclusions

Bioconductor is now not solely reserved to R users. Building a Python application using Bioconductor functionality can be done just like if Bioconductor was a Python package. Moreover, similar principles can be applied to other languages and libraries. Our Python package is available at: http://pypi.python.org/pypi/rpy2-bioconductor-extensions/ webcite