I am new to metabolomics and I have been using MS dial for the past months now. I initially only had one run, then decided to run more samples in a separate LCMS run. Now I am attempting to merge and batch correct run 1 and run 2 in R having QCs that include different samples.
Is there a way to align samples to two different QC files in MS dial? Or is there a way to merge abf QC files from the two runs somehow?
Otherwise, does anyone have any suggestions for how I could merge these runs and batch correct them using e.g R packages?
So far I have tried: 1) running them separately on MS dial, aligning them to the QC used for each run, then importing into R, processing them separately, then merging on common features between runs, and batch correct (pmp package and QCRSC function). 2) Running both runs in MS dial, aligning to the QC from the second run, then importing into R and batch correct as above.
As you can imagine, because of the different QCs none of these have worked so far, on my pca plot, samples in each run are clustering with their run QCs in separate clusters.
Any suggestions you might have would be greatly appreciated! Thank you.
sure, below are all of the parameters I used. Same both for positive and negative mode. Thanks!
MS-DIAL ver. 4.60
#Project MS1 Data type Profile MS2 Data type Profile Ion mode Negative Target Metablomics Mode ddMSMS
#Data collection parameters Retention time begin 0 Retention time end 32 Mass range begin 50 Mass range end 1000 MS2 mass range begin 50 MS2 mass range end 1000
#Peak spotting parameters Mass slice width 0.05 Exclusion mass list (mass & tolerance)
#Deconvolution parameters Sigma window value 0.5 MS2Dec amplitude cut off 0 Exclude after precursor True Keep isotope until 0.5 Keep original precursor isotopes False
#MSP file and MS/MS identification setting MSP file E:\Metabolomics\Database\MSMS-Neg-MassBank.msp Retention time tolerance 0.1 Accurate mass tolerance (MS1) 0.002 Accurate mass tolerance (MS2) 0.002 Identification score cut off 80 Using retention time for scoring False Using retention time for filtering False
#Text file and post identification (retention time and accurate mass based) setting Text file E:\Metabolomics\Database\Edited_STd.txt Retention time tolerance 0.1 Accurate mass tolerance 0.002 Identification score cut off 85
#Advanced setting for identification Relative abundance cut off 0 Top candidate report True
#Adduct ion setting [M-H]- [M+Na-2H]- [M+Cl]-
#Alignment parameters setting Reference file E:\Metabolomics\MSDial abf converted data\28-QC_2.abf Retention time tolerance 0.1 MS1 tolerance 0.003 Retention time factor 0.5 MS1 factor 0.5 Peak count filter 0 N% detected in at least one group 0 Remove feature based on peak height fold-change True Sample max / blank average 5 Sample average / blank average 5 Keep identified and annotated metabolites False Keep removable features and assign the tag for checking False Gap filling by compulsion False
#Tracking of isotope labels Tracking of isotopic labels FALSE
Thanks so much for developing MS-dial, it is such a great program!
I am currently analysing metabolomics data using version 4.6.
After processing the raw data and scrolling through the ion table I opened up the chromatogram and visualised the individual peaks for each sample. I noticed that lots of those samples had a peak intensity of 0, despite there being a clear clean peak there (right top table, picture 1). I learned then that I can manually modify those peaks by following what is indicated on the left table (picture 1). So after updating I then got an intensity for all peaks (picture 2).
I was wondering: - Why are so many peaks not detected and assigned an intensity of 0? I unticked the gap-filling option so I wondered if this was the reason?
- If that was not the reason, should I perform this manual adjustment for all metabolites detected? Prior to this I would replace all values by 1/10 of the minimum peak intensity during the export option. However, I can really see how this could bias my results, especially when that 1/10 assigned would not approximate the actual intensity of those peaks. On the other side, I could never manually change all of them as I detected over 19'000, so if I only did it for a subset of more interesting ones, I would also be biasing my final result. What do you suggest?
I couldn't find any reference to this functionality on the tutorial page, so I wanted to check directly with you.