10 unstable releases (3 breaking)
0.4.1 | Sep 3, 2024 |
---|---|
0.4.0 | Aug 28, 2024 |
0.3.0 | Jul 8, 2024 |
0.2.4 | Apr 5, 2024 |
0.1.7 | Oct 11, 2023 |
#639 in Parser implementations
132 downloads per month
125KB
2.5K
SLoC
TimsRust
A crate to read Bruker TimsTof data.
Stability
NOTE: TimsRust does not yet have a stable version! Use with caution.
Installation
Add this crate to your Cargo.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.
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 package is an example of how the performance of TimsRust can be utilized in Python
Planned changes for future versions
TODO
- Improve docs
- Improve tests
- Pase CompressionType1
- Make Path of TimsTOF data into special type
- Single access point for all readers?
- Few unchecked unwraps left
- Queryable data in all dimensions
- ...
Dependencies
~4–11MB
~237K SLoC