Metadata-Version: 2.4
Name: dasmixer-core
Version: 0.6.0a2
Summary: DASMixer core library — project API, calculations, and data import
Author: gluck
Author-email: glucksistemi@gmail.com
Requires-Python: <4.0, >=3.11
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Provides-Extra: all
Provides-Extra: plotly
Provides-Extra: proteins
Requires-Dist: aiocsv (>=1.4.0,<2.0.0)
Requires-Dist: aiofiles (>=25.1.0,<26.0.0)
Requires-Dist: aiosqlite (>=0.22.1,<0.23.0)
Requires-Dist: dasmixer-core[plotly,proteins] ; extra == "all"
Requires-Dist: docxtpl (>=0.20.2,<0.21.0)
Requires-Dist: html-for-docx (>=1.1.3,<2.0.0)
Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
Requires-Dist: kaleido (>=1.2.0,<2.0.0) ; extra == "plotly"
Requires-Dist: mztabwriter[pandas] (>=0.1.0,<0.2.0)
Requires-Dist: npysearch (>=1.3.1,<2.0.0) ; (sys_platform != "win32") and (extra == "proteins")
Requires-Dist: npysearch-win (>=1.3.1,<2.0.0) ; (sys_platform == "win32") and (extra == "proteins")
Requires-Dist: numpy (>=2.4.1,<3.0.0)
Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
Requires-Dist: pandas (>=2.3.3,<3.0.0)
Requires-Dist: parse (>=1.20.2,<2.0.0)
Requires-Dist: peptacular (>=2.5.1,<3.0.0)
Requires-Dist: plotly (>=6.5.2,<7.0.0) ; extra == "plotly"
Requires-Dist: pydantic (>=2.12.5,<3.0.0)
Requires-Dist: pydantic-settings (>=2.12.0,<3.0.0)
Requires-Dist: pyteomics (>=4.7.5,<5.0.0)
Requires-Dist: scikit-learn (>=1.8.0,<2.0.0)
Requires-Dist: smart-round (>=1.0.1,<2.0.0)
Requires-Dist: tabulate (>=0.9.0,<0.10.0)
Requires-Dist: typer (>=0.21.1,<0.22.0)
Requires-Dist: uniprot-meta-tool (>=0.2.1,<0.3.0)
Requires-Dist: xlrd (>=2.0.2,<3.0.0)
Project-URL: Homepage, https://github.com/protdb/dasmixer
Description-Content-Type: text/markdown

# DASMixer Core

Core library for proteomics data project management, calculations, and data import.

## Features

- **Project management** — create, open, save `.dasmix` files (SQLite)
- **Data import** — MGF (spectra), PowerNovo2 / MaxQuant / PLGS (identifications), FASTA (proteins)
- **Calculations** — ion matching (b/y/a/c/x/z), de novo PPM correction (SeqFixer), coverage calculation
- **Peptide-to-protein mapping** (npysearch BLAST)
- **LFQ quantification** — emPAI, iBAQ, NSAF, Top3 (via semPAI)
- **Reports** — PCA, Volcano, UpSet, Coverage, Sample Summary (Plotly-based)
- **Export** — HTML, DOCX, XLSX, mzTab

## Installation

```bash
pip install dasmixer-core
```

With optional extras:

```bash
pip install "dasmixer-core[plotly]"     # Plotly + Kaleido for charts and export
pip install "dasmixer-core[proteins]"   # npysearch for BLAST-like search
pip install "dasmixer-core[all]"        # Full installation
```

## Usage

```python
from dasmixer.api.project.project import Project

async with Project(path="study.dasmix", create_if_not_exists=True) as project:
    samples = await project.get_samples()
    ...
```

Documentation: https://github.com/protdb/dasmixer
