Read Thermo RAW files from Rust via in-process .NET runtime hosting and Thermo Fisher's RawFileReader
.NET library. You must still install the .NET 8 runtime for this library to function. It should be compatible with .NET 7 but small changes may have to be made to the project files to function.
librawfilereader
: This is the C# library that Rust calls, it exchanges information using either opaque tokens orFlatBuffers
(see ./schema/schema.fbs). All interaction with Thermo's actual library happens in here.dotnetrawfilereader-sys
: This Rust crate A) bundles the C# assemblies forlibrawfilereader
and its dependencies and B) configures the loading of the .NET runtime and provides it with a Rust-backed memory allocator, after a fashion.thermorawfilereader
: This Rust crate provides (relatively) high level bindings forlibrawfilereader
and theFlatBuffers
messages it generates.
mzdata
contains an implementation adapting thermorawfilereader
to work with that library's types.
The code in this repository is licensed under the Apache-2.0 license, but it all depends upon Thermo Fisher's RawFileReader
library. This library has a proprietary license at https://github.com/thermofisherlsms/RawFileReader/blob/main/License.doc, and it's assumed that you accept their license's terms by using this library.