bryanhanson / readJDX

Import spectroscopic data in the JCAMP-DX format
https://bryanhanson.github.io/readJDX/
8 stars 2 forks source link

Waters QDA JCAMP export: Couldn't find any variable lists. Supported formats are: #10

Closed jens-jdx closed 3 years ago

jens-jdx commented 3 years ago

Hoping for suggestions. From JCAMP file from new Waters QDA, I get "Couldn't find any variable lists. Supported formats are: XYY, XRR, XII, NMR_2D, PEAK_TABLE"

Data structure as follows:

TITLE= QDa Negative(-) Scan (100.00-600.00)Da, Centroid, CV=15

JCAMP-DX= 5.01

DATA TYPE= MS SPECTRUM

DATA CLASS= NTUPLES

ORIGIN=

OWNER=

NTUPLES= MASS SPECTRUM

VAR_NAME= Mass, Time, Intensity

SYMBOL= X, T, I

VAR_TYPE= INDEPENDENT, INDEPENDENT, DEPENDENT

VAR_FORM= AFFN, AFFN, AFFN

VAR_DIM= , 4456,

UNITS= M/Z, Minutes, Intensity

FIRST= , , 0.00115000002551824

LAST= , , 7.5001335144043

PAGE= T= 0.00115000002551824

NPOINTS= 168

DATA TABLE= (XI..XI), PEAKS

105.951698303223 2519.98046875 111.794639587402 1387.990234375 112.897102355957 17439.921875 115.984039306641 35923.84375 116.608779907227 2711.98046875 116.976280212402 2263.98046875

bryanhanson commented 3 years ago

Yes, not currently supported, but I can add that if you can wait a few days (I'm traveling so have to work it in). If you could e-mail me the full file (hanson@depauwe.edu) I can use it for testing. Thanks. Bryan

bryanhanson commented 3 years ago

Or even faster one can just read that file in and parse the numerical part into a data frame. I can write that function in a few minutes, but it wouldn't have all the checking one gets normally. BTW, it's odd they chose the NTUPLES data class,that's normally for NMR only.

bryanhanson commented 3 years ago

And, to double check, the metadata says "M/Z, minutes, intensity" but there are only 2 columns of data. I see ##PAGE= T= 0.00115000002551824 which looks like it might be the time. So this might actually be NTUPLES format after all. I have the JCAMP MS paper here somewhere and will go take a look at the standard.

bryanhanson commented 3 years ago

OK, I understand the format they are using; it is perfectly analogous to 2D NMR with F1, F2 and Intensity. This will take a little longer to put together. Also, I don't see a JCAMP reader in xcms but I found this one written in Python: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3533878/

bryanhanson commented 3 years ago

OK, one more comment then I'm done until I hear from you! These lines:

##FIRST= , , 0.00115000002551824
##LAST= , , 7.5001335144043

are incorrect, they should be:

##FIRST= , 0.00115000002551824,
##LAST= , 7.5001335144043,

because these are the first and last T (time) values, not I (intensity) values. Not the first time I've seen errors in a JCAMP-DX file. We can work around it.

jens-jdx commented 3 years ago

Thanks!!! This is important because this involves newest Waters instrument designed for medical labs. We need this for analyzing patient samples in our research. I believe this is something others would likely use. I can send complete file, but seeing as this is 3D MS, files are 40 mbyte. The email accounts I have do not handle large attachments. Suggestion?

bryanhanson commented 3 years ago

Stick it in a Dropbox folder and invite me, or if for some reason your org won’t permit I can invite you. Thanks.

Sent from an undisclosed location - check with the NSA.

On Aug 2, 2021, at 10:16 PM, jens-jdx @.***> wrote:

 Thanks!!! This is important because this involves newest Waters instrument designed for medical labs. We need this for analyzing patient samples in our research. I believe this is something others would likely use. I can send complete file, but seeing as this is 3D MS, files are 40 mbyte. The email accounts I have do not handle large attachments. Suggestion?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

jens-jdx commented 3 years ago

Olive_Oil_1.zip

I was able to compress as ZIP. Tried emailing as attachment to hanson@depauwe.edu, but got "undeliverable" error. Maybe this will work?

bryanhanson commented 3 years ago

Got it, thanks! I'll be working on this. It may take me until next Monday, as I am traveling until Friday and can only play with it a bit here and there. I see I wrote my e-mail wrong which is why you had that problem! There's an extra "e" at the end. Sorry about that!

bryanhanson commented 3 years ago

The new feature is now on CRAN, currently making its way through the mirrors. If you do chooseCRANmirror() and select the Austrian server the new version is there (0.5.61). The binary is not yet available but should be in a couple of hours I would imagine. Or you could build the new version from source (easy if you are on Mac or Linux, requires RTools if on Windows). Or, grab either branch here on Github, they are both the same as CRAN right now.

Closed via https://github.com/bryanhanson/readJDX/commit/88484dc165bb21e0aaacfa02d33a1b5cd0c45006