Book
BiocPy: Facilitate Bioconductor Workflows in Python
Bioconductor is an open-source software project that provides tools for the analysis and comprehension of genomic data. One of the main advantages of Bioconductor is the availability of standard data representations and large number of analysis tools tailored for genomic experiments. These tools allow researchers to seamlessly store, manipulate, and analyze data across multiple tools and workflows in R.
Inspired by Bioconductor, BiocPy aims to facilitate bioinformatics workflows in Python. To achieve this goal, we developed several core data structures that align closely to the Bioconductor implementations. These structures include BiocFrame, providing a Bioconductor-like data frame class, and GenomicRanges which aids in representing genomic regions and facilitating analysis. They serve as essential and foundational data structures, acting as the building blocks for extensive and complex representations. For instance, container classes like SummarizedExperiment, SingleCellExperiment and MultiAssayExperiment represent single or multi-omic experimental data and metadata.
Moreover, BiocPy introduces a diverse range of data type classes designed to support the representation of atomic entities, including float, string, int lists, and named lists. These generics and utilities are provided through BiocUtils package and the delayed and file-backed array operations in the DelayedArray and their derivatives (HDF5Array, TileDbArray). To our knowledge, BiocPy is the first Python framework to provide seamless, well-integrated data structures and representations for genomic data analysis.
For convenient access to experimental data stored in RDS files, the rds2py package provides bindings to the rds2cpp library. This enables direct reading of RDS files in Python, eliminating the requirement for additional data conversion tools or intermediate formats. The package’s functionality streamlines the transition between Python and R, facilitating seamless analysis.
Although not covered by this tutorial, BiocPy provides bindings to libscran and various other single-cell analysis methods incorporated into the scranpy package to support analysis of multi-modal single-cell datasets. It also features integration with the singleR algorithm to annotate cell types by matching cells to known references based on their expression profiles.
All packages within the BiocPy ecosystem are published to Python’s Package Index (PyPI).
Resource type: Book
Activity log
