Glutamate and GABA Units

Hello!

I am having trouble understanding the units I am getting from my Osprey results.

Our data comes from 3T, where we have used a sLASER sequence to acquire Glutamate values, and MEGA-PRESS to acquire GABA values.

Our Glutamate values are around 280 (units?) from A_TissCorrWaterScaled_Voxel_1_Basis_1.tsv

And our GABA values are around 0.7 (units?) from diff1_AlphaCorrWaterScaled_Voxel_1_Basis_1.tsv

I’d like to be able to kind of compare them… at least not have them be orders of magnitude off.

I know I’m missing something obvious. Any help would be greatly appreciated :slight_smile:

Hi Alex,

Good to see you. The tissue-corrected estimates are in ‘institutional units’, which is the term used for ‘attempt at arriving at molal concentrations’ (see a bit of a discussion here) because spectroscopists have not been able to agree on a single universally-agreed-upon method to do that.

280 for Glu seems very far off, but I have an idea what’s going on there. a) is that the CMRR sequence from Dinesh Deelchand and b) when was the last time you updated Osprey? That sequence stores the TE (30 ms) in an array of sub-echo times (something like [10 12 8]), but our TWIX reader used to only ever look for one TE value and therefore only extracted the first one. It was fixed in this commit to the develop branch. With the correct TE value, the relaxation correction should get you much closer to a reasonable estimate.

PS: For MEGA data, you should look at GABA+, not GABA, i.e. the combination with the co-edited MM term. Does your job file specify something like the following?

% How do you want to model the co-edited macromolecules at 3 ppm for GABA-edited MRS?
opts.fit.coMM3              = '3to2MM';      % OPTIONS:    - {'3to2MM'} (default)
                                                %             - {'3to2MMsoft'}
                                                %             - {'1to1GABA'}
                                                %             - {'1to1GABAsoft'}
                                                %             - {'fixedGauss'}
                                                %             - {'none'}

opts.fit.FWHMcoMM3          = 14; 

We also recommend using a stiffer baseline for MEGA:

% Determine the baseline knot spacing (in ppm) for the metabolite spectra
opts.fit.bLineKnotSpace     = 0.55;             % [ppm] Default: 0.4.

See this bit in the documentation, this example MEGA job file, and this paper

Hi Georg,

Thanks for getting back to me. I’ll look into this and get back to you.

As for " is that the CMRR sequence from Dinesh Deelchand?", are you referring to the pulse sequence? I’m not sure what sequence it is. We received it from GE…

Oh shoot - I assumed you were on a Siemens. What TE is being shown in the GUI? (also, for good measure, show some fit plots please)

Hi @weberam2,
Hi @admin,

This is interesting. I assume that this is the CMRR implementation of sLASER for GE. I am working with data I received from another collaborator using this sequence. For them, the water-referenced results are also totally off (Metabolite value estimates seem really low? - #2 by Helge) but are extremely low. I have, up to now, not managed to get a handle on that, but maybe your data could give me some new insight into where this is going wrong.

Would you be able to share the data with us?

Helge

Yes absolutely! Let me get you data and plots and what we ran

1 Like

@admin is there somewhere in the literature that states the best practice for publishing GABA+ instead of GABA?

This is good to know :slight_smile:

Here is a sample .json file we use to run (sLASER):

{
  "seqType": "unedited",
  "dataScenario": "invivo",
  "MM3coModel": "3to2MM",
  "FWHMMM3co": "",
  "SpecReg": "RobSpecReg",
  "SubSpecAlignment": "L2Norm",
  "UnstableWater": "0",
  "saveLCM": "1",
  "savejMRUI": "0",
  "saveVendor": "0",
  "saveNII": "0",
  "savePDF": "0",
  "method": "Osprey",
  "ECCmetab": "1",
  "ECCmm": "1",
  "includeMetabs": [
    "default"
  ],
  "style": "Separate",
  "lolim_range": "0.5",
  "uplim_range": "4.0",
  "lolim_rangew": "2.0",
  "uplim_rangew": "7.4",
  "bLineKnotSpace": "0.4",
  "fitMM": "1",
  "basisSet": "/mnt/WeberLab/Projects/EI_Hurst/BasisSets/BASIS_GE_UnEdited_sLASER_35_wMM",
  "files": [
    "/mnt/WeberLab/Projects/EI_Hurst/sourcedata/sub-Pilot01/nonbids/8/P40960.7"
  ],
  "files_nii": [
    "/mnt/WeberLab/Projects/EI_Hurst/sub-Pilot01/anat/sub-Pilot01_T1w.nii"
  ],
  "file_stat": [
    ""
  ],
  "outputFolder": [
    "/mnt/WeberLab/Projects/EI_Hurst/derivatives/slaser/sub-Pilot01/rest/BasisSet"
  ]
}

semi Laser P-file (should be the same as above)

Thanks! I’ll take a look at it.
Quick follow-up about the basis set. Did you use MRSCloud to simulate it? Or did you simualte it yourself? If the latter is the case could you also make the basis set available?

Thanks,
Helge

We used MRS Cloud to simulate. I’m happy to include it as well

Ok, we updated Osprey but we get the same values
Any other ideas? Should we be dividing by 100 or something?

Let us know if you end up with the same high values for concentration

this is what we have been using for GABA

{
  "seqType": "MEGA",
  "editTarget": [
    "GABA"
  ],
  "dataScenario": "invivo",
  "MM3coModel": "3to2MM",
  "FWHMMM3co": "",
  "SpecReg": "RobSpecReg",
  "SubSpecAlignment": "L2Norm",
  "UnstableWater": "0",
  "saveLCM": "1",
  "savejMRUI": "0",
  "saveVendor": "0",
  "saveNII": "0",
  "savePDF": "0",
  "method": "Osprey",
  "ECCmetab": "1",
  "ECCmm": "1",
  "includeMetabs": [
    "default"
  ],
  "style": "Separate",
  "lolim_range": "0.5",
  "uplim_range": "4.0",
  "lolim_rangew": "2.0",
  "uplim_rangew": "7.4",
  "bLineKnotSpace": "0.4",
  "fitMM": "1",
  "basisSet": "/mnt/WeberLab/Projects/EI_Hurst/BasisSets/BASIS_GE_MEGA_PRESS_GABA68_wMM_fromMark",
  "files": [
    "/mnt/WeberLab/Projects/EI_Hurst/sourcedata/sub-Pilot01/nonbids/6/P38912.7"
  ],
  "files_nii": [
    "/mnt/WeberLab/Projects/EI_Hurst/sub-Pilot01/anat/sub-Pilot01_T1w.nii"
  ],
  "file_stat": [
    ""
  ],
  "outputFolder": [
    "/mnt/WeberLab/Projects/EI_Hurst/derivatives/megapress/sub-Pilot01/rest_osprey"
  ]
}

Which I believe is the same as what you recommend but we are using the default value of 0.4 for bLine

Hi @weberam2,

I ended up with the same values (both for Osprey LCM or LCModel). I’ll do a bit of digging in the loader and/or the coil-combination code. One of them has to be the culprit (if it is an analysis/processing and not an acquisition problem).

Helge

Thank you so much for looking into this for us!

It occurs to me that the concentrations are more in line (Glu = 4.55) when you look at A_amplMets_Voxel_1_Basis.tsv

Hmmm

@Helge @admin

I took a look at the SummaryMRSinMRS.md file that was created.

You may need to add information that was not avaialble in the raw data.
 
|1. Hardware|  | 
|--|--| 
|a. Field strength [T]| 3 T| 
|b. Manufacturer| GE| 
|c. Model (software version if available)| Rev_number | 
|d. RF coils: nuclei (transmit/receive), number of channels, type, body part| 1H | 
|e. Additional hardware| -| 

 
|2. Acquisition|  | 
|--|--| 
|a. Pulse sequence | press| 
|b. Volume of interest (VOI) locations | -| 
|c. Nominal VOI size [mm<sup>3</sup>]| 28 x 28 x 28 mm<sup>3</sup>| 
|d. Repetition time (TR), echo time (TE) [ms]| TR 2000 ms, TE 35 ms| 
|e. Total number of averages per spectrum <br> i. Number of averaged specra per subspectrum | 4 total averages with 4 averages per subspectrum| 
|f. Additional sequence parameters | F1: 5000 Hz, 4096 points| 
|g. Water suppression method | -| 
|h. Shimming method, reference peak, and threshold of acceptance of shim chosen | -| 
|i. Trigger or motion correction| -| 

 
|3. Data analysis methods and outputs|  | 
|--|--| 
|a. Analysis software | Osprey 2.4.0| 
|b. Processing steps deviating from Osprey | None| 
|c. Output measure | tCr, rawWaterScaled, CSFWaterScaled, TissCorrWaterScaled 
|d. Quantification references and assumptions, fitting model assumptions| Basis set list:<br> AscAsp,Cr,CrCH2,GABA,GPC,GSH,Gln,Glu,mI,<br>Lac,NAA,NAAG,PCh,PCr,PE,sI,Tau,MM09,<br>MM12,MM14,MM17,MM20,Lip09,Lip13,Lip20,tNAA,Glx,<br>tCho,tCr <br>Fitting method: Osprey basline knot spacing 0.40 ppm

 
|4. Data quality|  | 
|--|--| 
|a. SNR (Cr), linewidth (Cr) [Hz] | SNR: 125 +- 0, linewidth 7.36 +- 0.00 Hz| 
|b. Data exclusion criteria | None| 
|c. Quality measures of postporcessing model fitting (Mean Relative Amplitude Residual) | 9.32 % 
|d. Mean spectrum created with OspreyOverview| Figure 1 

It seems to think the sequence is PRESS?
But the basis set says it’s semi Laser… weird…

Could this be the culprit?