All values turned '0' after normalization with QC

All the values in a group (triplicates) became ‘0’ after normalized with pooled QC samples. How to fix this?

Please follow our post guide

Hi

Thank you for the post guide and apologies for not stating it clearly.

The steps I used are as below:

Statistical Analysis (one factor) > Plain text file (Peak intensities, samples in columns (unpaired)) > Proceed without Data Filtering > Submit Missing value (Multivariate statistical methods-KNN (sample-wise) > Sample normalization (Normalization by pooled sample from group (group PQN), specify QC group) > Normalize

Then I downloaded the data_normalized.csv to check the processed data and realized that the values of a group became '0’. I also tried using different browser and doing in different days, the error still occurs.

I had encountered this issue before but last time instead of became ‘0’, the values were normalized to the same value.

I have attached the csv downloaded from the analysis and hope it helps to solve the issues.

data_normalized.csv (753.0 KB)

data_processed.csv (799.5 KB)

data_original.csv (655.8 KB)

PQN is mainly designed for targeted metabolomics data (i.e. dilution adjustment in urine samples) which uses feature/sample medians to compute reference. For untargeted data, which contains a lot of noise and zeros, PQN will not work well especially for small samples. In addition to PQN, KNN is also not suitable for untargeted metabolomics data

Two suggestions

  1. Apply data filtering to remove features containing high proportion of zeros
  2. Apply more suitable missing value estimation method (such as LoDs or QRILC)

Hi Xia.Lab,

Thank you for clarifying.

Based on your explanation, my understanding is that PQN addresses sample-to-sample concentration differences rather than correcting for signal drift or technical errors during the run.

If that is the case, could you advise on how we should best perform signal drift correction using our QC samples? Specifically, is there a tool or function within MetaboAnalyst that performs a similar role to LOESS normalization (such as QC-RLSC)? Given that signal variation is common in mass spectrometry, correcting for these technical artifacts seems critical to ensure our results accurately reflect the biological nature of the samples.

Regarding missing value imputation, I wonder if relying strictly on LOD-based methods or QRILC might be a bit too conservative for our dataset. Since missing values in LC-MS can stem from both low abundance and random technical factors, I would appreciate your thoughts on whether a different or hybrid imputation strategy might be appropriate here.

Best regards

This belongs to the early stage (expriemtal design - analytics - QC). The main pipeline is more for largely clean (or “cleanable”) data.

For your request, take a look at Utility => Batch Effect Correction. It offeres many options: ComBat, EigenMS, QC-RLSC, ANCOVA, RUV-random, RUV2, RUVseq, NOMIS and CCMN.