Metadata-Version: 2.4
Name: imspy-simulation
Version: 0.4.1
Summary: TimsTOF data simulation tools for proteomics.
License-Expression: MIT
Author: theGreatHerrLebert
Author-email: davidteschner@googlemail.com
Requires-Python: >=3.11,<3.14
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: gui
Requires-Dist: imspy-core (>=0.4.0)
Requires-Dist: imspy-predictors[koina] (>=0.4.0)
Requires-Dist: imspy-search (>=0.4.0)
Requires-Dist: markdown (>=3.5) ; extra == "gui"
Requires-Dist: matplotlib (>=3.5)
Requires-Dist: nicegui (>=1.4.0) ; extra == "gui"
Requires-Dist: numba (>=0.53)
Requires-Dist: numpy (>=1.24)
Requires-Dist: pandas (>=2.0)
Requires-Dist: qdarkstyle (>=3.0) ; extra == "gui"
Requires-Dist: scipy (>=1.7.1)
Requires-Dist: toml (>=0.10)
Requires-Dist: tqdm (>=4.66)
Requires-Dist: zstd (>=1.5)
Description-Content-Type: text/markdown

# imspy-simulation

TimsTOF data simulation tools for proteomics.

## Installation

```bash
pip install imspy-simulation
```

For search integration (validation workflows):

```bash
pip install imspy-simulation[search]
```

## Features

- **Frame Builders**: DIA and DDA frame simulation with annotation support
- **TimSim**: Complete simulation pipeline for synthetic timsTOF data
- **Validation**: Tools for validating simulated data against search results
- **Isotope Simulation**: Accurate isotope distribution generation
- **TDF Writing**: Write simulated data to Bruker TDF format

## Quick Start

```python
from imspy_simulation import (
    DIAFrameBuilder,
    DDAFrameBuilder,
    SimulationDatabase,
    TransmissionHandle,
    create_frame_builder,
    AcquisitionMode,
)

# Create a DIA frame builder
frame_builder = DIAFrameBuilder(
    database_path="path/to/synthetic_data.db",
    num_threads=16,
)

# Build frames
frames = frame_builder.build_frames([1, 2, 3])
```

## CLI Tools

### timsim
Full simulation pipeline:
```bash
timsim --config config.toml --output /path/to/output
```

## Submodules

- **builders/**: Frame builder implementations (DIA, DDA)
- **core/**: Core protocols and wrappers
- **data/**: Simulation database and transmission handling
- **timsim/**: TimSim simulation pipeline
  - **jobs/**: Individual simulation steps
  - **integration/**: Integration workflows
  - **validate/**: Validation tools

## Dependencies

- **imspy-core**: Core data structures (required)
- **imspy-predictors**: ML predictors for CCS, RT, intensity (required)
- **imspy-search**: Database search for validation (optional)

## Related Packages

- **imspy-core**: Core data structures and timsTOF readers
- **imspy-predictors**: ML-based predictors
- **imspy-search**: Database search functionality
- **imspy-vis**: Visualization tools

## License

MIT License - see LICENSE file for details.

