Use when you need to understand how a data-processing software system discriminates among multiple input types (LC, GC, IMS, MALDI) and selectively instantiates processing pipelines.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add HolobiomicsLab/asb-skill-collections --skill conditional-routing-logic-extraction --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Conditional Routing Logic Extraction?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/holobiomicslab-conditional-routing-logic-extraction-9271fecf)More formats (shields.io, HTML) on the badges page.
---
name: conditional-routing-logic-extraction
description: Use when you need to understand how a data-processing software system discriminates among multiple input types (LC, GC, IMS, MALDI) and selectively instantiates processing pipelines.
license: CC-BY-4.0
metadata:
edam_operation: http://edamontology.org/operation_2409
edam_topics:
- http://edamontology.org/topic_3520
- http://edamontology.org/topic_0121
tools:
- mzmine
- JDK 25
- JavaFX 24
techniques:
- LC-MS
- GC-MS
- CE-MS
- ion-mobility-MS
derived_from:
- doi: 10.1038/s41467-021-23953-9
title: iimn
evidence_spans:
- mzmine is an open-source software for mass spectrometry data processing
- JDK version-25-blue
- JavaFX version-24
claims: []
provenance:
collection: https://w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v2
assembled_by: scripts/collect_metabolomics_collection.py
sources:
- build: coll_iimn
doi: 10.1038/s41467-021-23953-9
title: iimn
dedup_kept_from: coll_iimn
schema_version: 0.2.0
attribution:
generator: AgenticScienceBuilder
original_doi: 10.1038/s41467-021-23953-9
all_source_dois:
- 10.1038/s41467-021-23953-9
zenodo_doi: 10.5281/zenodo.20794027
curators: []
promoter: Louis-Félix Nothias
sponsor: CNRS & Université Côte d'Azur
---
# conditional-routing-logic-extraction
## Summary
Extract and synthesize the conditional branching logic that routes mass spectrometry input data (LC, GC, IMS, MS imaging) to appropriate processing modules in mzmine. This skill reconstructs control-flow pathways and dispatch conditions to understand how data type declarations trigger selective module initialization.
## When to use
Apply this skill when you need to understand how a data-processing software system discriminates among multiple input types (LC, GC, IMS, MALDI) and selectively instantiates processing pipelines. Use it when reverse-engineering module dispatch in mzmine or similar MS data processing frameworks where input classification must precede module routing.
## When NOT to use
- Input is not a multi-pathway data processing framework (e.g., single-pipeline tools)
- Data type classification is implicit or undocumented in the codebase
- The target software does not support selective module dispatch across instrument types
## Inputs
- mzmine source repository (GitHub: mzmine/mzmine)
- Data-type declaration interface/enum (LC, GC, IMS, MS Imaging)
- Module initialization code and factory patterns
- Conditional branching statements (if/switch logic)
## Outputs
- Control-flow diagram of dispatch routing
- Pseudocode representation of conditional branching
- Mapping of data types to processing modules
- Documented dispatch conditions and fallback pathways
## How to apply
Begin by locating the main entry point and module initialization code in the mzmine repository (github.com/mzmine/mzmine). Identify the data-type declaration interface or enum that classifies input as LC, GC, IMS, or MS Imaging. Trace conditional branching logic (if/switch statements or factory pattern implementations) that map each data type to its corresponding processing module, documenting dispatch conditions, parameter checks, and fallback behavior. Extract the routing conditions and synthesize them as a control-flow diagram or pseudocode, ensuring each pathway and its triggering criteria are explicitly documented.
## Related tools
- **mzmine** (Open-source MS data processing framework to be reverse-engineered for conditional routing logic across LC, GC, IMS, and MALDI input types) — https://github.com/mzmine/mzmine
- **JDK 25** (Java Development Kit required for parsing and analyzing mzmine source code)
- **JavaFX 24** (GUI framework used in mzmine; relevant for understanding UI-driven data type selection and module dispatch)
## Evaluation signals
- All documented data types (LC, GC, IMS, MS imaging) have corresponding conditional branches identified in the codebase
- Each dispatch condition is traceable from data-type declaration to module instantiation
- Control-flow diagram includes all fallback and error-handling pathways
- Synthesized pseudocode can be validated against actual source code by line-by-line comparison
- No orphaned conditional branches exist (every branch must terminate in a module instantiation or documented fallback)
## Limitations
- No changelog is available in the repository, making it difficult to track historical changes to dispatch logic
- Conditional routing may be distributed across multiple files or layers, requiring comprehensive code traversal
- Factory pattern or reflection-based dispatch may obscure explicit conditional statements, complicating extraction
- Dynamic module registration or plugin systems may not be fully captured by static code analysis alone
## Evidence
- [intro] mzmine supports selective processing module dispatch across liquid chromatography (LC), gas chromatography (GC), ion mobility spectrometry (IMS), and MS imaging (e.g., MALDI) data types: "Support includes liquid chromatography (LC), gas chromatography (GC), ion mobility spectrometry (IMS), MS imaging (e.g., MALDI), and most MS instruments"
- [intro] mzmine provides extensible module architecture enabling flexible routing logic: "provide a user-friendly, flexible and easily extendable software with a complete set of modules covering the entire MS data analysis workflow"
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!