ParTIpy: A Scalable Framework for Archetypal Analysis and Pareto Task Inference
Abstract
Motivation
Trade-offs between different functions or tasks are pervasive across scales in biological systems. For example, individual cells cannot perform all possible functions simultaneously; instead they allocate limited resources to specialize in subsets of tasks by activating specific gene expression programs. Pareto Task Inference (ParTI) is a framework for analyzing biological trade-offs grounded in the theory of multi-objective optimality. However, existing software implementations of ParTI lack scalability to large datasets and do not integrate well with standard biological data analysis workflows, especially in the context of single-cell transcriptomics, limiting broader adoption.
Results
We have developed ParTIpy (Pareto Task Inference in Python), an open-source Python package that combines advances in optimization and coreset methods to scale archetypal analysis, the primary algorithm underlying ParTI, to large-scale datasets. By providing additional tools to characterize archetypes, comprehensive documentation, and adopting standard scverse data structures, ParTIpy facilitates seamless integration into existing analysis workflows and broadens accessibility, particularly within the single-cell community. We demonstrate how ParTIpy can be used to study intra-cell-type gene expression variability through the lens of task allocation, offering a principled alternative to methods that impose discrete cell state classifications on inherently continuous variation.
Availability and implementation
ParTIpy’s open-source code is available on GitHub (<ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:href="https://github.com/saezlab/ParTIpy">https://github.com/saezlab/ParTIpy</ext-link>) and pypi (<ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:href="https://pypi.org/project/partipy">https://pypi.org/project/partipy</ext-link>). Documentation is available at <ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:href="https://partipy.readthedocs.io">https://partipy.readthedocs.io</ext-link>. The code to reproduce the results of this paper is on GitHub (<ext-link xmlns:xlink="http://www.w3.org/1999/xlink" ext-link-type="uri" xlink:href="https://github.com/saezlab/ParTIpy_paper">https://github.com/saezlab/ParTIpy_paper</ext-link>)
Related articles
Related articles are currently not available for this article.