bioRxivBioinformaticsPreprint
BioNumPy: Fast and easy analysis of biological data with Python
Knut Dagestad RandiD, Ivar GrytteniD, Milena PavlovićiD, Chakravarthi KanduriiD, Geir Kjetil SandveiD
Abstract
Python is a popular and widespread programming language for scientific computing, in large part due to the powerful array programming library NumPy, which makes it easy to write clean, vectorized and efficient code for handling large datasets. A challenge with using array programming for biological data is that the data is often non-numeric and variable-length (such as DNA sequences), inhibiting out-of-the-box use of standard array programming techniques. Thus, a tradition in bioinformatics has been to use low-level languages like C and C++ to write efficient code. This makes the tools less transparent to the average computational biologist - making them harder to understand, modify and contribute to. We here present a new Python package BioNumPy, which adds a layer on top of NumPy in order to enable intuitive array programming on biological datasets. BioNumPy is able to efficiently load biological datasets (e.g. FASTQ-files, BED-files and BAM-files) into NumPy-like data structures, so that NumPy operations like indexing, vectorized functions and reductions can be applied to the data. We show that BioNumPy is considerably faster than vanilla Python and other Python packages for common bioinformatics tasks, and in many cases as fast as tools written in C/C++. BioNumPy thus bridges a long-lasting gap in bioinformatics, allowing the same programming language (Python) to be used across the full spectrum from quick and simple scripts to computationally efficient processing of large-scale data.
- research focus: software / tool
- research focus: benchmarking
- research focus: database / resource
- approach: statistical model
- approach: experimental assay
- Citations
- 12
Reproducibility ledger
Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.
Sign in to file a reproducibility report.
Related papers
- bíogo: a simple high-performance bioinformatics toolkit for the Go language
R. Daniel Kortschak, David L. Adelson·bioRxiv·Mar 27, 2015
- bioSyntax: Syntax Highlighting For Computational Biology
Artem Babaian, Anicet Ebou, … Yao Li·BMC BioinformaticsPeer-reviewed·Aug 22, 2018
- BioMake: a GNU Make-compatible utility for declarative workflow management
Ian H Holmes, Chris Mungall·BioinformaticsPeer-reviewed·May 8, 2017
- Unmet Needs for Analyzing Biological Big Data: A Survey of 704 NSF Principal Investigators
L. Barone, J. Williams, D. Micklos·bioRxiv·Feb 15, 2017
- Streamlining Data-Intensive Biology With Workflow Systems
Taylor E. Reiter, Phillip Brooks, … N. Tessa Pierce‐Ward·GigaSciencePeer-reviewed·Jan 1, 2021
- Fast Loading and Transformation of Large-Volume Bioimaging Data Consistently Approaching the I/O Peak Speed
Cai Lin, Xuzhong Qu, … Shaoqun Zeng·bioRxiv·Dec 12, 2025