Basis set simulation for 31P MRS data analysis

Hi Everyone,

I need to create a basis set for 31P MRS data analysis acquired with Bruker 7T pre-clinical system. I am planning on using LCModel to finalize the analysis but do not have a basis set yet to plug in. I would appreciate any idea, guidance on that regarding where to start.



LCModel was originally and explicitly designed for proton. There are ways to make it work for 31P and 13C, but they are a little involved. Quantification of in vivo 31P NMR Brain Spectra using LCModel - PMC ( is probably the best reference to get started.

please drop me an message with your email address.

We have been working on lcmodel, fsl-mrs(@wclarke helped us to transfer lcmodel basis set to fsl-mrs) and spawn for 31P MRSI. With our lcmodel pipeline, our 3D novel rosette ute 31P MRSI apporach got 2nd place at the ismrm reproducibility challenge. We recently tested the 3D novel rosette ute 31P MRSI on the bruker system too (if you are interested in :slight_smile: )

You can find more details in th following GitHub page.

lcmodel data analysis pipeline please use the following link.

Hi, I discovered the MRShub community just a week ago, and this is my first comment.

I’m also interested in utilizing LCModel to analyze animal 31P MRS data on the Bruker 7T.

I assume your data is FID, not spin echo, such as PRESS, correct?

My approach is as follows, and I will attempt to follow these steps. However, if anyone reading this finds a mistake or knows a better method, please feel free to point it out to me.

The first thing is to create individual metabolite basis spectra (.RAW files) for generating an LCModel basis set.

The method described below utilizes the FID-A package.

Create 31P metabolite spin system .mat files for .RAW file creation.
The spin system .mat files for 1H are in the simulationTool → metabolites; you can refer to those. The chemical shift and J-values are described in the paper mentioned by Dr. George. ‘Quantification of in vivo 31P NMR Brain Spectra using LCModel - PMC (’

However, I also have a question here; I do not know how to describe the J values between P-H and intermolecular P-P. Any advice on addressing this issue would be greatly appreciated.

sim_onepulse.m or sim_onepulse_delay.m seems suitable for creating the basis spectra. However, since these basis spectra lack header information, it must be added to become .RAW files. For PRESS, STEAM, or LASER data, .RAW files can be created using sim_lcmrawbasis.m. However, for FID data, there doesn’t seem to be an m-file to generate .RAW files automatically.

After creating all the metabolite basis spectra you want to analyze, proceed to create a basis set using the LCModel feature.

I haven’t personally tried this method yet but plan to do so. If you’ve already tackled this problem, any suggestions would be greatly appreciated.

Best regards,

Since each metabolite typically exhibits only one or two 31P peaks, it might be more straightforward to generate the peaks directly within Matlab rather than utilizing external code such as sim_onepulse.m (which also relies on Matlab) to create .RAW files. This approach allows for the creation of split peaks resulting from J-coupling.

I’m still in the process of experimenting with various methods, so I’m not confident yet. If anyone knows a better approach, please feel free to share.