spang-lab / metabodecon

Deconvolution of 1D NMR spectra using MetaboDecon1D followed by alignment of the data by the speaq package and some additional postprocessing resulting in an aligned data matrix of aligned signal integrals
https://spang-lab.github.io/metabodecon/
GNU General Public License v3.0
2 stars 0 forks source link

Metabolite identification #1

Closed MangelZU closed 9 months ago

MangelZU commented 1 year ago

Hi I am a new GitHub user and new to metabolomics studies. I'm looking through this package and have a question about metabolite identification.

Once the deconvolution has been calculated and the value of the spectrum integrals have been obtained, how can I know to which metabolite each value corresponds and if it is a doublet, triplet and so on?

wolframgronwald commented 1 year ago

Hi, thanks a lot for your question. As output from MetaboDecon you will get a table with aligned signal integrals. You can use this table directly to run for example a classifier, PCA, statistical test etc. So basically your data file is like an advanced bucket table with deconvolution. Following for example a classification and obtaining a metabolic signature you will be for example interested in identifying the corresponding metabolites. To identify which metabolites correspond to the individual signals is the harder part and unfortunately we have currently no fully automated approach available for this task. But here is what we do: 1) In our table we select a signal of interest. 2) We open one of the spectra of the data set in a program like Chenomx. Note that for Chenomx you can download and install a free version with limited functionality but which is sufficient for our purposes. It is best to select a spectrum where your signal of interest is close to its maximum value. 3) Based on the ppm value of your signal of interest you identify the corresponding signal in Chenomx. With a right-click of your mouse you can search the Chenomx spectra library at a certain position for matching compounds. 4) Select the best matching compound and fit this compound in your spectrum (all done in Chenomx). This will also help you to identify other signals and multiplets corresponding to this compound. This is quite feasible for the identification of a few of your compounds. But clearly for the identification of many compounds in crowded spectra this can become cumbersome.

Currently, we are working on approaches to identify signals belonging to the same compound within MetaboDecon1D. To this end we are evaluating correlations between individual signals. As soon as these approaches are ready we will also include them in our package.

Hope that information helps

cardonaaaa commented 1 year ago

Hi, I was wondering the same thing about the identification of metabolites. With that clarified, I attempted to export the deconvoluted spectrum and import it into Chenomx for metabolite identification. According to the manual, Chenomx only accepts spectra in the following formats:

I've been reading the MetaboDecon manual but haven't found anything related to exporting the deconvoluted spectrum in one of these formats. How did you manage to import it into Chenomx?

wolframgronwald commented 1 year ago

Hi, thanks a lot for your question. So I think my previous mail was not clear enough regarding signal identification. When you run MetaboDecon 1D on a single spectrum you get as output an R-object for example called 'spectrum_data' which contains a vector with the ppm values of all identified signals called 'peak_triplets_middle' the vector 'integrals' contains the corresponding deconvoluted integrals in the same order. For a single CPMG 1H plasma spectrum I usually obtain around 450 signals. For signal identification I take the original in my case Bruker spectrum and open it in Chenomx. Next, I select a signal of interest from 'peak_triplets_middle' and at that ppm value I search in Chenomx for the corresponding metabolite such as for example acetate. The corresponding integral from the vector 'integrals' contains then the deconvoluted integral for acetate.

In case of multiple spectra you open one typical original spectrum in Chenomx and then use your final matrix of aligned deconvoluted signals. In case of closely neighbouring signals I usually take both ppm value and integral into account to select the corresponding signal in Chenomx.

So there is no need to import the spectrum approximated by metaboDecon1D. The approximated spectrum contains again the overlay of all individual Lorentz curves and was constructed from the data stored in 'spectrum_data' and it should be almost identical to the original spectrum. What we gain by using MetaboDecon1D is the information about all the individual Lorentz curves separately.

Hope that information helps