Use when a web application receives mass spectrometry data through heterogeneous identifier formats and must automatically determine which loader (Task ID, USI, or FBMN) should process the input.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add HolobiomicsLab/asb-skill-collections --skill input-type-classification --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Input Type Classification?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/holobiomicslab-input-type-classification-asb-skill-collections)More formats (shields.io, HTML) on the badges page.
---
name: input-type-classification
description: Use when a web application receives mass spectrometry data through heterogeneous identifier formats and must automatically determine which loader (Task ID, USI, or FBMN) should process the input.
license: CC-BY-4.0
metadata:
edam_operation: http://edamontology.org/operation_3763
edam_topics:
- http://edamontology.org/topic_3520
- http://edamontology.org/topic_3375
tools:
- Flask
- dash_get_sets.py
- usi.py
techniques:
- LC-MS
derived_from:
- doi: 10.1021/jasms.5c00237
title: MMSA
evidence_spans: []
claims: []
provenance:
collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v2
assembled_by: scripts/collect_metabolomics_collection.py
sources:
- build: coll_mmsa_cq
doi: 10.1021/jasms.5c00237
title: MMSA
dedup_kept_from: coll_mmsa_cq
schema_version: 0.2.0
attribution:
generator: AgenticScienceBuilder
original_doi: 10.1021/jasms.5c00237
all_source_dois:
- 10.1021/jasms.5c00237
zenodo_doi: 10.5281/zenodo.20794027
curators: []
promoter: Louis-Félix Nothias
sponsor: CNRS & Université Côte d'Azur
---
# input-type-classification
## Summary
Classify mass spectrometry data input identifiers (Task ID, USI, or FBMN format) to route them to the correct data loader and retrieval pathway. This skill enables a web application to accept multiple standardized input formats and dispatch them to specialized parsers without manual user intervention.
## When to use
Apply this skill when a web application receives mass spectrometry data through heterogeneous identifier formats and must automatically determine which loader (Task ID, USI, or FBMN) should process the input. Use it at the entry point of data ingestion pipelines where users may provide data in any of the supported formats interchangeably.
## When NOT to use
- Input is already a fully deserialized mass spectrometry dataset object (e.g., already loaded into memory or a feature table)
- Input identifier format is not one of the three supported types (Task ID, USI, FBMN) and requires a custom or external loader
- Data source is pre-cached or pre-indexed and requires no runtime classification or retrieval
## Inputs
- Mass spectrometry data input identifier string (Task ID, USI, or FBMN format)
- Identifier format specification or pattern matching rules
## Outputs
- Classified input type label (Task ID, USI, or FBMN)
- Routed and deserialized mass spectrometry dataset object
- Validation status (pass/fail) indicating dataset completeness
## How to apply
Parse the incoming identifier string to extract its structural features: Task ID identifiers follow a GNPS Task ID pattern, USI identifiers begin with the mzspec: prefix and contain scan= and task-id references, and FBMN identifiers reference Feature-Based Molecular Networking tasks. Validate the parsed format against known patterns for each input type. Route the classified identifier to its corresponding loader (Task ID loader, USI loader, or FBMN loader), which then retrieves and deserializes the mass spectrometry data into a standardized dataset object. Validate the loaded dataset for completeness (presence of required spectra, m/z arrays, intensity arrays) before returning. The rationale is that each format contains metadata that uniquely identifies its source repository and retrieval method, allowing deterministic routing without ambiguity.
## Related tools
- **Flask** (Web framework for routing HTTP requests and invoking the classification logic)
- **dash_get_sets.py** (Data input interface module that orchestrates identifier validation and routing) — github.com/Wang-Bioinformatics-Lab/NetworkFamily_MultipleAlignment_Website
- **usi.py** (USI-specific processing utilities for parsing and validating Universal Spectrum Identifiers) — github.com/Wang-Bioinformatics-Lab/NetworkFamily_MultipleAlignment_Website
## Evaluation signals
- Classified input type matches the actual format of the input identifier (verify by regex or pattern matching against known format signatures)
- Routed loader module is the correct one for the classified type (check that Task ID inputs invoke Task ID loader, USI inputs invoke USI loader, etc.)
- Returned dataset object contains all required fields: precursor m/z array, scan identifiers, and intensity arrays for each spectrum
- Validation status is 'pass' only when dataset is non-empty and contains at least one complete spectrum with valid m/z and intensity data
- No dataset is returned or validation fails if the identifier cannot be parsed or the loader returns incomplete data
## Limitations
- Classification relies on deterministic pattern matching; malformed identifiers that partially resemble multiple formats may be misclassified
- The skill assumes identifier formats are mutually exclusive; if a future format shares syntax with an existing one, disambiguation logic must be refined
- No changelog is available to track format specification changes or breaking updates to identifier syntax across GNPS versions
- Classification does not validate that the identifier actually exists in the source repository; it only confirms syntactic correctness
## Evidence
- [other] Parse and validate the identifier format to determine input type. 3. Route to the appropriate loader: Task ID loader, USI loader, or FBMN loader based on identifier classification.: "Parse and validate the identifier format to determine input type. 3. Route to the appropriate loader: Task ID loader, USI loader, or FBMN loader based on identifier classification."
- [other] The application accepts mass spectrometry data through various formats including Task ID, USI, or FBMN, enabling multiple input pathways for data ingestion.: "The application accepts mass spectrometry data through various formats including Task ID, USI, or FBMN, enabling multiple input pathways for data ingestion."
- [readme] users to input mass spectrometry data through various formats (Task ID, USI, or FBMN): "users to input mass spectrometry data through various formats (Task ID, USI, or FBMN)"
- [readme] Each USI should follow the format: `mzspec:GNPS2:TASK-<task-id>-nf_output/clustering/specs_ms.mgf:scan:<scan-number>`: "Each USI should follow the format: `mzspec:GNPS2:TASK-<task-id>-nf_output/clustering/specs_ms.mgf:scan:<scan-number>`"
- [other] Execute the selected loader to retrieve and deserialize the mass spectrometry data into a standardized dataset object.: "Execute the selected loader to retrieve and deserialize the mass spectrometry data into a standardized dataset object."
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!