技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
tooluniverse-lipidomics【数据与研究】Lipid analysis and lipid-disease associations using LIPID MAPS classification, HMDB metabolite data, KEGG/Reactome lipid pathways (sphingolipid, eicosanoid, steroid, fatty acid), and PubChem chemical info. Use for lipid identification, lipid metabolism pathway mapping, and lipid-associated disease analysis (cardiovascular, diabetes, NAFLD).
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Integrated pipeline for lipid identification, classification, pathway mapping, and disease association analysis. Distinct from general metabolomics because lipids have unique classification systems (LIPID MAPS), specialized pathways (sphingolipid, eicosanoid, steroid), and disease associations (cardiovascular, neurodegeneration, metabolic syndrome).
Lipid identification starts with mass spectrometry: the lipid class is determined by the head group fragment mass (e.g., m/z 184 for phosphocholine in positive mode), total chain length and saturation from the precursor exact mass, and individual fatty acid chains from neutral loss or product ion scans. LIPID MAPS classification organizes lipids by chemical structure into 8 categories — knowing the category immediately tells you the likely biological context (sphingolipids → apoptosis/neurodegeneration; glycerophospholipids → membrane remodeling; eicosanoids → inflammation). Structural specificity matters biologically: Cer(d18:1/16:0) and Cer(d18:1/24:1) have different membrane properties and disease associations despite being the same lipid class. Always map changed lipids back to metabolic pathways because lipids are intermediates — an elevated ceramide could mean increased synthesis (CERS activity up), decreased degradation (ASAH1 down), or shunting from sphingomyelin (SMPD1 up).
LOOK UP DON'T GUESS: Do not assume a lipid's LIPID MAPS ID, exact mass, or pathway membership — query LipidMaps_search_by_name first. Do not guess which diseases are associated with a lipid class; retrieve them from HMDB or CTD.
Key principles:
Not this skill: For general metabolomics (amino acids, sugars, organic acids), use tooluniverse-metabolomics. For drug ADMET properties, use tooluniverse-admet-prediction.
| Tool | Use For |
|---|---|
LipidMaps_search_by_name | Lipid identification by name, abbreviation, or mass |
LipidMaps_get_compound_by_id | Detailed lipid info (structure, classification, pathways) |
SwissLipids_search | Lipid identification by name/shorthand — SIB's complementary lipid database, use when LIPID MAPS misses a species (see below) |
SwissLipids_get_lipid | Full SwissLipids entry: name, formula, monoisotopic mass, cross-refs |
SwissLipids_get_children | Descend the SwissLipids classification tree (category → class → species) one level |
HMDB_search / HMDB_get_metabolite | Lipid metabolite details, disease associations |
kegg_search_pathway | Lipid metabolism pathways (keyword=sphingolipid, glycerolipid, etc.) |
KEGG_get_pathway_genes | Enzymes in lipid pathways |
PubChem_get_compound_properties_by_CID | Chemical properties (mass, formula, SMILES) |
CTD_get_gene_diseases | Gene-disease links for lipid metabolism enzymes |
LipidMaps_get_gene | Resolve a lipid-metabolism gene (symbol/NCBI ID/LMP ID) to its LIPID MAPS Proteome Database record — name, synonyms, chromosome location, species |
LipidMaps_get_protein | Same lookup at the protein level — adds UniProt/RefSeq cross-references and amino-acid sequence |
DisGeNET_search_gene | Disease associations for lipid genes |
PubMed_search_articles | Published lipidomics studies |
OpenTargets_get_associated_drugs_by_target_ensemblID | Drugs targeting lipid metabolism enzymes |
Phase 0: Lipid Identity Resolution
Name/mass/abbreviation → LIPID MAPS ID → classification
|
Phase 1: Structural Classification
LIPID MAPS 8-category system → subclass → molecular species
|
Phase 2: Pathway Mapping
KEGG lipid metabolism → biosynthesis/degradation enzymes
|
Phase 3: Disease Associations
CTD/DisGeNET/HMDB → lipid-disease links with evidence
|
Phase 4: Interpretation & Report
Biological significance → biomarker potential → recommendations
LipidMaps_search_by_name(query="ceramide") → LMSP ID, exact mass, classification
HMDB_search(compound_name="ceramide") → HMDB ID, disease links
PubChem_get_CID_by_compound_name(name="ceramide") → CID, SMILES
LIPID MAPS search tips:
LipidMaps_search_by_formula with molecular formula (e.g., "C34H67NO3")PubChem_get_CID_by_compound_name(name="C16 Ceramide") then cross-referenceSwissLipids as a second lipid database — when LIPID MAPS doesn't have a species or you want its independent classification, SwissLipids (swisslipids.org, SIB) covers the same ground with its own ID space and hierarchy:
SwissLipids_search(query="PC(16:0/18:1)") → real hit: entity_id "SLM:000088148"
SwissLipids_get_lipid(entity_id="SLM:000000510") → real entry: "hexadecanoate"
(palmitate), formula C16H31O2, mass 255.4167, charge -1, plus a full
adduct_mz table ([M+H]+, [M+Na]+, [M-H]-, etc.) useful for matching
observed MS peaks directly — LIPID MAPS entries don't include this table.
SwissLipids_get_children(entity_id="SLM:000000338") → descend one level in the
classification tree (e.g. from a lipid category down to its member species)
Shorthand abbreviations like PC(16:0/18:1) work directly in SwissLipids_search
(unlike LIPID MAPS, which often needs the generic class name first). Note
classification can come back as an empty array [] for some entries — a real
data gap in SwissLipids, not a failed lookup; fall back to LIPID MAPS for that
lipid's category if classification is required.
Use LipidMaps_get_compound_by_id to retrieve the LIPID MAPS 8-category classification (FA, GL, GP, SP, ST, PR, SL, PK) for any lipid. The category immediately signals biological context: SP (sphingolipids) → apoptosis/neurodegeneration; GP (glycerophospholipids) → membrane remodeling; FA-derived eicosanoids → inflammation.
Key lipid metabolism pathways in KEGG:
| Pathway | KEGG ID | Key Enzymes | Disease Relevance |
|---|---|---|---|
| Sphingolipid metabolism | hsa00600 | SMPD1, CERS1-6, ASAH1 | Niemann-Pick, Fabry, Gaucher |
| Glycerophospholipid metabolism | hsa00564 | PLA2, LPCAT, LPIN | Barth syndrome, atherosclerosis |
| Arachidonic acid metabolism | hsa00590 | COX1/2, LOX, CYP450 | Inflammation, asthma, CVD |
| Steroid biosynthesis | hsa00100 | HMGCR, CYP51A1, DHCR7 | Hypercholesterolemia, Smith-Lemli-Opitz |
| Fatty acid biosynthesis | hsa00061 | FASN, ACC, SCD | Obesity, NAFLD, cancer |
| Fatty acid degradation | hsa00071 | CPT1, ACADM, HADHA | MCAD deficiency, VLCAD deficiency |
| Bile acid biosynthesis | hsa00120 | CYP7A1, CYP27A1 | Cholestasis, gallstones |
| Ether lipid metabolism | hsa00565 | AGPS, GNPAT | Rhizomelic chondrodysplasia |
# Map lipids to pathways
kegg_search_pathway(keyword="sphingolipid") # → hsa00600
KEGG_get_pathway_genes(pathway_id="hsa00600") # → SMPD1, CERS1, ...
For each lipid or lipid enzyme, resolve the gene/protein record first if needed, then check disease links:
LipidMaps_get_gene(input_value="SMPD1", input_item="gene_symbol") # LMPD record: name, synonyms, chromosome
# verified live example: input_value="FASN" → {"gene_symbol": "Fasn", "lmp_id": "LMP001577", "gene_name": "fatty acid synthase", ...}
LipidMaps_get_protein(input_value="P49327", input_item="uniprot_id") # adds UniProt/RefSeq xrefs + sequence
CTD_get_gene_diseases(input_terms="SMPD1") # sphingomyelinase → Niemann-Pick
DisGeNET_search_gene(gene="SMPD1") # broader disease associations
HMDB_get_metabolite(compound_name="ceramide") # metabolite-disease links
PubMed_search_articles(query="ceramide biomarker Alzheimer") # clinical evidence
Disease context: Ceramide elevation → apoptosis, Alzheimer's, insulin resistance. Sphingomyelin depletion → Niemann-Pick. Oxidized phospholipids → CVD. Altered bile acid ratios → NAFLD, cholestasis. Eicosanoid elevation → inflammation. Always verify via HMDB or CTD rather than relying on memory.
Computational procedure: Lipid class enrichment analysis
# When user provides a list of significantly changed lipids
import pandas as pd
from scipy.stats import fisher_exact
# Input: list of changed lipids with LIPID MAPS categories
changed = pd.DataFrame({
'lipid': ['Cer(d18:1/16:0)', 'SM(d18:1/16:0)', 'PC(16:0/18:1)', 'LPC(18:0)'],
'category': ['SP', 'SP', 'GP', 'GP'],
'direction': ['up', 'down', 'unchanged', 'up'],
'fold_change': [2.1, 0.5, 1.1, 1.8]
})
# Count changed vs unchanged per category
from collections import Counter
changed_cats = Counter(changed[changed['direction'] != 'unchanged']['category'])
total_cats = Counter(changed['category'])
# Report
print("Lipid class enrichment:")
for cat in total_cats:
n_changed = changed_cats.get(cat, 0)
n_total = total_cats[cat]
print(f" {cat}: {n_changed}/{n_total} changed")
# Interpretation
if changed_cats.get('SP', 0) / max(total_cats.get('SP', 1), 1) > 0.5:
print("→ Sphingolipid metabolism is significantly altered")
print(" Consider: apoptosis, neurodegeneration, insulin resistance")
Report structure: