Metadata-Version: 2.4
Name: protdata
Version: 0.1.3
Summary: Proteomics data loaders for AnnData format.
Author: Max Frank
License-Expression: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: <4.0,>=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: anndata
Requires-Dist: pandas
Requires-Dist: numpy
Requires-Dist: pyteomics
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: black~=25.1; extra == "dev"
Requires-Dist: flake8~=7.0; extra == "dev"
Requires-Dist: isort~=5.0; extra == "dev"
Requires-Dist: pre-commit~=3.0; extra == "dev"
Requires-Dist: pylint~=3.0; extra == "dev"
Requires-Dist: pytest~=8.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=8.2.1; extra == "docs"
Requires-Dist: sphinx-book-theme>=1.1.0; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=2.2.0; extra == "docs"
Requires-Dist: sphinx-issues>=5.0.1; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: sphinx-toolbox>=3.8.0; extra == "docs"
Requires-Dist: sphinxext.opengraph; extra == "docs"
Requires-Dist: myst-nb; extra == "docs"
Requires-Dist: scanpydoc[theme,typehints]>=0.15.3; extra == "docs"
Requires-Dist: awkward>=2.3; extra == "docs"
Requires-Dist: IPython; extra == "docs"
Requires-Dist: myst_parser; extra == "docs"
Dynamic: license-file

# protdata

[![Test](https://github.com/czbiohub-sf/protdata/actions/workflows/test.yml/badge.svg)](https://github.com/czbiohub-sf/protdata/actions/workflows/test.yml)

Proteomics data loaders for the [AnnData](https://anndata.readthedocs.io/) format.

This package provides loader functions to import proteomics data (e.g., MaxQuant) into the AnnData structure for downstream analysis and integration with single-cell and multi-omics workflows.

## Features

- **Multiple formats**: Support for MaxQuant, FragPipe, DIA-NN, and mzTab files
- **Reads metadata**: Automatically extracts and organizes sample and protein metadata

## Installation
```bash
pip install protdata
```

## Usage Example

### MaxQuant Import

You can download an example proteinGroups [file here](https://zenodo.org/records/3774452/files/MaxQuant_Protein_Groups.tabular?download=1)
```python
import protdata

adata = load_maxquant_to_anndata("/path/to/proteinGroups.txt")
print(adata)
``` 

### DIA-NN Import

You can download an example DIA-NN report [file here](https://github.com/vdemichev/DiaNN/raw/master/diann-output-examples/report.pg_matrix.tsv)

```python
from protdata.io import read_diann

adata = read_diann("/path/to/report.pg_matrix.tsv")
print(adata)
```

### FragPipe Import

You can download an example FragPipe output [file here](https://github.com/Nesvilab/philosopher/blob/master/testdata/combined_protein.tsv?raw=true)

```python
from protdata.io import read_fragpipe

adata = read_fragpipe("/path/to/combined_protein.tsv")
print(adata)
```

### mzTab Import

You can download an example mzTab [file here](https://raw.githubusercontent.com/HUPO-PSI/mzTab/refs/heads/master/examples/1_0-Proteomics-Release/SILAC_SQ.mzTab)

```python
from protdata.io import read_mztab

adata = read_mztab("/path/to/SILAC_SQ.mzTab")
print(adata)
```



