

# TimsRust
A crate to read Bruker TimsTof data.
## Installation
Add this crate to your `Cargo.toml`:
```toml
[dependencies]
timsrust = "x.x.x"
```
## Usage
TimsRust is intended to be used as a library and not as a stand-alone application. An example of how to use it is found in e.g. [Sage](https://github.com/lazear/sage).
### Basics
Two primary data types are exposed through TimsRust:
* Spectra: A traditional representation that expresses intensitites in function of mz values for a given precursor.
* Frames: All recorded data from a single TIMS elution (i.e. at one specific retention_time).
### File formats
Two file formats are supported:
* TDF - Bruker .d folder containing:
* analysis.tdf
* analysis.tdf_bin
* miniTDF - ProteoScape optimized Bruker file-format. Similar to TDF, miniTDF consists of multiple files: a binary '.bin'
and an index '.parquet' file. The file-names are made up to the following convention: `<producing-engine-name>.<domain-name>.<extension>`.
e.g. for MS2 spectrum information: `<producing-engine-name>.ms2spectrum.<extension>`. Therefore the following files are expected
in the provided ms2 folder:
* *.ms2spectrum.bin
* *.ms2spectrum.parquet
## Python bindings
The [timsrust_pyo3](https://github.com/jspaezp/timsrust_pyo3) package is an example of how the performance of TimsRust can be utilized in Python