# Compound Class Annotation Workflow

> Use when you want chemical-class-level annotations for untargeted LC-MS/MS features rather than exact structures — determine molecular formulas with SIRIUS, compute CSI:FingerID fingerprints, and predict compound classes with CANOPUS and NPClassifier (superclass / class / pathway), producing a class-annotated feature table for chemical-inventory and enrichment analysis.

- Skill: `holobiomicslab/compound-class-annotation-workflow` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add holobiomicslab/compound-class-annotation-workflow`
- Raw SKILL.md: https://api.skillmd.com/api/skills/holobiomicslab/compound-class-annotation-workflow/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- License: CC-BY-4.0
- Author: HolobiomicsLab (https://skillmd.com/u/holobiomicslab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/holobiomicslab/compound-class-annotation-workflow

---


# Compound-Class Annotation (SIRIUS formula -> CANOPUS / NPClassifier class)

## Summary

MS2 in, a chemical-class-annotated table out: SIRIUS molecular formula, molecular fingerprint, and CANOPUS / NPClassifier compound-class prediction per feature.


## When to use

Use when you want chemical-class-level annotations for untargeted LC-MS/MS features rather than exact structures — determine molecular formulas with SIRIUS, compute CSI:FingerID fingerprints, and predict compound classes with CANOPUS and NPClassifier (superclass / class / pathway), producing a class-annotated feature table for chemical-inventory and enrichment analysis.


## When NOT to use

- The data is not LC-MS.
- You need a single atomic step, not the full pipeline (use the leaf skill directly via the router).

## Stages

### Stage 1 — preprocess

**Goal:** raw mzML -> feature table + SIRIUS-flavour MS2 export

**EDAM operation:** operation_3215

**Inputs:** mzML · **Outputs:** feature-table, mgf/sirius

**Candidate leaf skills:** `peak-detection-and-mass-alignment` (primary), `mass-spectrometry-feature-table-construction`, `cross-sample-feature-alignment`, `lcms-feature-table-construction`, `mass-spectrometry-feature-annotation`

**Tools (primary):** MZmine2, Optimus, OpenMS

**Other candidate tools:** Python, pyOpenMS, MSConvert, PFΔScreen, Centwave, FeatureFinderMetabo, ADAP, ProteoWizard, q2-qemistree, SIRIUS, GNPS FBMN, Classyfire

**Grounding:** 4 KB(s); DOIs: 10.1007/s00216-023-05070-2, 10.1021/acs.analchem.1c02687, 10.1021/acs.jnatprod.7b00737, 10.1038/s41589-020-00677-3

### Stage 2 — formula

**Goal:** MS2 spectra -> molecular formula (SIRIUS + ZODIAC re-ranking)

**EDAM operation:** operation_3860

**Inputs:** mgf/sirius · **Outputs:** tsv

**Candidate leaf skills:** `molecular-formula-prediction-from-fragmentation` (primary), `energy-based-formula-scoring`, `neural-network-based-molecular-formula-inference`, `molecular-formula-assignment`, `fragment-peak-subformula-enumeration`

**Tools (primary):** msfiddle, FIDDLE, BUDDY, SIRIUS

**Other candidate tools:** MIST-CF, MIST, SCARF

**Grounding:** 2 KB(s); DOIs: 10.1021/acs.jcim.3c01082, 10.1038/s41467-025-66060-9

### Stage 3 — fingerprint

**Goal:** formula + MS2 -> molecular fingerprint (CSI:FingerID)

**EDAM operation:** operation_3801

**Inputs:** tsv · **Outputs:** tsv

**Candidate leaf skills:** `molecular-fingerprint-parsing` (primary), `spectrum-query-formatting`, `spectrum-fingerprint-contrastive-learning`, `molecular-fingerprint-generation`, `molecular-fingerprint-representation-learning`

**Tools (primary):** CSI:FingerID, SIRIUS, CANOPUS

**Other candidate tools:** MIST, MIST-CF, RDKit, matchms, Python, MS2DeepScore, Spec2Vec, scikit-learn, pubchempy, TensorFlow, PyTorch, PyFingerprint, Open Babel

**Grounding:** 4 KB(s); DOIs: 10.1007/s11306-020-01726-7, 10.1038/s41587-021-01045-9, 10.1038/s42256-023-00708-3, 10.1186/s13321-021-00558-4

### Stage 4 — classify

**Goal:** fingerprint -> compound class (CANOPUS / NPClassifier: superclass/class/pathway)

**EDAM operation:** operation_0224

**Inputs:** tsv · **Outputs:** tsv

**Candidate leaf skills:** `natural-product-classification-prediction` (primary), `chemical-classification-scheme-validation`, `chemical-ontology-mapping`, `classyfire-taxonomy-assignment`, `chemical-class-metadata-integration`

**Tools (primary):** Python, Docker, docker-compose, TensorFlow 2.3.0, Keras, TensorFlow Serving, NP Classifier Repository

**Other candidate tools:** NPClassifier, SIRIUS, GNPS, ClassyFire, ConCISE, Fiehn Labs ClassyFire Batch, CANOPUS, PubChem standardization, rcdk, pyMolNetEnhancer, RMolNetEnhancer, Cytoscape

**Grounding:** 4 KB(s); DOIs: 10.1021/acs.jnatprod.1c00399, 10.1038/s41592-023-02143-z, 10.3390/metabo12121275, 10.3390/metabo9070144

### Stage 5 — consolidate

**Goal:** consolidate formula + fingerprint + class into a class-annotated feature table

**EDAM operation:** operation_3434

**Inputs:** feature-table, tsv · **Outputs:** tsv

**Candidate leaf skills:** `consensus-classification-reconciliation` (primary), `consensus-taxonomy-generation`, `annotation-table-quality-control`, `sample-centric-metabolite-annotation`, `taxonomic-classification-merging`

**Tools (primary):** SIRIUS, NPClassifier, GNPS, ClassyFire, ConCISE

**Other candidate tools:** CANOPUS, Fiehn Labs ClassyFire Batch, Inventa, ENPKG, MZmine, enpkg_mn_isdb_taxo, enpkg_sirius_canopus, enpkg_meta_analysis, Open Tree of Life, Wikidata, ChEMBL, pandas

**Grounding:** 4 KB(s); DOIs: 10.1021/acscentsci.3c00800, 10.1038/s41467-021-23953-9, 10.3389/fmolb.2022.1028334, 10.3390/metabo12121275

## Grounding

Each stage carries the `kb_slugs`/`dois` of the leaves it draws on. Ground any stage against its source paper with the collection's `/ground` command or `bin/perspicacite_kb_bind.py` (Perspicacité KB; serverless local-clone fallback).

## Verification contract

`workflow.yaml` is gradable by `asb solve-workflow` (checkpoint mode). Each stage declares typed outputs; the final stage emits the master deliverable.

## Provenance

Generated by `compose_workflows.py` (semantic binding + EDAM-aware primary selection). `derived_from_workflows` lists ASB per-paper workflows whose structure corroborated this pipeline — the eval-ablation set (SPEC §8). Staging only; promote via `release_gate.py`.

