Feature proposal: Thermo raw file reader #4
Replies: 5 comments 4 replies
-
I recently tried to hack around that, and I think it is a very important feature. Not only for Rusteomics but also for tools like Sage. Having native raw file support in Sage would be super great for end-users. Short story first. I developed some years a Scala Native tool to convert thermo raw files to mzdb in a cross-platform way (at least supporting and Linux). This was a requirement for another project involving some people from EuBIC (https://github.com/wombat-p/) and more specifically the Proline workflow). Now I'm happy to announce that I was able to port (partially) this solution to Rust 🎉 In the future I think it would be better to rely on dotnet rather Mono for performance and stability reasons. This could be achieved thanks to the DNNE Microsoft tool. Unfortunately, despite a lot of trials on my side (and also @Luxxii one), we were never able to get a working solution 😕 |
Beta Was this translation helpful? Give feedback.
-
Having support for |
Beta Was this translation helpful? Give feedback.
-
Good news, I have a first working prototype:) I'll patiently wait for final agreement before pushing it to Rusteomics. |
Beta Was this translation helpful? Give feedback.
-
@david-bouyssie actually this sounds amazing! Would love to help here out a bit! For me, i started to access .raw files directly via python (using fisher-py, which uses I could also retry all the steps which we tried in a hackathon in a more strategic manner. Maybe there is a good way today to access through rust C# libraries. Besides this, an idea to spawn an dotnet instance and accesing it through it sounds also reasonable! Linking the page of netcore-hosting here. We may also might try to retry it with this crate using fisher-py as an example. Just giving suggestions! |
Beta Was this translation helpful? Give feedback.
-
I would like to create a new repo under the rusteomcis organization. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I would propose to implement a reader for Thermo RAW files based on their C# libraries.
I was able to bind the ThermoRawFileParser in this repo:
https://github.com/david-bouyssie/ThermoRawFileParserBindings
It works by streaming the raw file as mzML chunks and then decoding the mzML chunks on the code using the C bindings (relying on Mono).
It's a bit hacky but it allowed to implement an efficient
.raw -> .mzDB
converter:https://github.com/mzdb/mzdb4s/blob/master/io-thermo/native/src/main/scala/com/github/mzdb4s/io/thermo/RawFileStreamer.scala
I would propose to port this code to Rust.
1 vote ·
Beta Was this translation helpful? Give feedback.
All reactions