cheminfo / nmrium

React component to display and process nuclear magnetic resonance (NMR) spectra.
https://docs.nmrium.org
MIT License
55 stars 25 forks source link

Spectra not loading anymore #2751

Closed hamed-musallam closed 10 months ago

hamed-musallam commented 10 months ago

I tested these samples using version 0.44, and the majority of the spectra loaded correctly but I still got some errors Screenshot 2023-11-14 at 16 55 32

unfortunately with current development version not working at all

https://s3.uni-jena.de/nmrxiv/production/archive/247bab07-dc3c-45cc-807d-f21bb83882f6/Genistein%20annotated%20NMR%20400%20MHz%20DMSOd6%20data.zip https://s3.uni-jena.de/nmrxiv/production/archive/1a4d675d-f078-4628-ac78-85236e0ad8af/%20Capsaicin%20400%20MHz%20DMSOd6%20NMR%20data%20.zip https://s3.uni-jena.de/nmrxiv/production/archive/247bab07-dc3c-45cc-807d-f21bb83882f6/Genistein%20annotated%20NMR%20400%20MHz%20DMSOd6%20data.zip https://s3.uni-jena.de/nmrxiv/production/archive/1fd327ba-9a52-4120-88a5-b72529cb5a98/Curcumin%20annotated%20NMR%20400%20MHz%20DMSOd6%20data.zip https://s3.uni-jena.de/nmrxiv/production/archive/5a1698da-4270-4114-b588-f258b9fd44d3/Apigenin%20annotated%20NMR%20400MHz%20DMSOd6%20data.zip https://s3.uni-jena.de/nmrxiv/production/archive/432597cd-27c8-4130-b797-7e11a7599562/Myricetin%20annotated%20NMR%20400%20MHz%20DMSOd6%20data.zip https://s3.uni-jena.de/nmrxiv/production/archive/99d715bc-34bb-40bc-80c0-75722a68d23f/Kaempferol%20annotated%20NMR%20400%20MHz%20DMSOd6%20data.zip https://s3.uni-jena.de/nmrxiv/production/archive/fd127472-6962-46ad-9390-8ae9e0ad3000/%20Glycyrrhizin%20900MHz%20400MHz%20DMSOd6%20NMR%20data%20.zip https://s3.uni-jena.de/nmrxiv/production/archive/25bc00c8-e1f2-4bde-b281-342ac7fe6abe/%20Glycyrrhetinic%20acid%3AEnoxolone%20900_400MHz%20DMSOd6%20NMR%20data%20.zip https://s3.uni-jena.de/nmrxiv/production/archive/2cd25088-4513-40ad-8aa6-21ff1f4e3527/%20Lupeol%20900MHz%20400MHz%20CDCl3%20NMR%20data%20.zip

jobo322 commented 10 months ago

let me check what is happening

hamed-musallam commented 10 months ago

it seems some of the meta does not exist in some of these files but is it mandatory?

jobo322 commented 10 months ago

The first file that I did check, I found it

image

DATACLASS = NTUPLES but the data is a single xydata and the last or first LDR does not exists. That is why this jcamp is not loaded.

image

@lpatiny is it possible and should we add support for it or the jcamp file was wrongly generated?

jobo322 commented 10 months ago

changing the DATACLASS to XYDATA, the spectrum is loaded. The assignment does not yet loaded but it is another issue

lpatiny commented 10 months ago

When I drag and drop the zip file we actually try to upload 23 files and it seems that only one is failing. If would be nice in the logs to know which one it is ! @jobo322 Could you check how to get the filename and add another issue for this ?

Practically it seems related to the 13C.jdx that is generated by JEOL and that indeed pretends it is NTUPLES

13C.jdx.zip

Based on the draft specifications: http://www.jcamp-dx.org/drafts/JCAMP6_2b%20Draft.pdf we are expected to see pages

image

And they are not in this JCAMP-DX.

hamed-musallam commented 10 months ago

some of those files and maybe all of them come from Harvard public datasets https://dataverse.harvard.edu/dataverse/cenaptnmr;jsessionid=51df1d14ff071004936a072f6bc1

targos commented 10 months ago

Is it a regression or it worked before?

targos commented 10 months ago

If it worked before, you can use old cloudflare preview links on the pull requests to identify when it started to fail.

targos commented 10 months ago

I did a git bisect session. The regression happened in commit 470abab98a53a6ddee6bc93818b0cff90a41bdfb

targos commented 10 months ago

@jobo322 In case you suspect the regression is in nmr-load-save, here is the diff: https://github.com/cheminfo/nmr-load-save/compare/v0.12.1...v0.13.1

jobo322 commented 10 months ago

Currently, nmr-load-save is checking that the properties for NTUPLES data-class like LAST, FIRST, and SYMBOLS exist even if the DATACLASS LDR is NTUPLES. It avoids throwing an error in the case of a wrong definition of DATACLASS to NTUPLES.

After version 0.23.3 of nmr-load-save, there are two remnants issues at the moment to load this data:

The last issue is bug related with 2D JEOL Data and only appear if experimental features is enabled, it is related with automatic processing of 2D. I will add the corresponding test cases with 2D data of each supported brand.