agentsclimarketplace

Cross batch metabolite quantification harmonization

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/cross-batch-metabolite-quantification-harmonization

Use when you have multiple SummarizedExperiment objects representing separate metabolomics assay batches with different metabolite coverage and missing-value patterns, and you need to identify a common metabolite set quantified across all batches before applying hierarchical batch normalization or.From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill cross-batch-metabolite-quantification-harmonization

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

6.5 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

cross-batch-metabolite-quantification-harmonization

Summary

Filter and impute metabolites across multiple metabolomics batches to produce a unified feature set with complete quantification. This skill ensures only metabolites present across all batches are retained and missing values are resolved, enabling downstream batch-effect correction.

When to use

You have multiple SummarizedExperiment objects representing separate metabolomics assay batches with different metabolite coverage and missing-value patterns, and you need to identify a common metabolite set quantified across all batches before applying hierarchical batch normalization or comparative analysis.

When NOT to use

  • Input is already a single unified feature table (not batch-separated SummarizedExperiment objects)
  • You intend to retain batch-specific metabolites rather than enforce cross-batch consistency
  • Missing-value mechanisms are informative and should not be imputed (e.g., absent metabolites indicate true biological absence rather than measurement failure)

Inputs

  • List of SummarizedExperiment objects, each with log2-transformed metabolite abundance assay (logRaw or equivalent)
  • Multiple batches of metabolomics data with metabolite × sample matrix structure

Outputs

  • List of SummarizedExperiment objects with new assay (rawImpute) containing harmonized metabolites with imputed values
  • Reduced metabolite set (e.g., 61 metabolites across 5 batches) quantified in all samples across all batches
  • Assay matrix with no missing values

How to apply

Load metabolomics data as a list of SummarizedExperiment objects with log2-transformed assay (e.g., logRaw). Apply hRUV::clean() with threshold=0.5 to filter metabolites with >50% missing values per batch, method='intersect' to retain only metabolites quantified in all batches, and k-nearest neighbour imputation to fill remaining missing values. Extract and verify the output assay (e.g., rawImpute) for metabolite count and absence of missing data. The intersect method ensures strict cross-batch comparability by excluding any metabolite absent from even one batch.

Related tools

  • hRUV (Primary tool: implements clean() function with threshold filtering, intersect method, and k-nearest neighbour imputation for cross-batch metabolite harmonization) — https://github.com/SydneyBioX/hRUV
  • SummarizedExperiment (Data container: stores metabolite abundance matrices (assays) and metadata for batch-organized metabolomics data) — https://bioconductor.org/packages/SummarizedExperiment
  • dplyr (Data manipulation and wrangling during workflow setup and verification)
  • DMwR2 (Supports k-nearest neighbour imputation used by hRUV::clean())
  • R (Execution environment)

Examples

dat_list = hRUV::clean(dat_list, threshold = 0.5, method = "intersect", assay = "logRaw", newAssay = "rawImpute")

Evaluation signals

  • Output assay contains no missing values (NA count = 0) after imputation
  • Metabolite count is reduced and consistent across all batches (e.g., 61 metabolites × n_samples for each batch)
  • All retained metabolites are present in every batch (intersect condition verified)
  • Metadata and sample names are preserved; only metabolite dimension is filtered
  • rawImpute assay is correctly nested in each SummarizedExperiment object with proper assay naming and dimnames

Limitations

  • Intersect method is stringent and may discard many batch-specific metabolites; not suitable when rare or batch-enriched metabolites carry biological significance
  • k-nearest neighbour imputation assumes missing-at-random (MAR) mechanism; if missingness is informative (e.g., detection limits), imputation may bias downstream inference
  • Threshold=0.5 (50% missing-value cutoff) is fixed in the demonstrated workflow; users must justify appropriateness for their data distribution
  • Requires explicit batch structure in the SummarizedExperiment list; does not automatically detect or infer batch membership

Evidence

  • [intro] threshold and intersect method ensure cross-batch metabolite retention: "filters metabolites with >50% missing values per batch using the intersect method, then performs k-nearest neighbour imputation"
  • [intro] intersect method definition and strict cross-batch requirement: "selected metabolites that are quantified across all batches (intersect) with clean function"
  • [intro] concrete hRUV::clean() function call with parameters: "dat_list = hRUV::clean(dat_list, threshold = 0.5, method = "intersect", assay = "logRaw", newAssay = "rawImpute")"
  • [intro] input data structure requirement: "The data is already formatted in to a SummarizedExperiment object"
  • [intro] expected output: metabolite reduction and missing-value elimination: "produce a rawImpute assay containing 61 metabolites quantified across all five batches"
  • [readme] installation and dependency context: "Install the R package from GitHub using the devtools package"

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.