A crate to read Bruker TimsTof data.
NOTE: TimsRust does not yet have a stable version! Use with caution.
Add this crate to your Cargo.toml
:
[dependencies]
timsrust = "x.x.x"
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.
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).
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
The timsrust_pyo3 package is an example of how the performance of TimsRust can be utilized in Python
TODO
- Improve docs
- Improve tests
- Pase CompressionType1
- Tarred file reader
- Clean up src (FrameReader, ...)
- Cleaner try_from conversions/readers
- Make Path of TimsTOF data into special type
- Single access point for all readers?
- Few unchecked unwraps left
- Queryable data in all dimensions
- ...