#raw #thermo #fisher #net #run-time #read #raw-file-reader

bin+lib thermorawfilereader

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

13 releases

new 0.3.1 Dec 15, 2024
0.3.0 Sep 25, 2024
0.2.9 Sep 6, 2024
0.2.6 Jul 1, 2024
0.2.1 Mar 22, 2024

#121 in Biology

Download history 12/week @ 2024-08-23 268/week @ 2024-08-30 247/week @ 2024-09-06 47/week @ 2024-09-13 162/week @ 2024-09-20 82/week @ 2024-09-27 18/week @ 2024-10-04 20/week @ 2024-10-11 41/week @ 2024-10-18 23/week @ 2024-10-25 21/week @ 2024-11-01 1/week @ 2024-11-08 22/week @ 2024-11-15 27/week @ 2024-11-22 31/week @ 2024-11-29 60/week @ 2024-12-06

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

Apache-2.0

1.5MB
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

~3–12MB
~150K SLoC