q-value-based-confidence-filtering
Summary
Filter feature identification results by q-value threshold to retain only high-confidence peptide identifications in DIA mass spectrometry data. This skill controls false discovery rate and populates analyte selection interfaces with only statistically validated features.
When to use
Apply this skill after loading feature identification results (e.g., from OpenSwath or other DIA search engines) when you need to display only confident peptide precursors and their chromatograms. Use it when the input feature table contains mixed-confidence hits and you want to exclude low-confidence identifications (typically those with q-value ≥ 1%) before visualization or downstream analysis.
When NOT to use
- Input feature table is already pre-filtered to a single confidence level (filtering is redundant).
- Analysis requires visualization of all features regardless of statistical confidence (e.g., exploratory inspection of low-confidence hits).
- Q-value scores are not available or not computed by the search engine (threshold cannot be applied).
Inputs
- Feature identification results with q-value scores (FeatureMap or ResultsLoader output)
- Raw DIA mass spectrometry data file or directory
- Transition group metadata (protein, peptide, charge state, retention time, intensity)
Outputs
- Filtered analyte list (protein, peptide, charge state tuples meeting q-value threshold)
- Filtered transition group chromatogram dataset
- Populated analyte selection dropdowns in UI
- Interactive Bokeh chromatogram figures with only confident features
How to apply
Load feature metadata containing q-value scores from search results (e.g., via ResultsLoader or FeatureMap structures). Apply a q-value threshold cutoff—the article and massdash codebase use 1% as default—to filter the analyte population before populating dropdown menus for protein, peptide, and charge state selection. This filtering step occurs after feature loading but before rendering interactive visualizations, ensuring only statistically validated features appear in the user interface. The q-value threshold is configurable in the sidebar plotting controls, allowing users to experiment with stricter or more permissive cutoffs. Verify filtering success by confirming that the number of selectable analytes matches the count of features passing the q-value threshold and that hover metadata (Q-value, apex intensity, retention time) on rendered chromatograms shows no values exceeding the threshold.
Related tools
- massdash.loaders.ResultsLoader (Loads feature identification results including q-value scores from search output files) — https://github.com/Roestlab/massdash
- massdash.structs.FeatureMap (Data structure that holds analyte metadata (q-values, retention times, intensities) used for filtering and selection) — https://github.com/Roestlab/massdash
- massdash.plotting.InteractivePlotter (Renders filtered analyte data as interactive Bokeh figures after q-value filtering is applied) — https://github.com/Roestlab/massdash
- Streamlit (GUI framework that exposes q-value threshold control in sidebar and populates filtered analyte dropdown menus)
Evaluation signals
- Number of selectable analytes in dropdown menus equals count of features with q-value ≤ threshold
- All rendered chromatogram traces and hover metadata show q-values ≤ the applied threshold
- Changing the threshold value in the sidebar updates the analyte list and removes/restores features as expected
- Features with q-value > threshold do not appear in any visualization or dropdown selection
- Peak metadata (apex retention time, apex intensity, Q-value) displayed on hover conforms to the threshold constraint
Limitations
- Q-value calculation depends on the accuracy and calibration of the upstream search engine; biased or incorrectly calibrated q-values will produce misleading filtered results.
- Default 1% q-value threshold may be too permissive for very large feature tables or too strict for sparse data; no guidance provided in the article for threshold selection on a per-dataset basis.
- Filtering is applied globally to all analytes; the article does not describe per-peptide, per-protein, or per-charge-state conditional thresholds.
- Q-value filtering alone does not account for other quality metrics (e.g., retention time prediction error, isotope pattern quality) that might also warrant exclusion.
Evidence
- [other] the analytes populated in the drop down selection boxes are filtered based on the feature Q-value of 1%: "the analytes populated in the drop down selection boxes are filtered based on the feature Q-value of 1%"
- [other] The sidebar provides settings to control results at a specified Q-value cutoff: "The sidebar provides settings to control results at a specified Q-value cutoff"
- [other] Load search results — the file path for search result files containing feature identification results: "the file path for search result files containing feature identification results"
- [other] Filter analytes by Q-value threshold (default 1%) and populate analyte selection dropdowns (protein, peptide, charge state): "Filter analytes by Q-value threshold (default 1%) and populate analyte selection dropdowns"
1---2name: q-value-based-confidence-filtering3description: Use when after loading feature identification results (e.g., from OpenSwath or other DIA search engines) when you need to display only confident peptide precursors and their chromatograms.4license: CC-BY-4.05---67# q-value-based-confidence-filtering89## Summary1011Filter feature identification results by q-value threshold to retain only high-confidence peptide identifications in DIA mass spectrometry data. This skill controls false discovery rate and populates analyte selection interfaces with only statistically validated features.1213## When to use1415Apply this skill after loading feature identification results (e.g., from OpenSwath or other DIA search engines) when you need to display only confident peptide precursors and their chromatograms. Use it when the input feature table contains mixed-confidence hits and you want to exclude low-confidence identifications (typically those with q-value ≥ 1%) before visualization or downstream analysis.1617## When NOT to use1819- Input feature table is already pre-filtered to a single confidence level (filtering is redundant).20- Analysis requires visualization of all features regardless of statistical confidence (e.g., exploratory inspection of low-confidence hits).21- Q-value scores are not available or not computed by the search engine (threshold cannot be applied).2223## Inputs2425- Feature identification results with q-value scores (FeatureMap or ResultsLoader output)26- Raw DIA mass spectrometry data file or directory27- Transition group metadata (protein, peptide, charge state, retention time, intensity)2829## Outputs3031- Filtered analyte list (protein, peptide, charge state tuples meeting q-value threshold)32- Filtered transition group chromatogram dataset33- Populated analyte selection dropdowns in UI34- Interactive Bokeh chromatogram figures with only confident features3536## How to apply3738Load feature metadata containing q-value scores from search results (e.g., via ResultsLoader or FeatureMap structures). Apply a q-value threshold cutoff—the article and massdash codebase use 1% as default—to filter the analyte population before populating dropdown menus for protein, peptide, and charge state selection. This filtering step occurs after feature loading but before rendering interactive visualizations, ensuring only statistically validated features appear in the user interface. The q-value threshold is configurable in the sidebar plotting controls, allowing users to experiment with stricter or more permissive cutoffs. Verify filtering success by confirming that the number of selectable analytes matches the count of features passing the q-value threshold and that hover metadata (Q-value, apex intensity, retention time) on rendered chromatograms shows no values exceeding the threshold.3940## Related tools4142- **massdash.loaders.ResultsLoader** (Loads feature identification results including q-value scores from search output files) — https://github.com/Roestlab/massdash43- **massdash.structs.FeatureMap** (Data structure that holds analyte metadata (q-values, retention times, intensities) used for filtering and selection) — https://github.com/Roestlab/massdash44- **massdash.plotting.InteractivePlotter** (Renders filtered analyte data as interactive Bokeh figures after q-value filtering is applied) — https://github.com/Roestlab/massdash45- **Streamlit** (GUI framework that exposes q-value threshold control in sidebar and populates filtered analyte dropdown menus)4647## Evaluation signals4849- Number of selectable analytes in dropdown menus equals count of features with q-value ≤ threshold50- All rendered chromatogram traces and hover metadata show q-values ≤ the applied threshold51- Changing the threshold value in the sidebar updates the analyte list and removes/restores features as expected52- Features with q-value > threshold do not appear in any visualization or dropdown selection53- Peak metadata (apex retention time, apex intensity, Q-value) displayed on hover conforms to the threshold constraint5455## Limitations5657- Q-value calculation depends on the accuracy and calibration of the upstream search engine; biased or incorrectly calibrated q-values will produce misleading filtered results.58- Default 1% q-value threshold may be too permissive for very large feature tables or too strict for sparse data; no guidance provided in the article for threshold selection on a per-dataset basis.59- Filtering is applied globally to all analytes; the article does not describe per-peptide, per-protein, or per-charge-state conditional thresholds.60- Q-value filtering alone does not account for other quality metrics (e.g., retention time prediction error, isotope pattern quality) that might also warrant exclusion.6162## Evidence6364- [other] the analytes populated in the drop down selection boxes are filtered based on the feature Q-value of 1%: "the analytes populated in the drop down selection boxes are filtered based on the feature Q-value of 1%"65- [other] The sidebar provides settings to control results at a specified Q-value cutoff: "The sidebar provides settings to control results at a specified Q-value cutoff"66- [other] Load search results — the file path for search result files containing feature identification results: "the file path for search result files containing feature identification results"67- [other] Filter analytes by Q-value threshold (default 1%) and populate analyte selection dropdowns (protein, peptide, charge state): "Filter analytes by Q-value threshold (default 1%) and populate analyte selection dropdowns"