Metadata-Version: 2.1
Name: biosofa
Version: 0.7.2
Summary: Probabilistic factor analysis model with covariate guided factors
License: MIT
Author: capraz
Author-email: tuemayc@hotmail.com
Requires-Python: >=3.8.1,<3.11.6
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Provides-Extra: docs
Provides-Extra: notebook
Requires-Dist: Sphinx (==4.2.0) ; extra == "docs"
Requires-Dist: click (>=8.1.3)
Requires-Dist: gseapy (>=1.0.4)
Requires-Dist: jupyter ; extra == "notebook"
Requires-Dist: matplotlib (>=3.5.2)
Requires-Dist: muon (>=0.1.3)
Requires-Dist: nbsphinx (==0.8.9) ; extra == "docs"
Requires-Dist: numba (>=0.55.2)
Requires-Dist: numpy (>=1.22.4)
Requires-Dist: pandas (>=1.4.2)
Requires-Dist: pyro-ppl (<1.8.4)
Requires-Dist: pytest
Requires-Dist: scikit-learn (>=1.1.1)
Requires-Dist: scipy (>=1.8.1)
Requires-Dist: sphinx-rtd-theme (==1.0.0) ; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex (>=2.5.0,<3.0.0)
Requires-Dist: sphinxcontrib-napoleon (==0.7) ; extra == "docs"
Requires-Dist: toml (>=0.10.2)
Requires-Dist: torch (>=1.13.1,<2.0.0)
Description-Content-Type: text/markdown

# Semi-supervised Omics Factor Analysis (SOFA)


![PyPI - Version](https://img.shields.io/pypi/v/biosofa?link=https%3A%2F%2Fpypi.org%2Fproject%2Fbiosofa%2F)

# Introduction

Here we present Semi-supervised Omics Factor Analysis (SOFA), a multi-omics integration method, that incorporates known sources of variation into the model and focuses the latent factor discovery on novel sources of variation. The SOFA method is implemented in Python using the Pyro framework for probabilistic programming.

![The SOFA model](https://github.com/tcapraz/SOFA/blob/main/docs/model_schematic.png?raw=true)

**We are still working on improvements to the SOFA package. Please expect breaking changes. If you find a bug or have ideas how to make the user experience of SOFA smoother please open an issue.**

# Installation

To install `SOFA` first create `Python 3.8` environment e.g. by

```
conda create --name sofa-env python=3.8
conda activate sofa-env
```

and install the package using 

```
pip install biosofa
```



# How to use `SOFA` for multi-omics analyses

A detailed manual with examples and how to use `SOFA` can be found here https://tcapraz.github.io/SOFA/index.html.


# How to cite `SOFA`

> **Semi-supervised Omics Factor Analysis (SOFA) disentangles known sources of variation from latent factors in multi-omics data**
>
> Capraz, T., Vöhringer, H.S. and Huber, W.
>
> *bioRxiv* 2024. doi: [10.1101/2024.10.10.617527](https://doi.org/10.1101/2024.10.10.617527).

