metabolite-id-normalization
Summary
Cross-database metabolite identifier resolution and linking using MetaFetcheR to standardize and disambiguate metabolite representation across HMDB, ChEBI, PubChem, KEGG, and LipidMaps. This skill reconciles fragmented metabolite annotations into a unified reference table, enabling downstream metabolome integration and comparative analysis.
When to use
Apply this skill when you have metabolite identifiers sourced from or annotated against heterogeneous metabolome databases (HMDB, ChEBI, PubChem, KEGG, LipidMaps) and need to resolve ambiguity in metabolite identity, create a unified metabolite reference table, or enable cross-database queries in a metabolomics workflow.
When NOT to use
- Your metabolite identifiers are already unified and come from a single, canonical database with no ambiguity.
- You require metabolite structure, chemical properties, or biological pathway information; this skill resolves IDs only, not annotations or chemical descriptors.
- Your metabolite identifiers are from databases not supported by MetaFetcheR (outside HMDB, ChEBI, PubChem, KEGG, LipidMaps).
Inputs
- metabolite identifier list (e.g. HMDB IDs, ChEBI identifiers, PubChem CIDs)
- source database label for each metabolite (string: 'HMDB', 'ChEBI', 'PubChem', 'KEGG', or 'LipidMaps')
- R environment with MetaFetcheR package loaded
Outputs
- cross-database metabolite ID mapping table (CSV)
- one row per input metabolite; columns for source ID, source database, and resolved IDs for each of the five target databases
- standardized metabolite reference with disambiguated annotations
How to apply
Load your metabolite identifiers and their source database into R. Use the MetaFetcheR core mapping function to resolve input IDs against the package's internal cross-database linkage index. The function queries the five supported databases (HMDB, ChEBI, PubChem, KEGG, LipidMaps) and returns all available target IDs for each input metabolite. Aggregate the resolved identifiers into a single output table, preserving the source ID, source database, and all resolved target IDs with their corresponding target database labels. Export the mapping table as a CSV file with one row per input metabolite and columns for each database's resolved IDs. Verify successful resolution by checking that each input metabolite has at least one resolved ID in the target database(s) relevant to your analysis.
Related tools
- MetaFetcheR (R package implementing the cross-database metabolite ID linkage index and resolution function; core execution engine for this skill) — https://github.com/komorowskilab/MetaFetcheR
- R (programming environment for loading data, calling MetaFetcheR functions, and exporting results)
- devtools (R package dependency for installing MetaFetcheR from GitHub source)
- Human Metabolome Database (HMDB) (one of five target metabolome databases for ID resolution)
- Chemical Entities of Biological Interest (ChEBI) (one of five target metabolome databases for ID resolution)
- PubChem (one of five target metabolome databases for ID resolution)
- Kyoto Encyclopedia of Genes and Genomes (KEGG) (one of five target metabolome databases for ID resolution)
- Lipidomics Gateway (LipidMaps) (one of five target metabolome databases for ID resolution)
Examples
library(devtools); install_github("shizidushu/hfun","komorowskilab/metafetcher"); library(metafetcher); mapped_ids <- resolve_metabolites(input_ids, source_db="HMDB"); write.csv(mapped_ids, "metabolite_mapping.csv", row.names=FALSE)
Evaluation signals
- All input metabolites have at least one resolved ID in at least one target database (no null mappings for valid inputs).
- Output CSV contains exactly one row per input metabolite with source ID and source database correctly preserved.
- Cross-database links are bidirectional where applicable (e.g., if HMDB ID X maps to ChEBI ID Y, querying Y returns X).
- No duplicate IDs appear in output rows for the same target database (one-to-many resolution is valid; many-to-one duplication indicates mapping error).
- Target database columns are populated only with IDs from their respective databases; no category mismatches or format violations.
Limitations
- MetaFetcheR supports only five databases (HMDB, ChEBI, PubChem, KEGG, LipidMaps); metabolites not indexed in the package's internal linkage data cannot be resolved.
- Metabolites with no cross-database links (singletons in one database only) will not resolve to other databases; this reflects limitations in the underlying database integration, not failure of the tool.
- The quality and completeness of ID mappings depend on the freshness and accuracy of the internal cross-database linkage index; outdated or misannotated links in source databases will propagate.
- No changelog is available for the package, limiting transparency on version differences and internal linkage data updates.
Evidence
- [intro] cross-database metabolite resolution: "designed to link metabolites IDs from different Metabolome databases with eachother in a step to resolve ambiguity and standardize metabolites representation and annotation"
- [readme] five supported databases: "Currently the package supports resolving IDs for the following databases: Human Metabolome Database (HMDB), Chemical Entities of Biological Interest (ChEBI), PubChem, Kyoto Encyclopedia of Genes and"
- [other] workflow steps for ID mapping: "Load metabolite identifiers and their source database using R. Call the MetaFetcheR core mapping function to resolve input IDs against the package's internal cross-database linkage index. Aggregate"
- [readme] implementation language: "MetaFetcheR is implemented in R"
- [readme] installation dependency: "library(devtools) install_github("shizidushu/hfun","komorowskilab/metafetcher")"
1---2name: metabolite-id-normalization3description: Use when you have metabolite identifiers sourced from or annotated against heterogeneous metabolome databases (HMDB, ChEBI, PubChem, KEGG, LipidMaps) and need to resolve ambiguity in metabolite identity, create a unified metabolite reference table, or enable cross-database queries in a metabolomics.4license: CC-BY-4.05---67# metabolite-id-normalization89## Summary1011Cross-database metabolite identifier resolution and linking using MetaFetcheR to standardize and disambiguate metabolite representation across HMDB, ChEBI, PubChem, KEGG, and LipidMaps. This skill reconciles fragmented metabolite annotations into a unified reference table, enabling downstream metabolome integration and comparative analysis.1213## When to use1415Apply this skill when you have metabolite identifiers sourced from or annotated against heterogeneous metabolome databases (HMDB, ChEBI, PubChem, KEGG, LipidMaps) and need to resolve ambiguity in metabolite identity, create a unified metabolite reference table, or enable cross-database queries in a metabolomics workflow.1617## When NOT to use1819- Your metabolite identifiers are already unified and come from a single, canonical database with no ambiguity.20- You require metabolite structure, chemical properties, or biological pathway information; this skill resolves IDs only, not annotations or chemical descriptors.21- Your metabolite identifiers are from databases not supported by MetaFetcheR (outside HMDB, ChEBI, PubChem, KEGG, LipidMaps).2223## Inputs2425- metabolite identifier list (e.g. HMDB IDs, ChEBI identifiers, PubChem CIDs)26- source database label for each metabolite (string: 'HMDB', 'ChEBI', 'PubChem', 'KEGG', or 'LipidMaps')27- R environment with MetaFetcheR package loaded2829## Outputs3031- cross-database metabolite ID mapping table (CSV)32- one row per input metabolite; columns for source ID, source database, and resolved IDs for each of the five target databases33- standardized metabolite reference with disambiguated annotations3435## How to apply3637Load your metabolite identifiers and their source database into R. Use the MetaFetcheR core mapping function to resolve input IDs against the package's internal cross-database linkage index. The function queries the five supported databases (HMDB, ChEBI, PubChem, KEGG, LipidMaps) and returns all available target IDs for each input metabolite. Aggregate the resolved identifiers into a single output table, preserving the source ID, source database, and all resolved target IDs with their corresponding target database labels. Export the mapping table as a CSV file with one row per input metabolite and columns for each database's resolved IDs. Verify successful resolution by checking that each input metabolite has at least one resolved ID in the target database(s) relevant to your analysis.3839## Related tools4041- **MetaFetcheR** (R package implementing the cross-database metabolite ID linkage index and resolution function; core execution engine for this skill) — https://github.com/komorowskilab/MetaFetcheR42- **R** (programming environment for loading data, calling MetaFetcheR functions, and exporting results)43- **devtools** (R package dependency for installing MetaFetcheR from GitHub source)44- **Human Metabolome Database (HMDB)** (one of five target metabolome databases for ID resolution)45- **Chemical Entities of Biological Interest (ChEBI)** (one of five target metabolome databases for ID resolution)46- **PubChem** (one of five target metabolome databases for ID resolution)47- **Kyoto Encyclopedia of Genes and Genomes (KEGG)** (one of five target metabolome databases for ID resolution)48- **Lipidomics Gateway (LipidMaps)** (one of five target metabolome databases for ID resolution)4950## Examples5152```53library(devtools); install_github("shizidushu/hfun","komorowskilab/metafetcher"); library(metafetcher); mapped_ids <- resolve_metabolites(input_ids, source_db="HMDB"); write.csv(mapped_ids, "metabolite_mapping.csv", row.names=FALSE)54```5556## Evaluation signals5758- All input metabolites have at least one resolved ID in at least one target database (no null mappings for valid inputs).59- Output CSV contains exactly one row per input metabolite with source ID and source database correctly preserved.60- Cross-database links are bidirectional where applicable (e.g., if HMDB ID X maps to ChEBI ID Y, querying Y returns X).61- No duplicate IDs appear in output rows for the same target database (one-to-many resolution is valid; many-to-one duplication indicates mapping error).62- Target database columns are populated only with IDs from their respective databases; no category mismatches or format violations.6364## Limitations6566- MetaFetcheR supports only five databases (HMDB, ChEBI, PubChem, KEGG, LipidMaps); metabolites not indexed in the package's internal linkage data cannot be resolved.67- Metabolites with no cross-database links (singletons in one database only) will not resolve to other databases; this reflects limitations in the underlying database integration, not failure of the tool.68- The quality and completeness of ID mappings depend on the freshness and accuracy of the internal cross-database linkage index; outdated or misannotated links in source databases will propagate.69- No changelog is available for the package, limiting transparency on version differences and internal linkage data updates.7071## Evidence7273- [intro] cross-database metabolite resolution: "designed to link metabolites IDs from different Metabolome databases with eachother in a step to resolve ambiguity and standardize metabolites representation and annotation"74- [readme] five supported databases: "Currently the package supports resolving IDs for the following databases: Human Metabolome Database (HMDB), Chemical Entities of Biological Interest (ChEBI), PubChem, Kyoto Encyclopedia of Genes and"75- [other] workflow steps for ID mapping: "Load metabolite identifiers and their source database using R. Call the MetaFetcheR core mapping function to resolve input IDs against the package's internal cross-database linkage index. Aggregate"76- [readme] implementation language: "MetaFetcheR is implemented in R"77- [readme] installation dependency: "library(devtools) install_github("shizidushu/hfun","komorowskilab/metafetcher")"