agentsclimarketplace

Feature table blank intensity detection

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/feature-table-blank-intensity-detection

Use when after loading an MZmine3-exported feature quantification table from non-targeted LC-MS/MS data when your experiment includes blank (negative control) samples and you need to remove features attributable to contamination or instrument background before downstream statistical analysis.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill feature-table-blank-intensity-detection

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as CC-BY-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

7.2 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

feature-table-blank-intensity-detection

Summary

Detect and remove features from non-targeted LC-MS/MS feature quantification tables whose intensity in blank samples exceeds a defined threshold relative to biological samples. This step eliminates contaminants and artifacts introduced during sample preparation and analysis.

When to use

Apply this skill after loading an MZmine3-exported feature quantification table from non-targeted LC-MS/MS data when your experiment includes blank (negative control) samples and you need to remove features attributable to contamination or instrument background before downstream statistical analysis.

When NOT to use

  • Input data lacks blank (negative control) samples — blank removal cannot be applied without blanks to calculate threshold statistics.
  • Feature table has already undergone blank removal or quality filtering in a prior processing stage.
  • Analysis goal does not require stringent contamination control (e.g., exploratory profiling where retention of all features is preferred).

Inputs

  • Feature quantification table (CSV) from MZmine3 processing of non-targeted LC-MS/MS data
  • Sample metadata indicating which columns correspond to blank samples

Outputs

  • Filtered feature quantification table (CSV) with blank-associated features removed
  • Summary statistics of blank removal (e.g., number of features removed, intensity cutoff applied)

How to apply

Load the feature quantification table (CSV format) exported from MZmine3 processing into R or Jupyter Notebook. Identify and isolate the columns corresponding to blank samples. Calculate feature intensity statistics (mean or median) for each feature within the blank sample group. Define a threshold criterion—typically a ratio comparing blank intensity to biological sample intensity (e.g., blank-to-sample ratio > 0.5 or features present in blanks above 50th percentile of biological samples). Flag and remove features that exceed this threshold from the feature table. The rationale is that genuine biological features should show negligible intensity in blanks; elevated blank intensity indicates contamination rather than true signal.

Related tools

Examples

# Load feature table, identify blank columns, calculate median intensity per feature in blanks, remove features where blank median > 0.5 * median biological sample intensity, export filtered table
# In R: feature_table <- read.csv('feature_table_mzmine3.csv', row.names=1); blanks <- feature_table[, grepl('blank', colnames(feature_table), ignore.case=T)]; blank_median <- rowMedians(as.matrix(blanks)); bio_median <- rowMedians(as.matrix(feature_table[, !grepl('blank', colnames(feature_table), ignore.case=T)])); filtered <- feature_table[blank_median <= 0.5 * bio_median, ]; write.csv(filtered, 'feature_table_blank_removed.csv')

Evaluation signals

  • Number of features removed is reasonable relative to total features (typically 5–30% depending on contamination level) and is documented in the workflow log.
  • Filtered feature table has fewer rows than the input table; blank sample columns are either removed or retained depending on downstream use.
  • Manual spot-check: verify that removed features had consistently elevated intensity across blank samples and low/absent intensity in biological replicates.
  • Post-removal feature table is compatible with downstream statistical analysis tools (e.g., batch correction, univariate/multivariate tests) and maintains expected sample-by-feature matrix structure.
  • Threshold criterion and feature count summary are reproducible when the same cutoff is reapplied to the original table.

Limitations

  • Threshold selection is subjective; no universal ratio applies across all metabolomics experiments. Threshold must be empirically justified based on blanks vs. biological sample intensity distributions.
  • If blank samples are contaminated or represent true background metabolites (e.g., ubiquitous compounds like plasticizers), removal may incorrectly eliminate genuine biological signal present at similar intensity.
  • The workflow assumes blanks are true procedural blanks (e.g., solvent blanks, extraction blanks) and not experimental blanks; misclassification of sample metadata will produce incorrect filtering.

Evidence

  • [other] Calculate feature intensity statistics in blank samples (e.g., mean or median intensity per feature).: "Calculate feature intensity statistics in blank samples (e.g., mean or median intensity per feature)."
  • [other] Apply blank removal criterion to filter features with intensity in blanks above a defined threshold relative to biological samples.: "Apply blank removal criterion to filter features with intensity in blanks above a defined threshold relative to biological samples."
  • [readme] perform data merging, data cleanup, blank removal, batch correction, and univariate and multivariate statistical analyses on their non-targeted LC-MS/MS data and Feature-based Molecular Networks.: "perform data merging, data cleanup, blank removal, batch correction, and univariate and multivariate statistical analyses on their non-targeted LC-MS/MS data"
  • [other] The FBMN-STATS workflow implements blank removal as a procedural step applied to non-targeted LC-MS/MS data and Feature-based Molecular Networks, positioned after data cleanup and before batch correction in the analysis pipeline.: "blank removal as a procedural step applied to non-targeted LC-MS/MS data, positioned after data cleanup and before batch correction in the analysis pipeline."

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.