#raw #thermo #run-time #net #high-level #fisher #raw-file-reader

bin+lib thermorawfilereader

A (relatively) high level interface to Thermo Fisher's RawFileReader library

6 releases

new 0.2.4 May 4, 2024
0.2.3 Apr 19, 2024
0.2.1 Mar 22, 2024
0.1.0 Mar 13, 2024

#1 in #fisher

Download history 136/week @ 2024-03-09 249/week @ 2024-03-16 64/week @ 2024-03-23 55/week @ 2024-03-30 6/week @ 2024-04-06 234/week @ 2024-04-13 38/week @ 2024-04-20 14/week @ 2024-04-27

292 downloads per month
Used in 2 crates (via mzdata)

Apache-2.0

1.5MB
3.5K SLoC

Read Thermo RAW files using a self-hosted .NET runtime that uses Thermo Fisher's RawFileReader library.

The main access point is RawFileReader, via RawFileReader::open.

Limitations

Platforms

RawFileReader requires a .NET runtime. The linking between Rust and the host's .NET runtime is managed by netcorehost. While it supports most major operating, you can check which versions which version of .NET supports which OS version at https://github.com/dotnet/core/blob/main/os-lifecycle-policy.md.

If you wish to link with a local nethost library instead of downloading the latest version at build time, please see netcorehost's documentation. This is still distinct from actually statically linking with .NET's coreclr library which must be installed separately.

Why no Read support?

The underlying .NET library from Thermo's public API expects a plain file paths as strings and likes to fiddle with file system locks. There is no way for it to consume .NET streams, let alone Rust analogs like Read, so for the moment we can only open RAW files on the file system.

Licensing

By using this library, you agree to the RawFileReader License

Dependencies

~2.3–4.5MB
~71K SLoC