Functional analysis - filtering broken?

Hello! I’m a bioinformatician processing a peak table of metabolomic data and I’m interested in a functional analysis of the peak table. However, as a sanity check, I tried to see if different filtering cut-offs during the “Data Filtering” phase would change my results in any way. I noticed that regardless of which value I entered in the “percentage to filter” slider (I tried 0, 20, 40, and 99%) the results were entirely the same. All other parameters were constant (mummichog @ p-value = .05, autoscaling and quantile normalization).

I tried this with different datasets and had the same issue. Naturally, the results did change between different datasets, but not after adjusting the filtering percentage.

Next, I tried to explore the issue in MetaboAnalystR following the functional analysis tutorial. I attempted to use the FilterVariable() function to use IQR filtering at 40%. I got an “unused argument” error when using the filter.cutoff argument (which appears as a possible argument using “?FilterVariable”, see here: FilterVariable: Methods for non-specific filtering of variables in xia-lab/MetaboAnalystR: An R Package for Comprehensive Analysis of Metabolomics Data), and upon investigating the source code for FilterVariable(), I noticed there is no filter.cutoff argument in the definition of the function. This would appear to me to be the source of this issue. I don’t see how to to pass a percentage to filter out to the function, and it isn’t clear to me from the source code of the function what it is doing by default.

If there’s something I’m missing please let me know but otherwise I wanted to report that there currently appears to be no way to adjust data filtering for peak table functional analysis. I’m using MetaboAnalystR version 4.0.0

Can you follow our post guideline if you are using the website? Note documentation for the R package is not updated to our latest development yet

Sure thing, my apologies:

  1. Functional analysis module
  2. Immune cell data (example)
  3. a. Peak table
    b. immune cell data
    c. Data filtering: IQR filtering @ 40% and then later at 0% and 98%, no QC filtering
    d. Normalization: autoscaling and quantile normalization, click “normalize” and then “proceed”
    e. Set parameter: mummichog algorithm at p < .05 scatter plots, all else is default values (human MFN). Click “proceed”
    f. Results page: I find the result table shown below the scatterplot to be entirely the same no matter which filtering percentage I choose at the “Data filtering” stage.

Since you are using our example data and focus on the Filtering step, I did a quick test - default 40% filtering (vs no filtering) - keep everything else the same. The results are clearly different.

Two comments:

  1. Make sure you click “Submit” before click “Proceed” in the Data Filtering page
  2. Make sure open only one tab using MetaboAnalyst (not open multiple tabs as they could overwrite each other)
1 Like

Thanks so much for your reply - I’m sorry to say it’s definitely because I didn’t click “Submit” before clicking “Proceed”. I apologize to waste your time on a simple issue. I’ll also keep in mind the multiple-tabs consideration as well, that is good to know.

This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.