evanyeyeye / rainbow

Read chromatography and mass spectrometry binary files.
GNU General Public License v3.0
29 stars 16 forks source link

questions #3

Closed anyaling2022 closed 10 months ago

anyaling2022 commented 1 year ago

I would like to express my sincere gratitude for your generous sharing of the rainbow Python code, which has been tremendously helpful for my data processing. However, I have encountered some issues in extracting the data, so I am writing to kindly ask for your assistance. The rainbow functions you developed work flawlessly for extracting data acquired with Agilent's ChemStation software, as we have extensively tested. However, Agilent Company now predominantly utilize the OpenLab CDS 2.x version for data acquisition. To extract UV data with rainbow, the data files need to be first exported as .D files from OpenLab CDS software, then processed by rainbow. This differs from ChemStation where the .D files were directly accessible on the acquisition computer. The .D files exported from OpenLab CDS may have slight differences in structure. When using rainbow on these files, the extracted data appears incorrect - the chromatograms for each wavelength are abnormal (The extracted data for the example is shown as "gehua.xlsx"). I suspect the differences between the .D file versions may be causing the wavelengths, retention times, and other parameters to not be located properly during parsing. Since writing source code requires highly specialized background knowledge, I do not have the expertise to address this issue on my own. I wanted to kindly ask if you could examine whether the rainbow functions truly have issues handling data from OpenLab CDS software? If there are problems, would it be possible to assist with modifying the code to be compatible with the OpenLab CDS software for proper data extraction? I've attached example .D files from OpenLAB CDS 2.7 software as demonstration. I sincerely appreciate you taking the time to address my questions. Your project has been invaluable in assisting me with data processing. gehua.xlsx example_data.zip

ekwan commented 1 year ago

Ah glad you’re finding it useful! I didn’t know about that problem but it doesn’t surprise me. Agilent is working on a native Allotrope converter so this problem will go away soon I think. Developing this library was fairly costly and we’re swamped right now so we can’t do much for the moment. We welcome others to contribute though! We will probably work on speeding up the library with native code though.

On Sun, Sep 17, 2023 at 10:05 PM anyaling2022 @.***> wrote:

I would like to express my sincere gratitude for your generous sharing of the rainbow Python code, which has been tremendously helpful for my data processing. However, I have encountered some issues in extracting the data, so I am writing to kindly ask for your assistance. The rainbow functions you developed work flawlessly for extracting data acquired with Agilent's ChemStation software, as we have extensively tested. However, Agilent Company now predominantly utilize the OpenLab CDS 2.x version for data acquisition. To extract UV data with rainbow, the data files need to be first exported as .D files from OpenLab CDS software, then processed by rainbow. This differs from ChemStation where the .D files were directly accessible on the acquisition computer. The .D files exported from OpenLab CDS may have slight differences in structure. When using rainbow on these files, the extracted data appears incorrect - the chromatograms for each wavelength are abnormal (The extracted data for the example is shown as "gehua.xlsx"). I suspect the differences between the .D file versions may be causing the wavelengths, retention times, and other parameters to not be located properly during parsing. Since writing source code requires highly specialized background knowledge, I do not have the expertise to address this issue on my own. I wanted to kindly ask if you could examine whether the rainbow functions truly have issues handling data from OpenLab CDS software? If there are problems, would it be possible to assist with modifying the code to be compatible with the OpenLab CDS software for proper data extraction? I've attached example .D files from OpenLAB CDS 2.7 software as demonstration. I sincerely appreciate you taking the time to address my questions. Your project has been invaluable in assisting me with data processing. gehua.xlsx https://github.com/evanyeyeye/rainbow/files/12644294/gehua.xlsx example_data.zip https://github.com/evanyeyeye/rainbow/files/12644297/example_data.zip

— Reply to this email directly, view it on GitHub https://github.com/evanyeyeye/rainbow/issues/3, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABOBNIUJXUC7J646AAUJ543X26T6BANCNFSM6AAAAAA44A52CY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

anyaling2022 commented 1 year ago

Thank you very much for your explanation. I understand now and greatly appreciate you taking the time to answer me.

ethanbass commented 1 year ago

Hi, Sorry to butt in uninvited, but I think I was able to decode your UV files @anyaling2022 (or at least read something out that looks pretty good). There are seemingly some small differences in the way the metadata is encoded compared to the chemstation 131 files, but the major difference is in the encoding of the data array. The Open Lab data is not delta encoded like the data from Chemstation -- instead, the values within each block are encoded as a series of 8-byte doubles. I incorporated a parsers into my chromConverter package that i've been working on in R (the openlab parser is only available in the dev branch for now -- (https://github.com/ethanbass/chromConverter/blob/dev/R/read_chemstation_uv.R). I don't have time right now to translate anything into python, but ya'll are welcome to check out what I did if you want to write a parser for rainbow. Best, Ethan

ekwan commented 1 year ago

Not at all, thanks for chiming in! We will get to this eventually.

On Wed, Sep 27, 2023 at 8:48 PM Ethan Bass @.***> wrote:

Hi, Sorry to butt in uninvited, but I think I was able to decode your UV files @anyaling2022 https://github.com/anyaling2022 (or at least read something out that looks pretty good). There are seemingly some small differences in the way the metadata is encoded compared to the chemstation 131 files, but the major difference is in the encoding of the data array. The Open Lab data is not delta encoded like the data from Chemstation -- instead, the values within each block are encoded as a series of 8-byte doubles. I incorporated a parsers into my chromConverter https://github.com/ethanbass/chromConverter/ package that i've been working on in R (the openlab parser is only available in the dev branch for now -- ( https://github.com/ethanbass/chromConverter/blob/dev/R/read_chemstation_uv.R). I don't have time right now to translate anything into python, but ya'll are welcome to check out what I did if you want to write a parser for rainbow. Best, Ethan

— Reply to this email directly, view it on GitHub https://github.com/evanyeyeye/rainbow/issues/3#issuecomment-1738290756, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABOBNIWQ44J4W4F2BLOXXDTX4TCPBANCNFSM6AAAAAA44A52CY . You are receiving this because you commented.Message ID: @.***>

JMarvi3 commented 11 months ago

@anyaling2022 Could you take a look at Pull Request #7 to ensure that it resolves your issue?

Also, could we have your permission to use one of your data directories, redacted (identifying information removed), as part of a unit test for Rainbow?

ekwan commented 10 months ago

Closed by PR #7.