We present BioProfiling.jl, which provides an end-to-end and efficient solution for assembling and curating informative cellular morphological profiles in Julia.
This contains all the necessary data structures to curate morphological measurements, helpers functions to transform, normalize and visualize profiles as well as ways to quantify the statistical significance of the morphological changes observed.
The Julia package is freely and openly available on GitHub.
High-content imaging screens provide a cost-effective and scalable way to assess cell states across diverse experimental conditions. The analysis of the acquired microscopy images involves assembling and curating morphological measurements of individual cells into morphological profiles suitable for testing biological hypotheses. Despite being a critical step, there is currently no standard approach to morphological profiling and no solution is available for the high-performance Julia programming language.
Here, we introduce BioProfiling.jl, an efficient end-to-end solution for compiling and filtering informative morphological profiles in Julia. The package contains all the necessary data structures to curate morphological measurements and helper functions to transform, normalize and visualize profiles. Robust statistical distances and permutation tests enable quantification of the significance of the observed changes despite the high fraction of outliers inherent to high-content screens. This package also simplifies visual artifact diagnostics, thus streamlining a bottleneck of morphological analyses. We also showcase the features of the package by analyzing a chemical imaging screen, in which the morphological profiles prove to be informative about the compounds’ mechanisms of action and can be conveniently integrated with the network localization of molecular targets.
In this virtual poster, we will (i) present what BioProfiling.jl can do, (ii) discuss how to make it useful for more biological and scientific applications relying on curating tabular measurement data and (iii) consider how to improve its performance and reduce its external dependencies, aiming to make it a pure-Julia package.